On 9/27/18 7:08 PM, Hangbin Liu wrote:
> Phil pointed out that there is a mismatch between vxlan and geneve ttl 
> inherit.
> We should define it as a flag and use nla_put_flag to export this opiton.
> 
> Fixes: 8fd780698745b ("vxlan: fill ttl inherit info")

Wrong Fixes tag:

kenny:mgmt:iproute2-next.git$ git show 8fd780698745b
fatal: ambiguous argument '8fd780698745b': unknown revision or path not
in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

> Reported-by: Phil Sutter <p...@nwl.cc>
> Signed-off-by: Hangbin Liu <liuhang...@gmail.com>
> ---
>  drivers/net/vxlan.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
> index 2b8da2b..479dda4 100644
> --- a/drivers/net/vxlan.c
> +++ b/drivers/net/vxlan.c
> @@ -3539,7 +3539,7 @@ static size_t vxlan_get_size(const struct net_device 
> *dev)
>               nla_total_size(sizeof(__u32)) + /* IFLA_VXLAN_LINK */
>               nla_total_size(sizeof(struct in6_addr)) + /* 
> IFLA_VXLAN_LOCAL{6} */
>               nla_total_size(sizeof(__u8)) +  /* IFLA_VXLAN_TTL */
> -             nla_total_size(sizeof(__u8)) +  /* IFLA_VXLAN_TTL_INHERIT */
> +             nla_total_size(0) +             /* IFLA_VXLAN_TTL_INHERIT */
>               nla_total_size(sizeof(__u8)) +  /* IFLA_VXLAN_TOS */
>               nla_total_size(sizeof(__be32)) + /* IFLA_VXLAN_LABEL */
>               nla_total_size(sizeof(__u8)) +  /* IFLA_VXLAN_LEARNING */
> @@ -3604,8 +3604,6 @@ static int vxlan_fill_info(struct sk_buff *skb, const 
> struct net_device *dev)
>       }
>  
>       if (nla_put_u8(skb, IFLA_VXLAN_TTL, vxlan->cfg.ttl) ||
> -         nla_put_u8(skb, IFLA_VXLAN_TTL_INHERIT,
> -                    !!(vxlan->cfg.flags & VXLAN_F_TTL_INHERIT)) ||
>           nla_put_u8(skb, IFLA_VXLAN_TOS, vxlan->cfg.tos) ||
>           nla_put_be32(skb, IFLA_VXLAN_LABEL, vxlan->cfg.label) ||
>           nla_put_u8(skb, IFLA_VXLAN_LEARNING,
> @@ -3650,6 +3648,10 @@ static int vxlan_fill_info(struct sk_buff *skb, const 
> struct net_device *dev)
>           nla_put_flag(skb, IFLA_VXLAN_REMCSUM_NOPARTIAL))
>               goto nla_put_failure;
>  
> +     if (vxlan->cfg.flags & VXLAN_F_TTL_INHERIT &&
> +         nla_put_flag(skb, IFLA_VXLAN_TTL_INHERIT))
> +             goto nla_put_failure;
> +
>       return 0;
>  
>  nla_put_failure:
> 

Reply via email to