On Nov 6, 2012, at 6:50 PM, Jesse Gross <je...@nicira.com> wrote: > Tunnel ports now always include full outer IP information, even if > userspace can't understand it. Since our flows our exact match this > information must also be provided when setting up flows. Since flows > with only OVS_KEY_ATTR_TUN_ID keys don't contain all of this information > they can never be hit and we should just reject them at setup time. > > Signed-off-by: Jesse Gross <je...@nicira.com> > --- > datapath/flow.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/datapath/flow.c b/datapath/flow.c > index 2acdd05..f33760a 100644 > --- a/datapath/flow.c > +++ b/datapath/flow.c > @@ -1041,14 +1041,11 @@ int ovs_flow_from_nlattrs(struct sw_flow_key *swkey, > int *key_lenp, > if (tun_id != tun_key->tun_id) > return -EINVAL; > > - memcpy(&swkey->phy.tun.tun_key, tun_key, > sizeof(swkey->phy.tun.tun_key)); > - attrs &= ~(1ULL << OVS_KEY_ATTR_TUN_ID); > - attrs &= ~(1ULL << OVS_KEY_ATTR_IPV4_TUNNEL); > - } else if (attrs & (1ULL << OVS_KEY_ATTR_TUN_ID)) { > - swkey->phy.tun.tun_key.tun_id = > nla_get_be64(a[OVS_KEY_ATTR_TUN_ID]); > - swkey->phy.tun.tun_key.tun_flags |= OVS_FLOW_TNL_F_KEY; > + memcpy(&swkey->phy.tun.tun_key, tun_key, > + sizeof(swkey->phy.tun.tun_key)); > > attrs &= ~(1ULL << OVS_KEY_ATTR_TUN_ID); > + attrs &= ~(1ULL << OVS_KEY_ATTR_IPV4_TUNNEL); > } else if (attrs & (1ULL << OVS_KEY_ATTR_IPV4_TUNNEL)) { > struct ovs_key_ipv4_tunnel *tun_key; > tun_key = nla_data(a[OVS_KEY_ATTR_IPV4_TUNNEL]); > @@ -1056,7 +1053,9 @@ int ovs_flow_from_nlattrs(struct sw_flow_key *swkey, > int *key_lenp, > if (!tun_key->ipv4_dst) > return -EINVAL; > > - memcpy(&swkey->phy.tun.tun_key, tun_key, > sizeof(swkey->phy.tun.tun_key)); > + memcpy(&swkey->phy.tun.tun_key, tun_key, > + sizeof(swkey->phy.tun.tun_key)); > +
Why is this change needed? Otherwise: Acked-by: Kyle Mestery <kmest...@cisco.com> > attrs &= ~(1ULL << OVS_KEY_ATTR_IPV4_TUNNEL); > } > > -- > 1.7.9.5 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev