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: >