Re: [PATCH] bridge: simplify a br_multicast_query_received() function call

From: Linus LÃssing
Date: Thu May 01 2014 - 23:14:53 EST


On Wed, Apr 23, 2014 at 02:47:48PM -0400, David Miller wrote:
> > --- a/net/bridge/br_multicast.c
> > +++ b/net/bridge/br_multicast.c
> > @@ -1282,8 +1282,7 @@ static int br_ip6_multicast_query(struct net_bridge *br,
> > goto out;
> > }
> >
> > - br_multicast_query_received(br, port, &br->ip6_querier,
> > - !ipv6_addr_any(&ip6h->saddr),
> > + br_multicast_query_received(br, port, &br->ip6_querier, 1,
> > is_general_query, max_delay);
> >
> > if (!group)
>
> This doesn't make any sense to me, is_general_query can be false at this
> point.

This change has nothing to do with is_general_query, the fifth
argument. I'm modifying the fourth, the is_saddr flag. As Hannes
has pointed out here [0], now that we make sure that we have a
link-local IPv6 address at the beginning of
br_ip6_multicast_query() this implies that the source address is
not '::'.

>
> Furthermore, even if your change would be correct, the argument is a
> boolean not an integer.

Semantically yes. Syntactically the fourth argument is an integer
at the moment (unnecessarily). Should I change 'int saddr' to
'bool saddr' while at it, within the same patch?

Cheers
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/