From: Joe Stringer Date: Fri, 27 Sep 2013 00:18:30 +0000 (+0900) Subject: odp: Only pass vlan_tci to commit_vlan_action() X-Git-Tag: sliver-openvswitch-2.0.90-1~11^2~27 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=8fd16af26583ad6a3761e30aec458552213ec94a;p=sliver-openvswitch.git odp: Only pass vlan_tci to commit_vlan_action() This allows for future patches to pass different tci values to commit_vlan_action() without passing an entire flow structure. Signed-off-by: Joe Stringer Signed-off-by: Simon Horman Signed-off-by: Ben Pfaff --- diff --git a/lib/odp-util.c b/lib/odp-util.c index 85256b70b..0785c6a46 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -3318,10 +3318,10 @@ commit_set_ether_addr_action(const struct flow *flow, struct flow *base, } static void -commit_vlan_action(const struct flow *flow, struct flow *base, +commit_vlan_action(ovs_be16 vlan_tci, struct flow *base, struct ofpbuf *odp_actions, struct flow_wildcards *wc) { - if (base->vlan_tci == flow->vlan_tci) { + if (base->vlan_tci == vlan_tci) { return; } @@ -3331,15 +3331,15 @@ commit_vlan_action(const struct flow *flow, struct flow *base, nl_msg_put_flag(odp_actions, OVS_ACTION_ATTR_POP_VLAN); } - if (flow->vlan_tci & htons(VLAN_CFI)) { + if (vlan_tci & htons(VLAN_CFI)) { struct ovs_action_push_vlan vlan; vlan.vlan_tpid = htons(ETH_TYPE_VLAN); - vlan.vlan_tci = flow->vlan_tci; + vlan.vlan_tci = vlan_tci; nl_msg_put_unspec(odp_actions, OVS_ACTION_ATTR_PUSH_VLAN, &vlan, sizeof vlan); } - base->vlan_tci = flow->vlan_tci; + base->vlan_tci = vlan_tci; } static void @@ -3556,7 +3556,7 @@ commit_odp_actions(const struct flow *flow, struct flow *base, int *mpls_depth_delta) { commit_set_ether_addr_action(flow, base, odp_actions, wc); - commit_vlan_action(flow, base, odp_actions, wc); + commit_vlan_action(flow->vlan_tci, base, odp_actions, wc); commit_set_nw_action(flow, base, odp_actions, wc); commit_set_port_action(flow, base, odp_actions, wc); /* Committing MPLS actions should occur after committing nw and port