Skip to content

Commit

Permalink
datapath: Remove CAPWAP tunneling support.
Browse files Browse the repository at this point in the history
The CAPWAP implementation is just the encapsulation format and
therefore really not the full protocol.  While there were some
uses of it (primarily hardware support and UDP transport).  But
these are most likely better provided by VXLAN.

Following patch removes CAPWAP tunneling support.

Signed-off-by: Pravin B Shelar <[email protected]>
Acked-by: Jesse Gross <[email protected]>
  • Loading branch information
Pravin B Shelar committed Feb 19, 2013
1 parent 9e69bc5 commit 09538fd
Show file tree
Hide file tree
Showing 17 changed files with 13 additions and 1,020 deletions.
2 changes: 1 addition & 1 deletion FAQ
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ Q: What features are not available in the Open vSwitch kernel datapath

A: The kernel module in upstream Linux 3.3 and later does not include
tunnel virtual ports, that is, interfaces with type "gre",
"ipsec_gre", "gre64", "ipsec_gre64", "vxlan", or "capwap". It is
"ipsec_gre", "gre64", "ipsec_gre64", or "vxlan". It is
possible to create tunnels in Linux and attach them to Open vSwitch
as system devices. However, they cannot be dynamically created
through the OVSDB protocol or set the tunnel ids as a flow action.
Expand Down
1 change: 1 addition & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ post-v1.10.0
---------------------
- Stable bond mode has been removed.
- The autopath action has been removed.
- CAPWAP tunneling support removed.


v1.10.0 - xx xxx xxxx
Expand Down
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ vSwitch supports the following features:
* NIC bonding with or without LACP on upstream switch
* NetFlow, sFlow(R), and mirroring for increased visibility
* QoS (Quality of Service) configuration, plus policing
* GRE, GRE over IPSEC, CAPWAP, and VXLAN tunneling
* GRE, GRE over IPSEC, and VXLAN tunneling
* 802.1ag connectivity fault management
* OpenFlow 1.0 plus numerous extensions
* Transactional configuration database with C and Python bindings
Expand Down
77 changes: 0 additions & 77 deletions datapath/CAPWAP.txt

This file was deleted.

5 changes: 1 addition & 4 deletions datapath/Modules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ openvswitch_sources = \
tunnel.c \
vlan.c \
vport.c \
vport-capwap.c \
vport-gre.c \
vport-internal_dev.c \
vport-netdev.c \
Expand All @@ -31,13 +30,11 @@ openvswitch_headers = \
tunnel.h \
vlan.h \
vport.h \
vport-capwap.h \
vport-internal_dev.h \
vport-netdev.h

openvswitch_extras = \
README \
CAPWAP.txt
README

dist_sources = $(foreach module,$(dist_modules),$($(module)_sources))
dist_headers = $(foreach module,$(dist_modules),$($(module)_headers))
Expand Down
1 change: 0 additions & 1 deletion datapath/datapath.h
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ struct dp_upcall_info {
*/
struct ovs_net {
struct list_head dps;
struct vport_net vport_net;
};

extern int ovs_net_id;
Expand Down
1 change: 0 additions & 1 deletion datapath/linux/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
/tmp
/tunnel.c
/vlan.c
/vport-capwap.c
/vport-generic.c
/vport-gre.c
/vport-internal_dev.c
Expand Down
4 changes: 0 additions & 4 deletions datapath/tunnel.c
Original file line number Diff line number Diff line change
Expand Up @@ -799,7 +799,6 @@ struct vport *ovs_tnl_create(const struct vport_parms *parms,
struct vport *vport;
struct tnl_vport *tnl_vport;
struct tnl_mutable_config *mutable;
int initial_frag_id;
int err;

vport = ovs_vport_alloc(sizeof(struct tnl_vport), vport_ops, parms);
Expand All @@ -819,9 +818,6 @@ struct vport *ovs_tnl_create(const struct vport_parms *parms,
goto error_free_vport;
}

get_random_bytes(&initial_frag_id, sizeof(int));
atomic_set(&tnl_vport->frag_id, initial_frag_id);

err = tnl_set_config(ovs_dp_get_net(parms->dp), parms->options, tnl_ops,
NULL, mutable);
if (err)
Expand Down
8 changes: 0 additions & 8 deletions datapath/tunnel.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
*/
#define TNL_T_PROTO_GRE 0
#define TNL_T_PROTO_GRE64 1
#define TNL_T_PROTO_CAPWAP 2
#define TNL_T_PROTO_VXLAN 3

/* These flags are only needed when calling tnl_find_port(). */
Expand Down Expand Up @@ -147,13 +146,6 @@ struct tnl_vport {
const struct tnl_ops *tnl_ops;

struct tnl_mutable_config __rcu *mutable;

/*
* ID of last fragment sent (for tunnel protocols with direct support
* fragmentation). If the protocol relies on IP fragmentation then
* this is not needed.
*/
atomic_t frag_id;
};

struct vport *ovs_tnl_create(const struct vport_parms *, const struct vport_ops *,
Expand Down
Loading

0 comments on commit 09538fd

Please sign in to comment.