• L
    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 3c4cfade
    Linus Torvalds 提交于
    Pull networking changes from David S Miller:
    
     1) Remove the ipv4 routing cache.  Now lookups go directly into the FIB
        trie and use prebuilt routes cached there.
    
        No more garbage collection, no more rDOS attacks on the routing
        cache.  Instead we now get predictable and consistent performance,
        no matter what the pattern of traffic we service.
    
        This has been almost 2 years in the making.  Special thanks to
        Julian Anastasov, Eric Dumazet, Steffen Klassert, and others who
        have helped along the way.
    
        I'm sure that with a change of this magnitude there will be some
        kind of fallout, but such things ought the be simple to fix at this
        point.  Luckily I'm not European so I'll be around all of August to
        fix things :-)
    
        The major stages of this work here are each fronted by a forced
        merge commit whose commit message contains a top-level description
        of the motivations and implementation issues.
    
     2) Pre-demux of established ipv4 TCP sockets, saves a route demux on
        input.
    
     3) TCP SYN/ACK performance tweaks from Eric Dumazet.
    
     4) Add namespace support for netfilter L4 conntrack helpers, from Gao
        Feng.
    
     5) Add config mechanism for Energy Efficient Ethernet to ethtool, from
        Yuval Mintz.
    
     6) Remove quadratic behavior from /proc/net/unix, from Eric Dumazet.
    
     7) Support for connection tracker helpers in userspace, from Pablo
        Neira Ayuso.
    
     8) Allow userspace driven TX load balancing functions in TEAM driver,
        from Jiri Pirko.
    
     9) Kill off NLMSG_PUT and RTA_PUT macros, more gross stuff with
        embedded gotos.
    
    10) TCP Small Queues, essentially minimize the amount of TCP data queued
        up in the packet scheduler layer.  Whereas the existing BQL (Byte
        Queue Limits) limits the pkt_sched --> netdevice queuing levels,
        this controls the TCP --> pkt_sched queueing levels.
    
        From Eric Dumazet.
    
    11) Reduce the number of get_page/put_page ops done on SKB fragments,
        from Alexander Duyck.
    
    12) Implement protection against blind resets in TCP (RFC 5961), from
        Eric Dumazet.
    
    13) Support the client side of TCP Fast Open, basically the ability to
        send data in the SYN exchange, from Yuchung Cheng.
    
        Basically, the sender queues up data with a sendmsg() call using
        MSG_FASTOPEN, then they do the connect() which emits the queued up
        fastopen data.
    
    14) Avoid all the problems we get into in TCP when timers or PMTU events
        hit a locked socket.  The TCP Small Queues changes added a
        tcp_release_cb() that allows us to queue work up to the
        release_sock() caller, and that's what we use here too.  From Eric
        Dumazet.
    
    15) Zero copy on TX support for TUN driver, from Michael S. Tsirkin.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1870 commits)
      genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP
      r8169: revert "add byte queue limit support".
      ipv4: Change rt->rt_iif encoding.
      net: Make skb->skb_iif always track skb->dev
      ipv4: Prepare for change of rt->rt_iif encoding.
      ipv4: Remove all RTCF_DIRECTSRC handliing.
      ipv4: Really ignore ICMP address requests/replies.
      decnet: Don't set RTCF_DIRECTSRC.
      net/ipv4/ip_vti.c: Fix __rcu warnings detected by sparse.
      ipv4: Remove redundant assignment
      rds: set correct msg_namelen
      openvswitch: potential NULL deref in sample()
      tcp: dont drop MTU reduction indications
      bnx2x: Add new 57840 device IDs
      tcp: avoid oops in tcp_metrics and reset tcpm_stamp
      niu: Change niu_rbr_fill() to use unlikely() to check niu_rbr_add_page() return value
      niu: Fix to check for dma mapping errors.
      net: Fix references to out-of-scope variables in put_cmsg_compat()
      net: ethernet: davinci_emac: add pm_runtime support
      net: ethernet: davinci_emac: Remove unnecessary #include
      ...
    3c4cfade
hooks.c 142.6 KB