01 Nov, 2019

1 commit

  • To remove that test_attr__{enabled/open} are used by perf-sys.h, we
    set HAVE_ATTR_TEST to zero.

    Signed-off-by: Björn Töpel
    Tested-by: KP Singh
    Acked-by: Song Liu
    Cc: Adrian Hunter
    Cc: Alexei Starovoitov
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: bpf@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Daniel Borkmann
    Link: http://lore.kernel.org/bpf/20191001113307.27796-3-bjorn.topel@gmail.com

    Björn Töpel
     

03 Oct, 2019

2 commits

  • This was added in commit eb111869301e ("compiler-types.h: add asm_inline
    definition") and breaks samples/bpf as clang does not support asm __inline.

    Fixes: eb111869301e ("compiler-types.h: add asm_inline definition")
    Co-developed-by: Florent Revest
    Signed-off-by: Florent Revest
    Signed-off-by: KP Singh
    Signed-off-by: Daniel Borkmann
    Acked-by: Song Liu
    Acked-by: Andrii Nakryiko
    Link: https://lore.kernel.org/bpf/20191002191652.11432-1-kpsingh@chromium.org

    KP Singh
     
  • Add missing include for which was removed from
    perf-sys.h in commit 91854f9a077e ("perf tools: Move everything
    related to sys_perf_event_open() to perf-sys.h").

    Fixes: 91854f9a077e ("perf tools: Move everything related to sys_perf_event_open() to perf-sys.h")
    Reported-by: KP Singh
    Reported-by: Florent Revest
    Signed-off-by: Björn Töpel
    Signed-off-by: Daniel Borkmann
    Tested-by: KP Singh
    Acked-by: Song Liu
    Link: https://lore.kernel.org/bpf/20191001112249.27341-1-bjorn.topel@gmail.com

    Björn Töpel
     

16 Sep, 2019

1 commit

  • Preserve the offset of the address of the received descriptor, and include
    it in the address set for the tx descriptor, so the kernel can correctly
    locate the start of the packet data.

    Fixes: 03895e63ff97 ("samples/bpf: add buffer recycling for unaligned chunks to xdpsock")
    Signed-off-by: Ciara Loftus
    Signed-off-by: Daniel Borkmann

    Ciara Loftus
     

31 Aug, 2019

3 commits

  • This patch modifies xdpsock to use mmap instead of posix_memalign. With
    this change, we can use hugepages when running the application in unaligned
    chunks mode. Using hugepages makes it more likely that we have physically
    contiguous memory, which supports the unaligned chunk mode better.

    Signed-off-by: Kevin Laatz
    Acked-by: Jonathan Lemon
    Signed-off-by: Daniel Borkmann

    Kevin Laatz
     
  • This patch adds buffer recycling support for unaligned buffers. Since we
    don't mask the addr to 2k at umem_reg in unaligned mode, we need to make
    sure we give back the correct (original) addr to the fill queue. We achieve
    this using the new descriptor format and associated masks. The new format
    uses the upper 16-bits for the offset and the lower 48-bits for the addr.
    Since we have a field for the offset, we no longer need to modify the
    actual address. As such, all we have to do to get back the original address
    is mask for the lower 48 bits (i.e. strip the offset and we get the address
    on it's own).

    Signed-off-by: Kevin Laatz
    Signed-off-by: Bruce Richardson
    Acked-by: Jonathan Lemon
    Signed-off-by: Daniel Borkmann

    Kevin Laatz
     
  • This patch adds support for the unaligned chunks mode. The addition of the
    unaligned chunks option will allow users to run the application with more
    relaxed chunk placement in the XDP umem.

    Unaligned chunks mode can be used with the '-u' or '--unaligned' command
    line options.

    Signed-off-by: Kevin Laatz
    Signed-off-by: Ciara Loftus
    Acked-by: Jonathan Lemon
    Signed-off-by: Daniel Borkmann

    Kevin Laatz
     

21 Aug, 2019

1 commit


18 Aug, 2019

1 commit

  • This commit adds using the need_wakeup flag to the xdpsock sample
    application. It is turned on by default as we think it is a feature
    that seems to always produce a performance benefit, if the application
    has been written taking advantage of it. It can be turned off in the
    sample app by using the '-m' command line option.

    The txpush and l2fwd sub applications have also been updated to
    support poll() with multiple sockets.

    Signed-off-by: Magnus Karlsson
    Acked-by: Jonathan Lemon
    Signed-off-by: Daniel Borkmann

    Magnus Karlsson
     

10 Aug, 2019

3 commits

  • Make it clear that this XDP program depend on the network
    stack to do the ARP resolution. This is connected with the
    BPF_FIB_LKUP_RET_NO_NEIGH return code from bpf_fib_lookup().

    Another common mistake (seen via XDP-tutorial) is that users
    don't realize that sysctl net.ipv{4,6}.conf.all.forwarding
    setting is honored by bpf_fib_lookup.

    Reported-by: Anton Protopopov
    Signed-off-by: Jesper Dangaard Brouer
    Reviewed-by: David Ahern
    Acked-by: Yonghong Song
    Reviewed-by: Toke Høiland-Jørgensen
    Signed-off-by: Daniel Borkmann

    Jesper Dangaard Brouer
     
  • This address the TODO in samples/bpf/xdp_fwd_kern.c, which points out
    that the chosen egress index should be checked for existence in the
    devmap. This can now be done via taking advantage of Toke's work in
    commit 0cdbb4b09a06 ("devmap: Allow map lookups from eBPF").

    This change makes xdp_fwd more practically usable, as this allows for
    a mixed environment, where IP-forwarding fallback to network stack, if
    the egress device isn't configured to use XDP.

    Signed-off-by: Jesper Dangaard Brouer
    Reviewed-by: David Ahern
    Reviewed-by: Toke Høiland-Jørgensen
    Acked-by: Yonghong Song
    Signed-off-by: Daniel Borkmann

    Jesper Dangaard Brouer
     
  • The devmap name 'tx_port' came from a copy-paste from xdp_redirect_map
    which only have a single TX port. Change name to xdp_tx_ports
    to make it more descriptive.

    Signed-off-by: Jesper Dangaard Brouer
    Reviewed-by: David Ahern
    Acked-by: Yonghong Song
    Reviewed-by: Toke Høiland-Jørgensen
    Signed-off-by: Daniel Borkmann

    Jesper Dangaard Brouer
     

24 Jul, 2019

2 commits


16 Jul, 2019

1 commit

  • While $ARCH can be relatively flexible (see Makefile and
    tools/scripts/Makefile.arch), $SRCARCH always corresponds to a directory
    name under arch/.

    Therefore, build samples with -D__TARGET_ARCH_$(SRCARCH), since that
    matches the expectations of bpf_helpers.h.

    Signed-off-by: Ilya Leoshkevich
    Acked-by: Vasily Gorbik
    Acked-by: Andrii Nakryiko
    Signed-off-by: Daniel Borkmann

    Ilya Leoshkevich
     

09 Jul, 2019

1 commit


04 Jul, 2019

1 commit

  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2019-07-03

    The following pull-request contains BPF updates for your *net* tree.

    The main changes are:

    1) Fix the interpreter to properly handle BPF_ALU32 | BPF_ARSH
    on BE architectures, from Jiong.

    2) Fix several bugs in the x32 BPF JIT for handling shifts by 0,
    from Luke and Xi.

    3) Fix NULL pointer deref in btf_type_is_resolve_source_only(),
    from Stanislav.

    4) Properly handle the check that forwarding is enabled on the device
    in bpf_ipv6_fib_lookup() helper code, from Anton.

    5) Fix UAPI bpf_prog_info fields alignment for archs that have 16 bit
    alignment such as m68k, from Baruch.

    6) Fix kernel hanging in unregister_netdevice loop while unregistering
    device bound to XDP socket, from Ilya.

    7) Properly terminate tail update in xskq_produce_flush_desc(), from Nathan.

    8) Fix broken always_inline handling in test_lwt_seg6local, from Jiri.

    9) Fix bpftool to use correct argument in cgroup errors, from Jakub.

    10) Fix detaching dummy prog in XDP redirect sample code, from Prashant.

    11) Add Jonathan to AF_XDP reviewers, from Björn.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

03 Jul, 2019

3 commits

  • Copy-paste, should be detach, not attach.

    Signed-off-by: Stanislav Fomichev
    Acked-by: Soheil Hassas Yeganeh
    Acked-by: Yuchung Cheng
    Signed-off-by: Daniel Borkmann

    Stanislav Fomichev
     
  • Uses new RTT callback to dump stats every second.

    $ mkdir -p /tmp/cgroupv2
    $ mount -t cgroup2 none /tmp/cgroupv2
    $ mkdir -p /tmp/cgroupv2/foo
    $ echo $$ >> /tmp/cgroupv2/foo/cgroup.procs
    $ bpftool prog load ./tcp_dumpstats_kern.o /sys/fs/bpf/tcp_prog
    $ bpftool cgroup attach /tmp/cgroupv2/foo sock_ops pinned /sys/fs/bpf/tcp_prog
    $ bpftool prog tracelog
    $ # run neper/netperf/etc

    Used neper to compare performance with and without this program attached
    and didn't see any noticeable performance impact.

    Sample output:
    -0 [015] ..s. 2074.128800: 0: dsack_dups=0 delivered=242526
    -0 [015] ..s. 2074.128808: 0: delivered_ce=0 icsk_retransmits=0
    -0 [015] ..s. 2075.130133: 0: dsack_dups=0 delivered=323599
    -0 [015] ..s. 2075.130138: 0: delivered_ce=0 icsk_retransmits=0
    -0 [005] .Ns. 2076.131440: 0: dsack_dups=0 delivered=404648
    -0 [005] .Ns. 2076.131447: 0: delivered_ce=0 icsk_retransmits=0

    Cc: Eric Dumazet
    Cc: Priyaranjan Jha
    Cc: Yuchung Cheng
    Cc: Soheil Hassas Yeganeh
    Acked-by: Soheil Hassas Yeganeh
    Acked-by: Yuchung Cheng
    Signed-off-by: Stanislav Fomichev
    Signed-off-by: Daniel Borkmann

    Stanislav Fomichev
     
  • Adds support for fq's Earliest Departure Time to HBM (Host Bandwidth
    Manager). Includes a new BPF program supporting EDT, and also updates
    corresponding programs.

    It will drop packets with an EDT of more than 500us in the future
    unless the packet belongs to a flow with less than 2 packets in flight.
    This is done so each flow has at least 2 packets in flight, so they
    will not starve, and also to help prevent delayed ACK timeouts.

    It will also work with ECN enabled traffic, where the packets will be
    CE marked if their EDT is more than 50us in the future.

    The table below shows some performance numbers. The flows are back to
    back RPCS. One server sending to another, either 2 or 4 flows.
    One flow is a 10KB RPC, the rest are 1MB RPCs. When there are more
    than one flow of a given RPC size, the numbers represent averages.

    The rate limit applies to all flows (they are in the same cgroup).
    Tests ending with "-edt" ran with the new BPF program supporting EDT.
    Tests ending with "-hbt" ran on top HBT qdisc with the specified rate
    (i.e. no HBM). The other tests ran with the HBM BPF program included
    in the HBM patch-set.

    EDT has limited value when using DCTCP, but it helps in many cases when
    using Cubic. It usually achieves larger link utilization and lower
    99% latencies for the 1MB RPCs.
    HBM ends up queueing a lot of packets with its default parameter values,
    reducing the goodput of the 10KB RPCs and increasing their latency. Also,
    the RTTs seen by the flows are quite large.

    Aggr 10K 10K 10K 1MB 1MB 1MB
    Limit rate drops RTT rate P90 P99 rate P90 P99
    Test rate Flows Mbps % us Mbps us us Mbps ms ms
    -------- ---- ----- ---- ----- --- ---- ---- ---- ---- ---- ----
    cubic 1G 2 904 0.02 108 257 511 539 647 13.4 24.5
    cubic-edt 1G 2 982 0.01 156 239 656 967 743 14.0 17.2
    dctcp 1G 2 977 0.00 105 324 408 744 653 14.5 15.9
    dctcp-edt 1G 2 981 0.01 142 321 417 811 660 15.7 17.0
    cubic-htb 1G 2 919 0.00 1825 40 2822 4140 879 9.7 9.9

    cubic 200M 2 155 0.30 220 81 532 655 74 283 450
    cubic-edt 200M 2 188 0.02 222 87 1035 1095 101 84 85
    dctcp 200M 2 188 0.03 111 77 912 939 111 76 325
    dctcp-edt 200M 2 188 0.03 217 74 1416 1738 114 76 79
    cubic-htb 200M 2 188 0.00 5015 8 14ms 15ms 180 48 50

    cubic 1G 4 952 0.03 110 165 516 546 262 38 154
    cubic-edt 1G 4 973 0.01 190 111 1034 1314 287 65 79
    dctcp 1G 4 951 0.00 103 180 617 905 257 37 38
    dctcp-edt 1G 4 967 0.00 163 151 732 1126 272 43 55
    cubic-htb 1G 4 914 0.00 3249 13 7ms 8ms 300 29 34

    cubic 5G 4 4236 0.00 134 305 490 624 1310 10 17
    cubic-edt 5G 4 4865 0.00 156 306 425 759 1520 10 16
    dctcp 5G 4 4936 0.00 128 485 221 409 1484 7 9
    dctcp-edt 5G 4 4924 0.00 148 390 392 623 1508 11 26

    v1 -> v2: Incorporated Andrii's suggestions
    v2 -> v3: Incorporated Yonghong's suggestions
    v3 -> v4: Removed credit update that is not needed

    Signed-off-by: Lawrence Brakmo
    Acked-by: Yonghong Song
    Signed-off-by: Daniel Borkmann

    brakmo
     

28 Jun, 2019

1 commit

  • The typical XDP memory scheme is one packet per page. Change the AF_XDP
    frame size in libbpf to 4096, which is the page size on x86, to allow
    libbpf to be used with the drivers with the packet-per-page scheme.

    Add a command line option -f to xdpsock to allow to specify a custom
    frame size.

    Signed-off-by: Maxim Mikityanskiy
    Signed-off-by: Tariq Toukan
    Acked-by: Saeed Mahameed
    Signed-off-by: Daniel Borkmann

    Maxim Mikityanskiy
     

26 Jun, 2019

1 commit

  • Currently, each xdp samples are inconsistent in the use.
    Most of the samples fetch the interface with it's name.
    (ex. xdp1, xdp2skb, xdp_redirect_cpu, xdp_sample_pkts, etc.)

    But some of the xdp samples are fetching the interface with
    ifindex by command argument.

    This commit enables xdp samples to fetch interface with it's name
    without changing the original index interface fetching.
    ( fetching in the same way as xdp_sample_pkts_user.c does.)

    Signed-off-by: Daniel T. Lee
    Acked-by: Toke Høiland-Jørgensen
    Acked-by: Jesper Dangaard Brouer
    Acked-by: Song Liu
    Signed-off-by: Daniel Borkmann

    Daniel T. Lee
     

25 Jun, 2019

1 commit


24 Jun, 2019

1 commit

  • When we terminate xdp_redirect, it ends up with following message:
    "Program on iface OUT changed, not removing"
    This results in dummy prog still attached to OUT interface.
    It is because signal handler checks if the programs are the same that
    we had attached. But while fetching dummy_prog_id, current code uses
    prog_fd instead of dummy_prog_fd. This patch passes the correct fd.

    Fixes: 3b7a8ec2dec3 ("samples/bpf: Check the prog id before exiting")
    Signed-off-by: Prashant Bhole
    Acked-by: Toke Høiland-Jørgensen
    Signed-off-by: Daniel Borkmann

    Prashant Bhole
     

22 Jun, 2019

2 commits

  • Minor SPDX change conflict.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull still more SPDX updates from Greg KH:
    "Another round of SPDX updates for 5.2-rc6

    Here is what I am guessing is going to be the last "big" SPDX update
    for 5.2. It contains all of the remaining GPLv2 and GPLv2+ updates
    that were "easy" to determine by pattern matching. The ones after this
    are going to be a bit more difficult and the people on the spdx list
    will be discussing them on a case-by-case basis now.

    Another 5000+ files are fixed up, so our overall totals are:
    Files checked: 64545
    Files with SPDX: 45529

    Compared to the 5.1 kernel which was:
    Files checked: 63848
    Files with SPDX: 22576

    This is a huge improvement.

    Also, we deleted another 20000 lines of boilerplate license crud,
    always nice to see in a diffstat"

    * tag 'spdx-5.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx: (65 commits)
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 507
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 506
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 505
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 504
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 503
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 502
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 501
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 498
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 497
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 496
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 495
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 491
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 490
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 489
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 488
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 487
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 486
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 485
    ...

    Linus Torvalds
     

20 Jun, 2019

1 commit

  • Alexei Starovoitov says:

    ====================
    pull-request: bpf-next 2019-06-19

    The following pull-request contains BPF updates for your *net-next* tree.

    The main changes are:

    1) new SO_REUSEPORT_DETACH_BPF setsocktopt, from Martin.

    2) BTF based map definition, from Andrii.

    3) support bpf_map_lookup_elem for xskmap, from Jonathan.

    4) bounded loops and scalar precision logic in the verifier, from Alexei.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

19 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    gplv2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 58 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081207.556988620@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

18 Jun, 2019

4 commits

  • Honestly all the conflicts were simple overlapping changes,
    nothing really interesting to report.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull networking fixes from David Miller:
    "Lots of bug fixes here:

    1) Out of bounds access in __bpf_skc_lookup, from Lorenz Bauer.

    2) Fix rate reporting in cfg80211_calculate_bitrate_he(), from John
    Crispin.

    3) Use after free in psock backlog workqueue, from John Fastabend.

    4) Fix source port matching in fdb peer flow rule of mlx5, from Raed
    Salem.

    5) Use atomic_inc_not_zero() in fl6_sock_lookup(), from Eric Dumazet.

    6) Network header needs to be set for packet redirect in nfp, from
    John Hurley.

    7) Fix udp zerocopy refcnt, from Willem de Bruijn.

    8) Don't assume linear buffers in vxlan and geneve error handlers,
    from Stefano Brivio.

    9) Fix TOS matching in mlxsw, from Jiri Pirko.

    10) More SCTP cookie memory leak fixes, from Neil Horman.

    11) Fix VLAN filtering in rtl8366, from Linus Walluij.

    12) Various TCP SACK payload size and fragmentation memory limit fixes
    from Eric Dumazet.

    13) Use after free in pneigh_get_next(), also from Eric Dumazet.

    14) LAPB control block leak fix from Jeremy Sowden"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (145 commits)
    lapb: fixed leak of control-blocks.
    tipc: purge deferredq list for each grp member in tipc_group_delete
    ax25: fix inconsistent lock state in ax25_destroy_timer
    neigh: fix use-after-free read in pneigh_get_next
    tcp: fix compile error if !CONFIG_SYSCTL
    hv_sock: Suppress bogus "may be used uninitialized" warnings
    be2net: Fix number of Rx queues used for flow hashing
    net: handle 802.1P vlan 0 packets properly
    tcp: enforce tcp_min_snd_mss in tcp_mtu_probing()
    tcp: add tcp_min_snd_mss sysctl
    tcp: tcp_fragment() should apply sane memory limits
    tcp: limit payload size of sacked skbs
    Revert "net: phylink: set the autoneg state in phylink_phy_change"
    bpf: fix nested bpf tracepoints with per-cpu data
    bpf: Fix out of bounds memory access in bpf_sk_storage
    vsock/virtio: set SOCK_DONE on peer shutdown
    net: dsa: rtl8366: Fix up VLAN filtering
    net: phylink: set the autoneg state in phylink_phy_change
    net: add high_order_alloc_disable sysctl/static key
    tcp: add tcp_tx_skb_cache sysctl
    ...

    Linus Torvalds
     
  • Currently, header inclusion in each file is inconsistent.
    For example, "libbpf.h" header is included as multiple ways.

    #include "bpf/libbpf.h"
    #include "libbpf.h"

    Due to commit b552d33c80a9 ("samples/bpf: fix include path
    in Makefile"), $(srctree)/tools/lib/bpf/ path had been included
    during build, path "bpf/" in header isn't necessary anymore.

    This commit removes path "bpf/" in header inclusion.

    Signed-off-by: Daniel T. Lee
    Signed-off-by: Daniel Borkmann

    Daniel T. Lee
     
  • Due to recent change of include path at commit b552d33c80a9
    ("samples/bpf: fix include path in Makefile"), some of the
    previous include options became unnecessary.

    This commit removes duplicated include options in Makefile.

    Signed-off-by: Daniel T. Lee
    Signed-off-by: Daniel Borkmann

    Daniel T. Lee
     

15 Jun, 2019

1 commit

  • Recent commit included libbpf.h in selftests/bpf/bpf_util.h.
    Since some samples use bpf_util.h and samples/bpf/Makefile doesn't
    have libbpf.h path included, build was failing. Let's add the path
    in samples/bpf/Makefile.

    Signed-off-by: Prashant Bhole
    Signed-off-by: Daniel Borkmann

    Prashant Bhole
     

11 Jun, 2019

1 commit

  • Quentin reports that commit 07c3bbdb1a9b ("samples: bpf: print
    a warning about headers_install") is producing the false
    positive when make is invoked locally, from the samples/bpf/
    directory.

    When make is run locally it hits the "all" target, which
    will recursively invoke make through the full build system.

    Speed up the "local" run which doesn't actually build anything,
    and avoid false positives by skipping all the probes if not in
    kbuild environment (cover both the new warning and the BTF
    probes).

    Reported-by: Quentin Monnet
    Signed-off-by: Jakub Kicinski
    Reviewed-by: Quentin Monnet
    Signed-off-by: Alexei Starovoitov

    Jakub Kicinski
     

08 Jun, 2019

2 commits

  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2019-06-07

    The following pull-request contains BPF updates for your *net* tree.

    The main changes are:

    1) Fix several bugs in riscv64 JIT code emission which forgot to clear high
    32-bits for alu32 ops, from Björn and Luke with selftests covering all
    relevant BPF alu ops from Björn and Jiong.

    2) Two fixes for UDP BPF reuseport that avoid calling the program in case of
    __udp6_lib_err and UDP GRO which broke reuseport_select_sock() assumption
    that skb->data is pointing to transport header, from Martin.

    3) Two fixes for BPF sockmap: a use-after-free from sleep in psock's backlog
    workqueue, and a missing restore of sk_write_space when psock gets dropped,
    from Jakub and John.

    4) Fix unconnected UDP sendmsg hook API which is insufficient as-is since it
    breaks standard applications like DNS if reverse NAT is not performed upon
    receive, from Daniel.

    5) Fix an out-of-bounds read in __bpf_skc_lookup which in case of AF_INET6
    fails to verify that the length of the tuple is long enough, from Lorenz.

    6) Fix libbpf's libbpf__probe_raw_btf to return an fd instead of 0/1 (for
    {un,}successful probe) as that is expected to be propagated as an fd to
    load_sk_storage_btf() and thus closing the wrong descriptor otherwise,
    from Michal.

    7) Fix bpftool's JSON output for the case when a lookup fails, from Krzesimir.

    8) Minor misc fixes in docs, samples and selftests, from various others.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Some ISDN files that got removed in net-next had some changes
    done in mainline, take the removals.

    Signed-off-by: David S. Miller

    David S. Miller
     

06 Jun, 2019

1 commit

  • It seems like periodically someone posts patches to "fix"
    header includes. The issue is that samples expect the
    include path to have the uAPI headers (from usr/) first,
    and then tools/ headers, so that locally installed uAPI
    headers take precedence. This means that if users didn't
    run headers_install they will see all sort of strange
    compilation errors, e.g.:

    HOSTCC samples/bpf/test_lru_dist
    samples/bpf/test_lru_dist.c:39:8: error: redefinition of ‘struct list_head’
    struct list_head {
    ^~~~~~~~~
    In file included from samples/bpf/test_lru_dist.c:9:0:
    ../tools/include/linux/types.h:69:8: note: originally defined here
    struct list_head {
    ^~~~~~~~~

    Try to detect this situation, and print a helpful warning.

    v2: just use HOSTCC (Jiong).

    Signed-off-by: Jakub Kicinski
    Reviewed-by: Quentin Monnet
    Acked-by: Martin KaFai Lau
    Signed-off-by: Daniel Borkmann

    Jakub Kicinski
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of version 2 of the gnu general public license as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 64 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141901.894819585@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

04 Jun, 2019

1 commit


01 Jun, 2019

1 commit

  • Adds more stats to HBM, including average cwnd and rtt of all TCP
    flows, percents of packets that are ecn ce marked and distribution
    of return values.

    Signed-off-by: Lawrence Brakmo
    Signed-off-by: Alexei Starovoitov

    brakmo