Bug 9349

Summary: RTNLGRP_ND_USEROPT does not report ifindex
Product: Networking Reporter: R (rdenis)
Component: IPV6Assignee: Pierre Ynard (linkfanel)
Status: CLOSED CODE_FIX    
Severity: normal CC: bugzilla.kernel.org
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.24-rc Subsystem:
Regression: --- Bisected commit-id:

Description R 2007-11-11 10:52:41 UTC
Most recent kernel where this bug did not occur: none
Distribution: N/A
Hardware Environment: any
Software Environment: any
Problem Description:
The RTNLGRP_ND_USEROPT NetLink message introduced in 2.6.24 does not seem to include any information as to which netif the user options come from:

struct nduseroptmsg
{
        unsigned char   nduseropt_family;
        unsigned char   nduseropt_pad1;
        unsigned short  nduseropt_opts_len; /* Total length of options */
        __u8            nduseropt_icmp_type;
        __u8            nduseropt_icmp_code;
        unsigned short  nduseropt_pad2;
        /* Followed by one or more ND options */
};

Considering this is meant to carry data that is heavily link-layer involved, this seems like a feature bug. Could an ifindex field be added there??

Steps to reproduce:
Comment 1 Anonymous Emailer 2007-11-11 11:59:37 UTC
Reply-To: akpm@linux-foundation.org

On Sun, 11 Nov 2007 10:52:41 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=9349
> 
>            Summary: RTNLGRP_ND_USEROPT does not report ifindex
>            Product: Networking
>            Version: 2.5
>      KernelVersion: 2.6.24-rc
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: IPV6
>         AssignedTo: yoshfuji@linux-ipv6.org
>         ReportedBy: rdenis@simphalempin.com
> 
> 
> Most recent kernel where this bug did not occur: none
> Distribution: N/A
> Hardware Environment: any
> Software Environment: any
> Problem Description:
> The RTNLGRP_ND_USEROPT NetLink message introduced in 2.6.24 does not seem to
> include any information as to which netif the user options come from:
> 
> struct nduseroptmsg
> {
>         unsigned char   nduseropt_family;
>         unsigned char   nduseropt_pad1;
>         unsigned short  nduseropt_opts_len; /* Total length of options */
>         __u8            nduseropt_icmp_type;
>         __u8            nduseropt_icmp_code;
>         unsigned short  nduseropt_pad2;
>         /* Followed by one or more ND options */
> };
> 
> Considering this is meant to carry data that is heavily link-layer involved,
> this seems like a feature bug. Could an ifindex field be added there??
> 
Comment 2 Marc Bejarano 2007-11-17 23:28:18 UTC
it would be nice to include a commit id for the fix :)
Comment 3 Pierre Ynard 2007-11-19 14:41:31 UTC
This issue was fixed by:

commit dbb2ed24851a290616d66212dc75373fd863d636
Author: Pierre Ynard <linkfanel@yahoo.fr>
Date:   Mon Nov 12 17:58:35 2007 -0800

    [IPV6]: Add ifindex field to ND user option messages.
    
    Userland neighbor discovery options are typically heavily involved with
    the interface on which thay are received: add a missing ifindex field to
    the original struct. Thanks to RĂ©mi Denis-Courmont.
    
    Signed-off-by: Pierre Ynard <linkfanel@yahoo.fr>
    Signed-off-by: David S. Miller <davem@davemloft.net>