From: David Ahern <[email protected]>
Date: Fri, 14 Oct 2016 12:29:19 -0700
> +/* can not be used in TCP layer after tcp_v6_fill_cb */
> +static inline bool inet6_exact_dif_match(struct net *net, struct sk_buff
> *skb)
> +{
> +#if defined(CONFIG_NET_L3_MASTER_DEV)
> + if (!net->ipv4.sysctl_tcp_l3mdev_accept &&
> + skb_l3mdev_slave(IP6CB(skb)->flags))
> + return true;
> +#endif
> + return false;
> +}
...
> +static inline bool skb_l3mdev_slave4(u16 flags)
> +{
> + return !!(flags & IPSKB_L3SLAVE);
> +}
I think this makes the code confusing.
Actually it has been from the beginning, because we have a generically
named "skb_l3mdev_slave()" helper which strictly operates on ipv6
state.
Please do something with the naming of these two helpers,
skb_l3mdev_slave() and skb_l3mdev_slave4(), so that it is clear that
they are ipv6 and ipv4 specific helpers, respectively.