projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vconn: New function vconn_transact_multiple_noreply().
[openvswitch]
/
datapath
/
tunnel.c
diff --git
a/datapath/tunnel.c
b/datapath/tunnel.c
index b6bd6f65dc0204e1422a83137c4b2981c9bfbe1c..ec3ad936f824fbaf6857a38ef9a79a1bb53b13df 100644
(file)
--- a/
datapath/tunnel.c
+++ b/
datapath/tunnel.c
@@
-29,6
+29,7
@@
#include <net/xfrm.h>
#include "actions.h"
#include <net/xfrm.h>
#include "actions.h"
+#include "checksum.h"
#include "datapath.h"
#include "table.h"
#include "tunnel.h"
#include "datapath.h"
#include "table.h"
#include "tunnel.h"
@@
-883,22
+884,17
@@
static struct tnl_cache *build_cache(struct vport *vport,
#endif
if (is_internal_dev(rt_dst(rt).dev)) {
#endif
if (is_internal_dev(rt_dst(rt).dev)) {
- int err;
+ struct odp_flow_key flow_key;
+ struct tbl_node *flow_node;
struct vport *vport;
struct vport *vport;
- struct dp_port *dp_port;
struct sk_buff *skb;
bool is_frag;
struct sk_buff *skb;
bool is_frag;
- struct odp_flow_key flow_key;
- struct tbl_node *flow_node;
+ int err;
vport = internal_dev_get_vport(rt_dst(rt).dev);
if (!vport)
goto done;
vport = internal_dev_get_vport(rt_dst(rt).dev);
if (!vport)
goto done;
- dp_port = vport_get_dp_port(vport);
- if (!dp_port)
- goto done;
-
skb = alloc_skb(cache->len, GFP_ATOMIC);
if (!skb)
goto done;
skb = alloc_skb(cache->len, GFP_ATOMIC);
if (!skb)
goto done;
@@
-906,13
+902,13
@@
static struct tnl_cache *build_cache(struct vport *vport,
__skb_put(skb, cache->len);
memcpy(skb->data, get_cached_header(cache), cache->len);
__skb_put(skb, cache->len);
memcpy(skb->data, get_cached_header(cache), cache->len);
- err = flow_extract(skb,
dp_
port->port_no, &flow_key, &is_frag);
+ err = flow_extract(skb,
v
port->port_no, &flow_key, &is_frag);
kfree_skb(skb);
if (err || is_frag)
goto done;
kfree_skb(skb);
if (err || is_frag)
goto done;
- flow_node = tbl_lookup(rcu_dereference(
dp_
port->dp->table),
+ flow_node = tbl_lookup(rcu_dereference(
v
port->dp->table),
&flow_key, flow_hash(&flow_key),
flow_cmp);
if (flow_node) {
&flow_key, flow_hash(&flow_key),
flow_cmp);
if (flow_node) {
@@
-1352,7
+1348,7
@@
struct vport *tnl_create(const struct vport_parms *parms,
int initial_frag_id;
int err;
int initial_frag_id;
int err;
- vport = vport_alloc(sizeof(struct tnl_vport), vport_ops);
+ vport = vport_alloc(sizeof(struct tnl_vport), vport_ops
, parms
);
if (IS_ERR(vport)) {
err = PTR_ERR(vport);
goto error;
if (IS_ERR(vport)) {
err = PTR_ERR(vport);
goto error;