1. 13 Jul, 2015 2 commits
    • Daniel Borkmann's avatar
      ebpf: remove self-assignment in interpreter's tail call · c4675f93
      Daniel Borkmann authored
      ARG1 = BPF_R1 as it stands, evaluates to regs[BPF_REG_1] = regs[BPF_REG_1]
      and thus has no effect. Add a comment instead, explaining what happens and
      why it's okay to just remove it. Since from user space side, a tail call is
      invoked as a pseudo helper function via bpf_tail_call_proto, the verifier
      checks the arguments just like with any other helper function and makes
      sure that the first argument (regs[BPF_REG_1])'s type is ARG_PTR_TO_CTX.
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c4675f93
    • Tom Herbert's avatar
      net: Build IPv6 into kernel by default · de551f2e
      Tom Herbert authored
      This patch makes the default to build IPv6 into the kernel. IPv6
      now has significant traction and any remaining vestiges of IPv6
      not being provided parity with IPv4 should be swept away. IPv6 is now
      core to the Internet and kernel.
      
      Points on IPv6 adoption:
      
      - Per Google statistics, IPv6 usage has reached 7% on the Internet
        and continues to exhibit an exponential growth rate
        https://www.google.com/intl/en/ipv6/statistics.html
      - Just a few days ago ARIN officially depleted its IPv4 pool
      - IPv6 only data centers are being successfully built
        (e.g. at Facebook)
      
      This patch changes the IPv6 Kconfig for IPV6. Default for CONFIG_IPV6
      is set to "y" and the text has been updated to reflect the maturity of
      IPv6.
      
      Impact:
      
      Under some circumstances building modules in to kernel might have a
      performance advantage. In my testing, I did notice a very slight
      improvement.
      
      This will obviously increase the size of the kernel image. In my
      configuration I see:
      
      IPv6 as module:
      
         text    data     bss     dec     hex filename
      9703666 1899288  933888 12536842         bf4c0a vmlinux
      
      IPv6 built into kernel
      
        text     data     bss     dec     hex filename
      9436490 1879600  913408 12229498         ba9b7a vmlinux
      
      Which increases text size by ~270K (2.8% increase in size for me). If
      image size is an issue, presumably for a device which does not do IP
      networking (IMO we should be discouraging IPv4-only devices), IPV6 can
      be disabled or still built as a module.
      Acked-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      de551f2e
  2. 12 Jul, 2015 1 commit
    • Florian Westphal's avatar
      Revert "ipv4: use skb coalescing in defragmentation" · 14fe22e3
      Florian Westphal authored
      This reverts commit 3cc49492.
      
      There is nothing wrong with coalescing during defragmentation, it
      reduces truesize overhead and simplifies things for the receiving
      socket (no fraglist walk needed).
      
      However, it also destroys geometry of the original fragments.
      While that doesn't cause any breakage (we make sure to not exceed largest
      original size) ip_do_fragment contains a 'fastpath' that takes advantage
      of a present frag list and results in fragments that (in most cases)
      match what was received.
      
      In case its needed the coalescing could be done later, when we're sure
      the skb is not forwarded.  But discussion during NFWS resulted in
      'lets just remove this for now'.
      
      Cc: Eric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      14fe22e3
  3. 11 Jul, 2015 14 commits
  4. 10 Jul, 2015 4 commits
  5. 09 Jul, 2015 15 commits
  6. 08 Jul, 2015 4 commits