LGTM, Acked-by: Jarno Rajahalme <jrajaha...@nicira.com>
Jarno > On Dec 19, 2014, at 10:50 AM, Pravin B Shelar <pshe...@nicira.com> wrote: > > Linux stack do not allow GSO for packet with multiple > encapsulations. Therefore there was check in MPLS action > validation to detect such case, But is it not really required > since we already have check in action execution. > Removing this check also fixes bug in action copy to no skip > multiple set actions. > > Signed-off-by: Pravin B Shelar <pshe...@nicira.com> > Reported-by: Srinivas Neginhal <snegi...@vmware.com> > Bug #1367702 > --- > datapath/flow_netlink.c | 13 ++----------- > 1 files changed, 2 insertions(+), 11 deletions(-) > > diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c > index 4aae305..c611e71 100644 > --- a/datapath/flow_netlink.c > +++ b/datapath/flow_netlink.c > @@ -1764,7 +1764,6 @@ static int __ovs_nla_copy_actions(const struct nlattr > *attr, > __be16 eth_type, __be16 vlan_tci, bool log) > { > const struct nlattr *a; > - bool out_tnl_port = false; > int rem, err; > > if (depth >= SAMPLE_ACTION_DEPTH) > @@ -1807,7 +1806,6 @@ static int __ovs_nla_copy_actions(const struct nlattr > *attr, > case OVS_ACTION_ATTR_OUTPUT: > if (nla_get_u32(a) >= DP_MAX_PORTS) > return -EINVAL; > - out_tnl_port = false; > > break; > > @@ -1843,14 +1841,9 @@ static int __ovs_nla_copy_actions(const struct nlattr > *attr, > case OVS_ACTION_ATTR_PUSH_MPLS: { > const struct ovs_action_push_mpls *mpls = nla_data(a); > > - /* Networking stack do not allow simultaneous Tunnel > - * and MPLS GSO. > - */ > - if (out_tnl_port) > - return -EINVAL; > - > if (!eth_p_mpls(mpls->mpls_ethertype)) > return -EINVAL; > + > /* Prohibit push MPLS other than to a white list > * for packets that have a known tag order. > */ > @@ -1884,11 +1877,9 @@ static int __ovs_nla_copy_actions(const struct nlattr > *attr, > > case OVS_ACTION_ATTR_SET: > err = validate_set(a, key, sfa, > - &out_tnl_port, eth_type, log); > + &skip_copy, eth_type, log); > if (err) > return err; > - > - skip_copy = out_tnl_port; > break; > > case OVS_ACTION_ATTR_SAMPLE: > -- > 1.7.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev