Skip to content

Commit

Permalink
tunnel: Drop 'base_flow' parameter from tnl_xlate_init().
Browse files Browse the repository at this point in the history
At the point when tnl_xlate_init() is called, all of the members that
tnl_xlate_init() examines in 'base_flow' have the same values in 'flow',
so there's no point in passing both.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
  • Loading branch information
blp committed Jul 24, 2015
1 parent 9055ca9 commit ad2e649
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 10 deletions.
2 changes: 1 addition & 1 deletion ofproto/ofproto-dpif-xlate.c
Original file line number Diff line number Diff line change
Expand Up @@ -4809,7 +4809,7 @@ xlate_actions(struct xlate_in *xin, struct xlate_out *xout)
}
is_icmp = is_icmpv4(flow) || is_icmpv6(flow);

tnl_may_send = tnl_xlate_init(&ctx.base_flow, flow, wc);
tnl_may_send = tnl_xlate_init(flow, wc);

ctx.recurse = 0;
ctx.resubmits = 0;
Expand Down
12 changes: 5 additions & 7 deletions ofproto/tunnel.c
Original file line number Diff line number Diff line change
Expand Up @@ -333,15 +333,14 @@ tnl_port_receive(const struct flow *flow) OVS_EXCLUDED(rwlock)
}

static bool
tnl_ecn_ok(const struct flow *base_flow, struct flow *flow,
struct flow_wildcards *wc)
tnl_ecn_ok(struct flow *flow, struct flow_wildcards *wc)
{
if (is_ip_any(base_flow)) {
if (is_ip_any(flow)) {
if ((flow->tunnel.ip_tos & IP_ECN_MASK) == IP_ECN_CE) {
if (wc) {
wc->masks.nw_tos |= IP_ECN_MASK;
}
if ((base_flow->nw_tos & IP_ECN_MASK) == IP_ECN_NOT_ECT) {
if ((flow->nw_tos & IP_ECN_MASK) == IP_ECN_NOT_ECT) {
VLOG_WARN_RL(&rl, "dropping tunnel packet marked ECN CE"
" but is not ECN capable");
return false;
Expand All @@ -360,8 +359,7 @@ tnl_ecn_ok(const struct flow *base_flow, struct flow *flow,
*
* Returns false if the packet must be dropped. */
bool
tnl_xlate_init(const struct flow *base_flow, struct flow *flow,
struct flow_wildcards *wc)
tnl_xlate_init(struct flow *flow, struct flow_wildcards *wc)
{
/* tnl_port_should_receive() examines the 'tunnel.ip_dst' field to
* determine the presence of the tunnel metadata. However, since tunnels'
Expand All @@ -385,7 +383,7 @@ tnl_xlate_init(const struct flow *base_flow, struct flow *flow,

memset(&wc->masks.pkt_mark, 0xff, sizeof wc->masks.pkt_mark);
}
if (!tnl_ecn_ok(base_flow, flow, wc)) {
if (!tnl_ecn_ok(flow, wc)) {
return false;
}

Expand Down
3 changes: 1 addition & 2 deletions ofproto/tunnel.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ int tnl_port_add(const struct ofport_dpif *, const struct netdev *,
void tnl_port_del(const struct ofport_dpif *);

const struct ofport_dpif *tnl_port_receive(const struct flow *);
bool tnl_xlate_init(const struct flow *base_flow, struct flow *flow,
struct flow_wildcards *);
bool tnl_xlate_init(struct flow *, struct flow_wildcards *);
odp_port_t tnl_port_send(const struct ofport_dpif *, struct flow *,
struct flow_wildcards *wc);

Expand Down

0 comments on commit ad2e649

Please sign in to comment.