07 Nov, 2019

1 commit


06 May, 2019

1 commit


16 Jan, 2018

1 commit

  • Map all lookup neigh keys to INADDR_ANY for loopback/point-to-point devices
    to avoid making an entry for every remote ip the device needs to talk to.

    This used the be the old behavior but became broken in a263b3093641f
    (ipv4: Make neigh lookups directly in output packet path) and later removed
    in 0bb4087cbec0 (ipv4: Fix neigh lookup keying over loopback/point-to-point
    devices) because it was broken.

    Signed-off-by: Jim Westfall
    Signed-off-by: David S. Miller

    Jim Westfall
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

01 Jul, 2017

1 commit

  • refcount_t type and corresponding API should be
    used instead of atomic_t when the variable is used as
    a reference counter. This allows to avoid accidental
    refcounter overflows that might lead to use-after-free
    situations.

    Signed-off-by: Elena Reshetova
    Signed-off-by: Hans Liljestrand
    Signed-off-by: Kees Cook
    Signed-off-by: David Windsor
    Signed-off-by: David S. Miller

    Reshetova, Elena
     

08 Feb, 2017

1 commit

  • Add confirm_neigh method to dst_ops and use it from IPv4 and IPv6
    to lookup and confirm the neighbour. Its usage via the new helper
    dst_confirm_neigh() should be restricted to MSG_PROBE users for
    performance reasons.

    For XFRM prefer the last tunnel address, if present. With help
    from Steffen Klassert.

    Signed-off-by: Julian Anastasov
    Acked-by: Steffen Klassert
    Signed-off-by: David S. Miller

    Julian Anastasov
     

04 Mar, 2015

1 commit

  • While looking at the mpls code I found myself writing yet another
    version of neigh_lookup_noref. We currently have __ipv4_lookup_noref
    and __ipv6_lookup_noref.

    So to make my work a little easier and to make it a smidge easier to
    verify/maintain the mpls code in the future I stopped and wrote
    ___neigh_lookup_noref. Then I rewote __ipv4_lookup_noref and
    __ipv6_lookup_noref in terms of this new function. I tested my new
    version by verifying that the same code is generated in
    ip_finish_output2 and ip6_finish_output2 where these functions are
    inlined.

    To get to ___neigh_lookup_noref I added a new neighbour cache table
    function key_eq. So that the static size of the key would be
    available.

    I also added __neigh_lookup_noref for people who want to to lookup
    a neighbour table entry quickly but don't know which neibhgour table
    they are going to look up.

    Signed-off-by: "Eric W. Biederman"
    Signed-off-by: David S. Miller

    Eric W. Biederman
     

03 Mar, 2015

1 commit


29 Dec, 2013

1 commit


01 Aug, 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.

    Reflow modified prototypes to 80 columns.

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

    Joe Perches
     

10 Aug, 2012

1 commit

  • Eric noticed, that when there will be devices with equal indices, some
    hash functions that use them will become less effective as they could.
    Fix this in advance by mixing the net_device address into the hash value
    instead of the device index.

    This is true for arp and ndisc hash fns. The netlabel, can and llc ones
    are also ifindex-based, but that three are init_net-only, thus will not
    be affected.

    Many thanks to David and Eric for the hash32_ptr implementation!

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

    Pavel Emelyanov
     

21 Jul, 2012

1 commit

  • We were using a special key "0" for all loopback and point-to-point
    device neigh lookups under ipv4, but we wouldn't use that special
    key for the neigh creation.

    So basically we'd make a new neigh at each and every lookup :-)

    This special case to use only one neigh for these device types
    is of dubious value, so just remove it entirely.

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

    David S. Miller
     

05 Jul, 2012

1 commit


16 Feb, 2012

1 commit


29 Dec, 2011

1 commit


18 Jul, 2011

1 commit


13 Jul, 2011

1 commit

  • Get rid of all of the useless and costly indirection
    by doing the neigh hash table lookup directly inside
    of the neighbour binding.

    Rename from arp_bind_neighbour to rt_bind_neighbour.

    Use new helpers {__,}ipv4_neigh_lookup()

    In rt_bind_neighbour() get rid of useless tests which
    are never true in the context this function is called,
    namely dev is never NULL and the dst->neighbour is
    always NULL.

    Signed-off-by: David S. Miller

    David Miller
     

11 Jul, 2011

1 commit


11 Jan, 2011

1 commit

  • IPv4 over firewire needs to be able to remove ARP entries
    from the ARP cache that belong to nodes that are removed, because
    IPv4 over firewire uses ARP packets for private information
    about nodes.

    This information becomes invalid as soon as node drops
    off the bus and when it reconnects, its only possible
    to start talking to it after it responded to an ARP packet.
    But ARP cache prevents such packets from being sent.

    Signed-off-by: Maxim Levitsky
    Signed-off-by: David S. Miller

    Maxim Levitsky
     

30 Sep, 2010

1 commit


02 Sep, 2009

1 commit


01 Feb, 2008

1 commit


29 Jan, 2008

2 commits


03 Dec, 2006

1 commit


29 Sep, 2006

1 commit


15 Apr, 2006

1 commit

  • This patch contains the following possible cleanups:
    - make the following needlessly global function static:
    - arp.c: arp_rcv()
    - remove the following unused EXPORT_SYMBOL's:
    - devinet.c: devinet_ioctl
    - fib_frontend.c: ip_rt_ioctl
    - inet_hashtables.c: inet_bind_bucket_create
    - inet_hashtables.c: inet_bind_hash
    - tcp_input.c: sysctl_tcp_abc
    - tcp_ipv4.c: sysctl_tcp_tw_reuse
    - tcp_output.c: sysctl_tcp_mtu_probing
    - tcp_output.c: sysctl_tcp_base_mss

    Signed-off-by: Adrian Bunk
    Signed-off-by: David S. Miller

    Adrian Bunk
     

30 Aug, 2005

1 commit

  • Bonding just wants the device before the skb_bond()
    decapsulation occurs, so simply pass that original
    device into packet_type->func() as an argument.

    It remains to be seen whether we can use this same
    exact thing to get rid of skb->input_dev as well.

    Signed-off-by: David S. Miller

    David S. Miller
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds