02 Aug, 2011

1 commit

  • Update the code to handle some of the differences between
    RFC 3041 and RFC 4941, which obsoletes it. Also a couple
    of janitorial fixes.

    - Allow router advertisements to increase the lifetime of
    temporary addresses. This was not allowed by RFC 3041,
    but is specified by RFC 4941. It is useful when RA
    lifetimes are lower than TEMP_{VALID,PREFERRED}_LIFETIME:
    in this case, the previous code would delete or deprecate
    addresses prematurely.

    - Change the default of MAX_RETRY to 3 per RFC 4941.

    - Add a comment to clarify that the preferred and valid
    lifetimes in inet6_ifaddr are relative to the timestamp.

    - Shorten lines to 80 characters in a couple of places.

    Signed-off-by: Lorenzo Colitti
    Signed-off-by: David S. Miller

    Lorenzo Colitti
     

25 Apr, 2011

1 commit

  • These header files are never installed to user consumption, so any
    __KERNEL__ cpp checks are superfluous.

    Projects should also not copy these files into their userland utility
    sources and try to use them there. If they insist on doing so, the
    onus is on them to sanitize the headers as needed.

    Signed-off-by: David S. Miller

    David S. Miller
     

23 Apr, 2011

1 commit


03 Dec, 2010

1 commit


05 Oct, 2010

1 commit


27 Sep, 2010

2 commits

  • Conflicts:
    drivers/net/qlcnic/qlcnic_init.c
    net/ipv4/ip_output.c

    David S. Miller
     
  • Clean up a missing exit path in the ipv6 module init routines. In
    addrconf_init we call ipv6_addr_label_init which calls register_pernet_subsys
    for the ipv6_addr_label_ops structure. But if module loading fails, or if the
    ipv6 module is removed, there is no corresponding unregister_pernet_subsys call,
    which leaves a now-bogus address on the pernet_list, leading to oopses in
    subsequent registrations. This patch cleans up both the failed load path and
    the unload path. Tested by myself with good results.

    Signed-off-by: Neil Horman

    include/net/addrconf.h | 1 +
    net/ipv6/addrconf.c | 11 ++++++++---
    net/ipv6/addrlabel.c | 5 +++++
    3 files changed, 14 insertions(+), 3 deletions(-)
    Signed-off-by: David S. Miller

    Neil Horman
     

22 Sep, 2010

1 commit

  • - Use rcu_dereference_rtnl() in __in6_dev_get
    - kerneldoc for __in6_dev_get() and in6_dev_get()
    - Use inline functions instead of macros

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

25 Feb, 2010

1 commit

  • Update rcu_dereference() primitives to use new lockdep-based
    checking. The rcu_dereference() in __in6_dev_get() may be
    protected either by rcu_read_lock() or RTNL, per Eric Dumazet.
    The rcu_dereference() in __sk_free() is protected by the fact
    that it is never reached if an update could change it. Check
    for this by using rcu_dereference_check() to verify that the
    struct sock's ->sk_wmem_alloc counter is zero.

    Acked-by: Eric Dumazet
    Acked-by: David S. Miller
    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: dhowells@redhat.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     

15 Sep, 2009

1 commit

  • This patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach
    there is to call dev_close()/dev_open() whenever the device type is changed in
    order to remap the device IP multicast addresses to HW multicast addresses.
    This approach suffers from 2 drawbacks:

    *. It assumes tha the device is UP when calling dev_close(), or otherwise
    dev_close() has no affect. It is worth to mention that initscripts (Redhat)
    and sysconfig (Suse) doesn't act the same in this matter.
    *. dev_close() has other side affects, like deleting entries from the routing
    table, which might be unnecessary.

    The fix here is to directly remap the IP multicast addresses to HW multicast
    addresses for a bonding device that changes its type, and nothing else.

    Reported-by: Jason Gunthorpe
    Signed-off-by: Moni Shoua
    Signed-off-by: David S. Miller

    Moni Shoua
     

25 Mar, 2009

1 commit


15 Aug, 2008

1 commit


12 Jun, 2008

1 commit

  • This pacth makes IPv6 address labels per network namespace.
    It keeps the global label tables, ip6addrlbl_table, but
    adds a 'net' member to each ip6addrlbl_entry.
    This new member is taken into account when matching labels.

    Changelog
    =========
    * v1: Initial version
    * v2:
    * Minize the penalty when network namespaces are not configured:
    * the 'net' member is added only if CONFIG_NET_NS is
    defined. This saves space when network namespaces are not
    configured.
    * 'net' value is retrieved with the inlined function
    ip6addrlbl_net() that always return &init_net when
    CONFIG_NET_NS is not defined.
    * 'net' member in ip6addrlbl_entry renamed to the less generic
    'lbl_net' name (helps code search).

    Signed-off-by: Benjamin Thery
    Signed-off-by: YOSHIFUJI Hideaki

    Benjamin Thery
     

05 Jun, 2008

1 commit


12 Apr, 2008

5 commits


03 Apr, 2008

1 commit


29 Mar, 2008

1 commit


27 Mar, 2008

1 commit


25 Mar, 2008

2 commits


06 Mar, 2008

1 commit


04 Mar, 2008

2 commits


29 Jan, 2008

7 commits


11 Jul, 2007

1 commit

  • This patch makes MIPv6 loadable module named "mip6".

    Here is a modprobe.conf(5) example to load it automatically
    when user application uses XFRM state for MIPv6:

    alias xfrm-type-10-43 mip6
    alias xfrm-type-10-60 mip6

    Some MIPv6 feature is not included by this modular, however,
    it should not be affected to other features like either IPsec
    or IPv6 with and without the patch.
    We may discuss XFRM, MH (RAW socket) and ancillary data/sockopt
    separately for future work.

    Loadable features:
    * MH receiving check (to send ICMP error back)
    * RO header parsing and building (i.e. RH2 and HAO in DSTOPTS)
    * XFRM policy/state database handling for RO

    These are NOT covered as loadable:
    * Home Address flags and its rule on source address selection
    * XFRM sub policy (depends on its own kernel option)
    * XFRM functions to receive RO as IPv6 extension header
    * MH sending/receiving through raw socket if user application
    opens it (since raw socket allows to do so)
    * RH2 sending as ancillary data
    * RH2 operation with setsockopt(2)

    Signed-off-by: Masahide NAKAMURA
    Signed-off-by: David S. Miller

    Masahide NAKAMURA
     

26 Apr, 2007

1 commit

  • Nominally an autoconfigured IPv6 address is added to an interface in the
    Tentative state (as per RFC 2462). Addresses in this state remain in this
    state while the Duplicate Address Detection process operates on them to
    determine their uniqueness on the network. During this period, these
    tentative addresses may not be used for communication, increasing the time
    before a node may be able to communicate on a network. Using Optimistic
    Duplicate Address Detection, autoconfigured addresses may be used
    immediately for communication on the network, as long as certain rules are
    followed to avoid conflicts with other nodes during the Duplicate Address
    Detection process.

    Signed-off-by: Neil Horman
    Signed-off-by: YOSHIFUJI Hideaki
    Signed-off-by: David S. Miller

    Neil Horman
     

03 Dec, 2006

1 commit


23 Sep, 2006

3 commits