[patch 1/2] net namespace : Add broadcasting

Dave Hansen haveblue at us.ibm.com
Mon Dec 18 15:45:09 PST 2006


On Fri, 2006-12-15 at 21:21 +0100, Daniel Lezcano wrote:
> Dave Hansen wrote:
> > On Fri, 2006-12-15 at 18:20 +0100, dlezcano at fr.ibm.com wrote:
> >
> >> --- 2.6.19-mm1.orig/net/ipv4/udp.c
> >> +++ 2.6.19-mm1/net/ipv4/udp.c
> >> @@ -306,9 +306,12 @@ static inline struct sock *udp_v4_mcast_
> >>                     (inet->dport != rmt_port && inet->dport)            ||
> >>                     (inet->rcv_saddr && inet->rcv_saddr != loc_addr)    ||
> >>                     ipv6_only_sock(s)                                   ||
> >> -                   !net_ns_match(sk->sk_net_ns, ns)                    ||
> >>                     (s->sk_bound_dev_if && s->sk_bound_dev_if != dif))
> >>                         continue;
> >> +#ifdef CONFIG_NET_NS
> >> +               if (!net_ns_sock_is_visible(sk, ns))
> >> +                       continue;
> >> +#endif
> >>
> >
> > Why is this #ifdef needed?  Isn't the stub in the header good enough?
> >
> I don't know

If you don't know, then you should stop writing code until you find
out!! :P

> What does the compiler ? Will it remove the "return 1"
> code from the stub if CONFIG_NET_NS is disabled because the test will be
> always true ?

Yes.  And if it is always false, it will kill the entire block of code.

Repeat after me:  I will not put #ifdefs in .c files.  I will not put
#ifdefs in .c files.  I will not put #ifdefs in .c files.

-- Dave




More information about the Containers mailing list