06 Jul, 2016

1 commit

  • When the data plane is offloaded the traffic doesn't go through the
    networking stack. Therefore, after first resolving a neighbour the NUD
    state machine will transition it from REACHABLE to STALE until it's
    finally deleted by the garbage collector.

    To prevent such situations the offloading driver should notify the NUD
    state machine on any neighbours that were recently used. The driver's
    polling interval should be set so that the NUD state machine can
    function as if the traffic wasn't offloaded.

    Currently, there are no in-tree drivers that can report confirmation for
    a neighbour, but only 'used' indication. Therefore, the polling interval
    should be set according to DELAY_FIRST_PROBE_TIME, as a neighbour will
    transition from REACHABLE state to DELAY (instead of STALE) if "a packet
    was sent within the last DELAY_FIRST_PROBE_TIME seconds" (RFC 4861).

    Send a netevent whenever the DELAY_FIRST_PROBE_TIME changes - either via
    netlink or sysctl - so that offloading drivers can correctly set their
    polling interval.

    Signed-off-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Ido Schimmel
     

22 Sep, 2013

1 commit

  • There are a mix of function prototypes with and without extern
    in the kernel sources. Standardize on not using extern for
    function prototypes.

    Function prototypes don't need to be written with extern.
    extern is assumed by the compiler. Its use is as unnecessary as
    using auto to declare automatic/local variables in a block.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

15 Jan, 2013

1 commit


05 Jul, 2012

1 commit


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
     

09 Feb, 2011

1 commit


29 Jan, 2008

1 commit


03 Aug, 2006

1 commit

  • This patch uses notifier blocks to implement a network event
    notifier mechanism.

    Clients register their callback function by calling
    register_netevent_notifier() like this:

    static struct notifier_block nb = {
    .notifier_call = my_callback_func
    };

    ...

    register_netevent_notifier(&nb);

    Signed-off-by: Tom Tucker
    Signed-off-by: Steve Wise
    Signed-off-by: David S. Miller

    Tom Tucker