acked-by: Andy Zhou <az...@nicira.com>

On Thu, Aug 1, 2013 at 4:17 PM, Jesse Gross <je...@nicira.com> wrote:

> A tunnel value attribute is not allowed to have an empty IP destination
> address but this is legal for masks. This drops both the checks for
> serializing masks and also the sanity checks on them.
>
> Signed-off-by: Jesse Gross <je...@nicira.com>
> ---
>  datapath/flow.c | 5 ++++-
>  lib/odp-util.c  | 2 +-
>  2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/datapath/flow.c b/datapath/flow.c
> index ebe8fb3..457d123 100644
> --- a/datapath/flow.c
> +++ b/datapath/flow.c
> @@ -1248,6 +1248,9 @@ int ipv4_tun_from_nlattr(const struct nlattr *attr,
>                 return -EINVAL;
>         }
>
> +       if (is_mask)
> +               return 0;
> +
>
This change works. How about make the ttl check only apply to key,  like
ipv4_dst, so we don't have a normal return from the middle of the function?


>         if (!match->key->tun_key.ipv4_dst) {
>                 OVS_NLERR("IPv4 tunnel destination address is zero.\n");
>                 return -EINVAL;
> @@ -1701,7 +1704,7 @@ int ovs_flow_to_nlattrs(const struct sw_flow_key
> *swkey,
>         if (nla_put_u32(skb, OVS_KEY_ATTR_PRIORITY, output->phy.priority))
>                 goto nla_put_failure;
>
> -       if (swkey->tun_key.ipv4_dst &&
> +       if ((swkey->tun_key.ipv4_dst || is_mask) &&
>             ipv4_tun_to_nlattr(skb, &swkey->tun_key, &output->tun_key))
>                 goto nla_put_failure;
>
> diff --git a/lib/odp-util.c b/lib/odp-util.c
> index daf0c5c..50b7e81 100644
> --- a/lib/odp-util.c
> +++ b/lib/odp-util.c
> @@ -2338,7 +2338,7 @@ odp_flow_key_from_flow__(struct ofpbuf *buf, const
> struct flow *data,
>          nl_msg_put_u32(buf, OVS_KEY_ATTR_PRIORITY, data->skb_priority);
>      }
>
> -    if (flow->tunnel.ip_dst) {
> +    if (flow->tunnel.ip_dst || is_mask) {
>          tun_key_to_attr(buf, &data->tunnel);
>      }
>


> --
> 1.8.1.2
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to