Message ID | 1445893306-31225-3-git-send-email-linville@tuxdriver.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
Hello. On 10/27/2015 12:01 AM, John W. Linville wrote: > Signed-off-by: John W. Linville <linville@tuxdriver.com> > --- > v7 -- initial version (numbered to match earlier patches in series) > > drivers/net/geneve.c | 28 +++++++++++++++++++++------- > 1 file changed, 21 insertions(+), 7 deletions(-) > > diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c > index 44e724508c55..be532d7b879d 100644 > --- a/drivers/net/geneve.c > +++ b/drivers/net/geneve.c > @@ -1006,16 +1006,30 @@ static int geneve_fill_metadata_dst(struct net_device *dev, struct sk_buff *skb) > struct geneve_dev *geneve = netdev_priv(dev); > struct rtable *rt; > struct flowi4 fl4; > +#if IS_ENABLED(CONFIG_IPV6) > + struct dst_entry *dst; > + struct flowi6 fl6; > +#endif > > - if (ip_tunnel_info_af(info) != AF_INET) > - return -EINVAL; > + if (ip_tunnel_info_af(info) == AF_INET) { > + rt = geneve_get_v4_rt(skb, dev, &fl4, info); > + if (IS_ERR(rt)) > + return PTR_ERR(rt); > > - rt = geneve_get_v4_rt(skb, dev, &fl4, info); > - if (IS_ERR(rt)) > - return PTR_ERR(rt); > + ip_rt_put(rt); > + info->key.u.ipv4.src = fl4.saddr; > +#if IS_ENABLED(CONFIG_IPV6) > + } else if (ip_tunnel_info_af(info) == AF_INET6) { > + dst = geneve_get_v6_dst(skb, dev, &fl6, info); > + if (IS_ERR(dst)) > + return PTR_ERR(dst); > + > + dst_release(dst); > + info->key.u.ipv6.src = fl6.saddr; > +#endif > + } else > + return -EINVAL; You need {} on this branch too, according to Documentation/CodingStyle. MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index 44e724508c55..be532d7b879d 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -1006,16 +1006,30 @@ static int geneve_fill_metadata_dst(struct net_device *dev, struct sk_buff *skb) struct geneve_dev *geneve = netdev_priv(dev); struct rtable *rt; struct flowi4 fl4; +#if IS_ENABLED(CONFIG_IPV6) + struct dst_entry *dst; + struct flowi6 fl6; +#endif - if (ip_tunnel_info_af(info) != AF_INET) - return -EINVAL; + if (ip_tunnel_info_af(info) == AF_INET) { + rt = geneve_get_v4_rt(skb, dev, &fl4, info); + if (IS_ERR(rt)) + return PTR_ERR(rt); - rt = geneve_get_v4_rt(skb, dev, &fl4, info); - if (IS_ERR(rt)) - return PTR_ERR(rt); + ip_rt_put(rt); + info->key.u.ipv4.src = fl4.saddr; +#if IS_ENABLED(CONFIG_IPV6) + } else if (ip_tunnel_info_af(info) == AF_INET6) { + dst = geneve_get_v6_dst(skb, dev, &fl6, info); + if (IS_ERR(dst)) + return PTR_ERR(dst); + + dst_release(dst); + info->key.u.ipv6.src = fl6.saddr; +#endif + } else + return -EINVAL; - ip_rt_put(rt); - info->key.u.ipv4.src = fl4.saddr; info->key.tp_src = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true); info->key.tp_dst = geneve->dst_port;
Signed-off-by: John W. Linville <linville@tuxdriver.com> --- v7 -- initial version (numbered to match earlier patches in series) drivers/net/geneve.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-)