#include "datapath.h"
#include "tunnel.h"
#include "vport.h"
-#include "vport-generic.h"
#define CAPWAP_SRC_PORT 58881
#define CAPWAP_DST_PORT 58882
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);
+#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 = {
}
if (key_present && mutable->key.daddr &&
- !(mutable->flags & TNL_F_IN_KEY_MATCH))
+ !(mutable->flags & TNL_F_IN_KEY_MATCH)) {
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;
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;
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_)
+#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;
.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