projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
debian: Add support for GRE-over-IPsec
[openvswitch]
/
datapath
/
datapath.c
diff --git
a/datapath/datapath.c
b/datapath/datapath.c
index 390acc8a4e5f8a029fbf207b58c6eb45593aab3a..e9f30f8a81da2bed3b2a2e58b0ca72f633512556 100644
(file)
--- a/
datapath/datapath.c
+++ b/
datapath/datapath.c
@@
-39,7
+39,6
@@
#include <linux/inetdevice.h>
#include <linux/list.h>
#include <linux/rculist.h>
#include <linux/inetdevice.h>
#include <linux/list.h>
#include <linux/rculist.h>
-#include <linux/workqueue.h>
#include <linux/dmi.h>
#include <net/inet_ecn.h>
#include <linux/compat.h>
#include <linux/dmi.h>
#include <net/inet_ecn.h>
#include <linux/compat.h>
@@
-552,15
+551,16
@@
void dp_process_received_packet(struct dp_port *p, struct sk_buff *skb)
if (!OVS_CB(skb)->flow) {
struct odp_flow_key key;
struct tbl_node *flow_node;
if (!OVS_CB(skb)->flow) {
struct odp_flow_key key;
struct tbl_node *flow_node;
+ bool is_frag;
/* Extract flow from 'skb' into 'key'. */
/* Extract flow from 'skb' into 'key'. */
- error = flow_extract(skb, p ? p->port_no : ODPP_NONE, &key);
+ error = flow_extract(skb, p ? p->port_no : ODPP_NONE, &key
, &is_frag
);
if (unlikely(error)) {
kfree_skb(skb);
return;
}
if (unlikely(error)) {
kfree_skb(skb);
return;
}
- if (
OVS_CB(skb)->
is_frag && dp->drop_frags) {
+ if (is_frag && dp->drop_frags) {
kfree_skb(skb);
stats_counter_off = offsetof(struct dp_stats_percpu, n_frags);
goto out;
kfree_skb(skb);
stats_counter_off = offsetof(struct dp_stats_percpu, n_frags);
goto out;
@@
-1325,6
+1325,7
@@
static int do_execute(struct datapath *dp, const struct odp_execute *execute)
struct sk_buff *skb;
struct sw_flow_actions *actions;
struct ethhdr *eth;
struct sk_buff *skb;
struct sw_flow_actions *actions;
struct ethhdr *eth;
+ bool is_frag;
int err;
err = -EINVAL;
int err;
err = -EINVAL;
@@
-1372,7
+1373,7
@@
static int do_execute(struct datapath *dp, const struct odp_execute *execute)
else
skb->protocol = htons(ETH_P_802_2);
else
skb->protocol = htons(ETH_P_802_2);
- err = flow_extract(skb, execute->in_port, &key);
+ err = flow_extract(skb, execute->in_port, &key
, &is_frag
);
if (err)
goto error_free_skb;
if (err)
goto error_free_skb;