git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
openvswitch: Remove Linux bridge compatibility.
[sliver-openvswitch.git]
/
datapath
/
vport-capwap.c
diff --git
a/datapath/vport-capwap.c
b/datapath/vport-capwap.c
index
8a89180
..
f45d349
100644
(file)
--- a/
datapath/vport-capwap.c
+++ b/
datapath/vport-capwap.c
@@
-27,7
+27,6
@@
#include "datapath.h"
#include "tunnel.h"
#include "vport.h"
#include "datapath.h"
#include "tunnel.h"
#include "vport.h"
-#include "vport-generic.h"
#define CAPWAP_SRC_PORT 58881
#define CAPWAP_DST_PORT 58882
#define CAPWAP_SRC_PORT 58881
#define CAPWAP_DST_PORT 58882
@@
-143,7
+142,11
@@
static struct sk_buff *defrag(struct sk_buff *, bool frag_last);
static void capwap_frag_init(struct inet_frag_queue *, void *match);
static unsigned int capwap_frag_hash(struct inet_frag_queue *);
static void capwap_frag_init(struct inet_frag_queue *, void *match);
static unsigned int capwap_frag_hash(struct inet_frag_queue *);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
static int capwap_frag_match(struct inet_frag_queue *, void *match);
static int capwap_frag_match(struct inet_frag_queue *, void *match);
+#else
+static bool capwap_frag_match(struct inet_frag_queue *, void *match);
+#endif
static void capwap_frag_expire(unsigned long ifq);
static struct inet_frags frag_state = {
static void capwap_frag_expire(unsigned long ifq);
static struct inet_frags frag_state = {
@@
-334,8
+337,10
@@
static int capwap_rcv(struct sock *sk, struct sk_buff *skb)
}
if (key_present && mutable->key.daddr &&
}
if (key_present && mutable->key.daddr &&
- !(mutable->flags & TNL_F_IN_KEY_MATCH))
+ !(mutable->flags & TNL_F_IN_KEY_MATCH))
{
key_present = false;
key_present = false;
+ key = 0;
+ }
tnl_tun_key_init(&tun_key, iph, key, key_present ? OVS_TNL_F_KEY : 0);
OVS_CB(skb)->tun_key = &tun_key;
tnl_tun_key_init(&tun_key, iph, key, key_present ? OVS_TNL_F_KEY : 0);
OVS_CB(skb)->tun_key = &tun_key;
@@
-767,8
+772,7
@@
static struct sk_buff *defrag(struct sk_buff *skb, bool frag_last)
u16 frag_off;
struct frag_queue *fq;
u16 frag_off;
struct frag_queue *fq;
- if (atomic_read(&ns_frag_state->mem) > ns_frag_state->high_thresh)
- inet_frag_evictor(ns_frag_state, &frag_state);
+ inet_frag_evictor(ns_frag_state, &frag_state, false);
match.daddr = iph->daddr;
match.saddr = iph->saddr;
match.daddr = iph->daddr;
match.saddr = iph->saddr;
@@
-802,7
+806,11
@@
static unsigned int capwap_frag_hash(struct inet_frag_queue *ifq)
return frag_hash(&ifq_cast(ifq)->match);
}
return frag_hash(&ifq_cast(ifq)->match);
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
static int capwap_frag_match(struct inet_frag_queue *ifq, void *a_)
static int capwap_frag_match(struct inet_frag_queue *ifq, void *a_)
+#else
+static bool capwap_frag_match(struct inet_frag_queue *ifq, void *a_)
+#endif
{
struct frag_match *a = a_;
struct frag_match *b = &ifq_cast(ifq)->match;
{
struct frag_match *a = a_;
struct frag_match *b = &ifq_cast(ifq)->match;
@@
-838,9
+846,6
@@
const struct vport_ops ovs_capwap_vport_ops = {
.get_addr = ovs_tnl_get_addr,
.get_options = ovs_tnl_get_options,
.set_options = ovs_tnl_set_options,
.get_addr = ovs_tnl_get_addr,
.get_options = ovs_tnl_get_options,
.set_options = ovs_tnl_set_options,
- .get_dev_flags = ovs_vport_gen_get_dev_flags,
- .is_running = ovs_vport_gen_is_running,
- .get_operstate = ovs_vport_gen_get_operstate,
.send = ovs_tnl_send,
};
#else
.send = ovs_tnl_send,
};
#else