lkml.org 
[lkml]   [2016]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: net: vrf: Handle ipv6 multicast and link-local addresses
From
Date
On 8/3/16 2:27 PM, Geert Uytterhoeven wrote:
> On Wed, Aug 3, 2016 at 10:11 PM, David Ahern <dsa@cumulusnetworks.com> wrote:
>> On 8/3/16 1:57 PM, Geert Uytterhoeven wrote:
>>>> +static void vrf_ip6_input_dst(struct sk_buff *skb, struct net_device *vrf_dev,
>>>>> + int ifindex)
>>>>> +{
>>>>> + const struct ipv6hdr *iph = ipv6_hdr(skb);
>>>>> + struct flowi6 fl6 = {
>>>>> + .daddr = iph->daddr,
>>>>> + .saddr = iph->saddr,
>>>>> + .flowlabel = ip6_flowinfo(iph),
>>> The above assignment causes the following compiler warning with
>>> m68k-linux-gnu-gcc-4.1:
>>>
>>> drivers/net/vrf.c: In function ‘vrf_ip6_input_dst’:
>>> drivers/net/vrf.c:870: warning: initialized field with
>>> side-effects overwritten
>>> drivers/net/vrf.c:870: warning: (near initialization for ‘fl6’)
>>>
>>> Unfortunately I have no idea what it means, nor do I see what's wrong
>>> with the code.
>>
>> no idea. Fields are initialized once and left and right data types are the same.
>>
>> Can you remove one line at a time? Line 870 is ".flowi6_proto = iph->nexthdr," but all of the flowi6 macros are unique references to unique fields in flowi_common. The flowlabel line you point out is a unique field as well.
>
> The only thing that seems to matter is assigning the result of the call to
> ip6_flowinfo() to .flowlabel. Assigning a constant makes the warning go away.

No complaints for the same initialization style at line 151?


\
 
 \ /
  Last update: 2016-08-03 23:21    [W:0.051 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site