Message ID | 1464057597-3648-1-git-send-email-yanhaishuang@cmss.chinamobile.com |
---|---|
State | Rejected, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, 2016-05-24 at 10:39 +0800, Haishuang Yan wrote: > For ipv6 case, enclose the code block in macro IS_ENABLED(CONFIG_IPV6). > > --- > Changes in v2: > - Place the "#if IS_ENABLED" block before the "} else if > (..) {" piece and the "#endif" before the closing brace and this > becomes much easier to look at. _Why_ is this patch needed ? Please describe in the changelog what _actual_ problem you are trying to address. We have many points in the kernel using ipv6_get_dsfield() even if CONFIG_IPV6=n, and it seems fine to me at least. Thanks.
> On May 24, 2016, at 11:14 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > > On Tue, 2016-05-24 at 10:39 +0800, Haishuang Yan wrote: >> For ipv6 case, enclose the code block in macro IS_ENABLED(CONFIG_IPV6). >> >> --- >> Changes in v2: >> - Place the "#if IS_ENABLED" block before the "} else if >> (..) {" piece and the "#endif" before the closing brace and this >> becomes much easier to look at. > > _Why_ is this patch needed ? > > Please describe in the changelog what _actual_ problem you are trying to > address. > > We have many points in the kernel using ipv6_get_dsfield() even if > CONFIG_IPV6=n, and it seems fine to me at least. > > Thanks. > > > Yes, you’re right, but I think add this patch seems more reasonable in coding. Thanks for your reviewing.
From: 严海双 <yanhaishuang@cmss.chinamobile.com> Date: Tue, 24 May 2016 11:55:31 +0800 > >> On May 24, 2016, at 11:14 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: >> >> On Tue, 2016-05-24 at 10:39 +0800, Haishuang Yan wrote: >>> For ipv6 case, enclose the code block in macro IS_ENABLED(CONFIG_IPV6). >>> >>> --- >>> Changes in v2: >>> - Place the "#if IS_ENABLED" block before the "} else if >>> (..) {" piece and the "#endif" before the closing brace and this >>> becomes much easier to look at. >> >> _Why_ is this patch needed ? >> >> Please describe in the changelog what _actual_ problem you are trying to >> address. >> >> We have many points in the kernel using ipv6_get_dsfield() even if >> CONFIG_IPV6=n, and it seems fine to me at least. >> >> Thanks. >> >> >> > > Yes, you’re right, but I think add this patch seems more reasonable in coding. No, it isn't more reasonable at all. We have the backup implementations when CONFIG_IPV6 is disabled _EXACTLY_ to avoid ifdef crap like this in C files.
diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index a69ed94..4256349 100644 --- a/net/ipv4/ip_tunnel.c +++ b/net/ipv4/ip_tunnel.c @@ -665,9 +665,11 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev, if (skb->protocol == htons(ETH_P_IP)) { tos = inner_iph->tos; connected = false; +#if IS_ENABLED(CONFIG_IPV6) } else if (skb->protocol == htons(ETH_P_IPV6)) { tos = ipv6_get_dsfield((const struct ipv6hdr *)inner_iph); connected = false; +#endif } }
For ipv6 case, enclose the code block in macro IS_ENABLED(CONFIG_IPV6). --- Changes in v2: - Place the "#if IS_ENABLED" block before the "} else if (..) {" piece and the "#endif" before the closing brace and this becomes much easier to look at. Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com> --- net/ipv4/ip_tunnel.c | 2 ++ 1 file changed, 2 insertions(+)