Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpf: Remove duplicate headers #23

Closed
wants to merge 432 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
432 commits
Select commit Hold shift + click to select a range
f0c328f
samples: bpf: Refactor tracepoint tracing programs with libbpf
DanielTimLee Aug 23, 2020
0fcdfff
selftests/bpf: Enable tc verbose mode for test_sk_assign
yonghong-song Aug 24, 2020
8b4510d
net: gain ipv4 mtu when mtu is not locked
MiaoheLin Aug 25, 2020
4718a47
netlink: remove duplicated nla_need_padding_for_64bit() check
MiaoheLin Aug 25, 2020
cca8528
cxgb4: add error handlers to LE intr_handler
RajuRangoju Aug 25, 2020
0316a21
net: Set ping saddr after we successfully get the ping port
MiaoheLin Aug 25, 2020
0ce779a
net: Avoid unnecessary inet_addr_type() call when addr is INADDR_ANY
MiaoheLin Aug 25, 2020
fdf1923
net: Remove duplicated midx check against 0
MiaoheLin Aug 25, 2020
343d8c6
net: clean up codestyle for net/ipv4
MiaoheLin Aug 25, 2020
e7fee11
8390: Avoid comma separated statements
JoePerches Aug 25, 2020
2d59079
fs_enet: Avoid comma separated statements
JoePerches Aug 25, 2020
ac937e1
wan: sbni: Avoid comma separated statements
JoePerches Aug 25, 2020
dee8477
ipv6: fib6: Avoid comma separated statements
JoePerches Aug 25, 2020
ca65a28
sunrpc: Avoid comma separated statements
JoePerches Aug 25, 2020
1f00d37
bpf: Renames in preparation for bpf_local_storage
sinkap Aug 25, 2020
4cc9ce4
bpf: Generalize caching for sk_storage.
sinkap Aug 25, 2020
f836a56
bpf: Generalize bpf_sk_storage
sinkap Aug 25, 2020
450af8d
bpf: Split bpf_local_storage to bpf_sk_storage
sinkap Aug 25, 2020
8ea6368
bpf: Implement bpf_local_storage for inodes
sinkap Aug 25, 2020
3089783
bpf: Allow local storage to be used from LSM programs
sinkap Aug 25, 2020
cd324d7
bpf: Add selftests for local_storage
sinkap Aug 25, 2020
2532f84
bpf: Disallow BPF_PRELOAD in allmodconfig builds
Aug 25, 2020
193a983
tools resolve_btfids: Add size check to get_id function
olsajiri Aug 25, 2020
a5f53b1
tools resolve_btfids: Add support for set symbols
olsajiri Aug 25, 2020
6298399
bpf: Move btf_resolve_size into __btf_resolve_size
olsajiri Aug 25, 2020
69ff304
bpf: Add elem_id pointer as argument to __btf_resolve_size
olsajiri Aug 25, 2020
887c31a
bpf: Add type_id pointer as argument to __btf_resolve_size
olsajiri Aug 25, 2020
dafe58f
bpf: Remove recursion call in btf_struct_access
olsajiri Aug 25, 2020
1c6d28a
bpf: Factor btf_struct_access function
olsajiri Aug 25, 2020
faaf4a7
bpf: Add btf_struct_ids_match function
olsajiri Aug 25, 2020
eae2e83
bpf: Add BTF_SET_START/END macros
olsajiri Aug 25, 2020
6e22ab9
bpf: Add d_path helper
olsajiri Aug 25, 2020
68a26bc
bpf: Update .BTF_ids section in btf.rst with sets info
olsajiri Aug 25, 2020
762f851
selftests/bpf: Add verifier test for d_path helper
olsajiri Aug 25, 2020
e4d1af4
selftests/bpf: Add test for d_path helper
olsajiri Aug 25, 2020
cd04b04
selftests/bpf: Add set test to resolve_btfids
olsajiri Aug 25, 2020
ea416e2
ptp: ptp_ines: Remove redundant null check
ISCAS-Vulab Aug 26, 2020
d839717
selftests/bpf: Fix open call in trigger_fstat_events
olsajiri Aug 26, 2020
24da799
inet: remove inet_sk_copy_descendant()
Aug 26, 2020
7100ff7
selftests/bpf: Fix spelling mistake "scoket" -> "socket"
Aug 26, 2020
7e40781
bpf: verifier: Use target program's type for access verifications
Aug 25, 2020
6dc03dc
selftests/bpf: Add test for freplace program with write access
Aug 25, 2020
50d1973
selftests/bpf: Test for checking return code for the extended prog
Aug 25, 2020
1410620
selftests/bpf: Test for map update access from within EXT programs
Aug 25, 2020
1fc0e18
Merge branch 'resolve_prog_type'
Aug 26, 2020
ef05afa
libbpf: Fix unintentional success return code in bpf_object__load
alexgartrell Aug 26, 2020
8d3c875
dt-bindings: net: Add bindings for Intel Keem Bay
vgjayaku Aug 26, 2020
9efc9b2
net: stmmac: Add dwmac-intel-plat for GBE driver
Aug 26, 2020
04e006b
Merge branch 'Add-Ethernet-support-for-Intel-Keem-Bay-SoC'
davem330 Aug 26, 2020
f468f21
net: Take common prefetch code structure into a function
Aug 26, 2020
e20f0db
net/mlx5e: RX, Add a prefetch command for small L1_CACHE_BYTES
Aug 26, 2020
aed4d4c
net/mlx4_en: RX, Add a prefetch command for small L1_CACHE_BYTES
Aug 26, 2020
751e425
Merge branch 'net_prefetch-API'
davem330 Aug 26, 2020
d7d49dc
ipv4: nexthop: Reduce allocation size of 'struct nh_group'
idosch Aug 26, 2020
33d8099
ipv4: nexthop: Use nla_put_be32() for NHA_GATEWAY
idosch Aug 26, 2020
233c637
ipv4: nexthop: Remove unnecessary rtnl_dereference()
idosch Aug 26, 2020
863b255
ipv4: nexthop: Correctly update nexthop group when removing a nexthop
idosch Aug 26, 2020
05290a2
selftests: fib_nexthops: Test IPv6 route with group after removing IP…
idosch Aug 26, 2020
885a3b1
ipv4: nexthop: Correctly update nexthop group when replacing a nexthop
idosch Aug 26, 2020
041bc0d
selftests: fib_nexthops: Test IPv6 route with group after replacing I…
idosch Aug 26, 2020
bf82d56
Merge branch 'ipv4-nexthop-Various-improvements'
davem330 Aug 26, 2020
4c5f6af
ibmvnic: compare adapter->init_done_rc with more readable ibmvnic_rc_…
Aug 19, 2020
fa68bfa
ibmvnic: improve ibmvnic_init and ibmvnic_reset_init
Aug 19, 2020
550f4d4
ibmvnic: remove never executed if statement
Aug 19, 2020
635e442
ibmvnic: merge ibmvnic_reset_init and ibmvnic_init
Aug 19, 2020
8396fb8
Merge branch 'refactoring-of-ibmvnic-code'
davem330 Aug 26, 2020
d6fc192
net: ipa: remove duplicate include
Aug 19, 2020
715d087
net: ethernet: qualcomm: constify qca_serdev_ops
rikardfalkeborn Aug 26, 2020
3ab4519
net: ethernet: ravb: constify bb_ops
rikardfalkeborn Aug 26, 2020
b968a44
net: renesas: sh_eth: constify bb_ops
rikardfalkeborn Aug 26, 2020
3faaf53
net: phy: at803x: constify static regulator_ops
rikardfalkeborn Aug 26, 2020
73a9df4
net: phy: mscc: macsec: constify vsc8584_macsec_ops
rikardfalkeborn Aug 26, 2020
31ffcb1
net: ath11k: constify ath11k_thermal_ops
rikardfalkeborn Aug 26, 2020
f096658
Merge branch 'drivers-net-constify-static-ops-variables'
davem330 Aug 26, 2020
2921c90
bpf: Fix a verifier failure with xor
yonghong-song Aug 25, 2020
f5493c5
selftests/bpf: Add verifier tests for xor operation
yonghong-song Aug 25, 2020
2e80be6
libbpf: Fix compilation warnings for 64-bit printf args
anakryiko Aug 27, 2020
39f774e
net: mac80211: agg-rx.c: fix duplicated words
rddunlap Aug 22, 2020
13880a3
net: mac80211: mesh.h: delete duplicated word
rddunlap Aug 22, 2020
b42c8ed
net: wireless: delete duplicated word + fix grammar
rddunlap Aug 22, 2020
cc5a639
net: wireless: reg.c: delete duplicated words + fix punctuation
rddunlap Aug 22, 2020
8cf5c86
net: wireless: scan.c: delete or fix duplicated words
rddunlap Aug 22, 2020
54f65de
net: wireless: sme.c: delete duplicated word
rddunlap Aug 22, 2020
eee79f8
net: wireless: wext_compat.c: delete duplicated word
rddunlap Aug 22, 2020
7b506ff
net: wireless: Convert to use the preferred fallthrough macro
MiaoheLin Aug 22, 2020
cb9abd4
nl80211: clean up code/policy a bit
jmberg-intel Aug 5, 2020
c8b8280
nl80211: use NLA_POLICY_RANGE(NLA_BINARY, ...) for a few attributes
jmberg-intel Aug 19, 2020
7c9ff7e
cfg80211: add helper fn for single rule channels
thillux Aug 3, 2020
12adee3
cfg80211: add helper fn for adjacent rule channels
thillux Aug 3, 2020
493a0eb
nl80211: fix PORT_AUTHORIZED wording to reflect behavior
jprestwo Apr 13, 2020
eb89a6a
nl80211: add support for setting fixed HE rate/gi/ltf
Aug 4, 2020
00c207e
nl80211: rename csa counter attributes countdown counters
blogic Aug 11, 2020
8552a43
mac80211: rename csa counters to countdown counters
blogic Aug 11, 2020
2831a63
nl80211: support SAE authentication offload in AP mode
Aug 17, 2020
2fa4e4b
net: pcs: Move XPCS into new PCS subdirectory
lunn Aug 27, 2020
fcba68b
net/phy/mdio-i2c: Move header file to include/linux/mdio
lunn Aug 27, 2020
232e15e
net: xgene: Move shared header file into include/linux
lunn Aug 27, 2020
a9770ea
net: mdio: Move MDIO drivers into a new subdirectory
lunn Aug 27, 2020
0457eb2
net: phy: Sort Kconfig and Makefile
lunn Aug 27, 2020
ef73476
Merge branch 'Move-MDIO-drivers-into-their-own-directory'
davem330 Aug 27, 2020
fdeba99
tipc: fix use-after-free in tipc_bcast_get_mode
Aug 27, 2020
b14912e
s390/qeth: clean up qeth_l3_send_setdelmc()'s declaration
julianwiedmann Aug 27, 2020
beaadcc
s390/qeth: use to_delayed_work()
julianwiedmann Aug 27, 2020
a166847
s390/qeth: make queue lock a proper spinlock
julianwiedmann Aug 27, 2020
1637950
s390/qeth: don't disable address events during initialization
julianwiedmann Aug 27, 2020
a04f0ec
s390/qeth: don't let HW override the configured port role
julianwiedmann Aug 27, 2020
61c6f21
s390/qeth: copy less data from bridge state events
julianwiedmann Aug 27, 2020
65b0494
s390/qeth: unify structs for bridge port state
julianwiedmann Aug 27, 2020
9d6a569
s390/qeth: strictly order bridge address events
julianwiedmann Aug 27, 2020
44771ea
Merge branch 's390-qeth-next'
davem330 Aug 27, 2020
50aba46
gtp: add notification mechanism
NicolasDichtel Aug 27, 2020
661b37c
tools, bpf/build: Cleanup feature files on make clean
netoptimizer Aug 27, 2020
b0c9eb3
bpf: Make bpf_link_info.iter similar to bpf_iter_link_info
yonghong-song Aug 28, 2020
ae9a138
Merge tag 'mac80211-next-for-davem-2020-08-28' of git://git.kernel.or…
davem330 Aug 28, 2020
f4d0525
bpf: Add map_meta_equal map ops
iamkafai Aug 28, 2020
134fede
bpf: Relax max_entries check for most of the inner map types
iamkafai Aug 28, 2020
d557ea3
bpf: selftests: Add test for different inner map size
iamkafai Aug 28, 2020
368be1c
smsc95xx: remove redundant function arguments
Aug 26, 2020
ad90a73
smsc95xx: use usbnet->driver_priv
Aug 26, 2020
05b35e7
smsc95xx: add phylib support
Aug 26, 2020
0baf019
Merge branch 'Add-phylib-support-to-smsc95xx'
davem330 Aug 28, 2020
316cdaa
net: add option to not create fall-back tunnels in root-ns as well
Aug 26, 2020
7a63d76
dt-bindings: net: dp83822: Add TI dp83822 phy
Aug 27, 2020
5dc39fd
net: phy: DP83822: Add ability to advertise Fiber connection
Aug 27, 2020
161e310
Merge branch 'Enable-Fiber-on-DP83822-PHY'
davem330 Aug 28, 2020
eba8760
ionic: set MTU floor at ETH_MIN_MTU
emusln Aug 27, 2020
9aa1c15
ionic: fix up a couple of debug strings
emusln Aug 27, 2020
ee20562
ionic: use kcalloc for new arrays
emusln Aug 27, 2020
30b87ab
ionic: remove lif list concept
emusln Aug 27, 2020
34dec94
ionic: rework and simplify handling of the queue stats block
emusln Aug 27, 2020
d488143
ionic: clean up unnecessary non-static functions
emusln Aug 27, 2020
ea5a8b0
ionic: reduce contiguous memory allocation requirement
emusln Aug 27, 2020
f1d2e89
ionic: use index not pointer for queue tracking
emusln Aug 27, 2020
f053e1f
ionic: change mtu without full queue rebuild
emusln Aug 27, 2020
a34e25a
ionic: change the descriptor ring length without full reset
emusln Aug 27, 2020
101b40a
ionic: change queue count with no reset
emusln Aug 27, 2020
6f7d6f0
ionic: pull reset_queues into tx_timeout handler
emusln Aug 27, 2020
f3fb15b
Merge branch 'ionic-memory-usage-rework'
davem330 Aug 28, 2020
0f091e4
netlabel: remove unused param from audit_log_format()
alexdewar Aug 28, 2020
76cd617
mm/error_inject: Fix allow_error_inject function signatures.
Aug 27, 2020
1e6c62a
bpf: Introduce sleepable BPF programs
Aug 27, 2020
07be4c4
bpf: Add bpf_copy_from_user() helper.
Aug 27, 2020
2b28874
libbpf: Support sleepable progs
Aug 27, 2020
e68a144
selftests/bpf: Add sleepable tests
Aug 27, 2020
10496f2
Merge branch 'bpf-sleepable'
borkmann Aug 28, 2020
9667305
bpf: Fix build without BPF_SYSCALL, but with BPF_JIT.
Aug 31, 2020
29523c5
bpf: Fix build without BPF_LSM.
Aug 31, 2020
c30a3c9
netlink: policy: correct validation type check
jmberg-intel Aug 31, 2020
1742b3d
xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem
magnus-karlsson Aug 28, 2020
c465576
xsk: i40e: ice: ixgbe: mlx5: Rename xsk zero-copy driver interfaces
magnus-karlsson Aug 28, 2020
1c1efc2
xsk: Create and free buffer pool independently from umem
magnus-karlsson Aug 28, 2020
7361f9c
xsk: Move fill and completion rings to buffer pool
magnus-karlsson Aug 28, 2020
c2d3d6a
xsk: Move queue_id, dev and need_wakeup to buffer pool
magnus-karlsson Aug 28, 2020
a5aa8e5
xsk: Move xsk_tx_list and its lock to buffer pool
magnus-karlsson Aug 28, 2020
7f7ffa4
xsk: Move addrs from buffer pool to umem
magnus-karlsson Aug 28, 2020
921b686
xsk: Enable sharing of dma mappings
magnus-karlsson Aug 28, 2020
8ef4e27
xsk: Rearrange internal structs for better performance
magnus-karlsson Aug 28, 2020
9647c57
xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for bette…
magnus-karlsson Aug 28, 2020
b5aea28
xsk: Add shared umem support between queue ids
magnus-karlsson Aug 28, 2020
a113243
xsk: Add shared umem support between devices
magnus-karlsson Aug 28, 2020
2f6324a
libbpf: Support shared umems between queues and devices
magnus-karlsson Aug 28, 2020
35149b2
samples/bpf: Add new sample xsk_fwd.c
cristian-dumitrescu Aug 28, 2020
acabf32
xsk: Documentation for XDP_SHARED_UMEM between queues and netdevs
magnus-karlsson Aug 28, 2020
253ac3a
hinic: add support to query sq info
Aug 28, 2020
626f060
hinic: add support to query rq info
Aug 28, 2020
5215e16
hinic: add support to query function table
Aug 28, 2020
3b44c79
Merge branch 'hinic-add-debugfs-support'
davem330 Aug 31, 2020
e859a60
net: phylink: avoid oops during initialisation
Aug 28, 2020
e2d1bac
gtp: remove useless rcu_read_lock()
NicolasDichtel Aug 28, 2020
151ea46
gtp: relax alloc constraint when adding a pdp
NicolasDichtel Aug 28, 2020
353ff8c
Merge branch 'gtp-minor-enhancements'
davem330 Aug 31, 2020
1d97898
ipv6: add ipv6_fragment hook in ipv6_stub
Aug 28, 2020
a7c978c
openvswitch: using ip6_fragment in ipv6_stub
Aug 28, 2020
bd10d45
Merge branch 'Add-ip6_fragment-in-ipv6_stub'
davem330 Aug 31, 2020
35ff765
sfc: fix W=1 warnings in efx_farch_handle_rx_not_ok
ecree-solarflare Aug 28, 2020
b6d9693
sfc: fix unused-but-set-variable warning in efx_farch_filter_remove_safe
ecree-solarflare Aug 28, 2020
b1d11fd
sfc: fix kernel-doc on struct efx_loopback_state
ecree-solarflare Aug 28, 2020
f2ed621
sfc: return errors from efx_mcdi_set_id_led, and de-indirect
ecree-solarflare Aug 28, 2020
31b143e
Merge branch 'sfc-clean-up-some-W-1-build-warnings'
davem330 Aug 31, 2020
4d4dce3
net: ethernet: ti: am65-cpts: fix i2083 genf (and estf) Reconfigurati…
grygoriyS Aug 28, 2020
cbc08a3
net: Use helper macro IP_MAX_MTU in __ip_append_data()
MiaoheLin Aug 29, 2020
5af6889
net: clean up codestyle
MiaoheLin Aug 29, 2020
b1fd447
mptcp: Remove unused macro MPTCP_SAME_STATE
Aug 29, 2020
ff007a9
tipc: Remove unused macro TIPC_FWD_MSG
Aug 29, 2020
622a63f
tipc: Remove unused macro TIPC_NACK_INTV
Aug 29, 2020
d32575a
net: wan: slic_ds26522: Remove unused macro DRV_NAME
Aug 29, 2020
52db4bc
net: dl2k: Remove unused macro DRV_NAME
Aug 29, 2020
26613a9
net: hns: Remove unused macro AE_NAME_PORT_ID_IDX
Aug 29, 2020
d604329
net/wan/fsl_ucc_hdlc: Add MODULE_DESCRIPTION
Aug 29, 2020
afd6220
net: phylink: add helper function to decode USXGMII word
IoanaCiornei Aug 30, 2020
29f02ee
net: phylink: consider QSGMII interface mode in phylink_mii_c22_pcs_g…
IoanaCiornei Aug 30, 2020
2dab432
net: mdiobus: add clause 45 mdiobus write accessor
IoanaCiornei Aug 30, 2020
0da4c3d
net: phy: add Lynx PCS module
IoanaCiornei Aug 30, 2020
588d055
net: dsa: ocelot: use the Lynx PCS helpers in Felix and Seville
IoanaCiornei Aug 30, 2020
10eb466
Merge branch 'net-phy-add-Lynx-PCS-MDIO-module'
davem330 Aug 31, 2020
3f7d820
net: ipv6: remove unused arg exact_dif in compute_score
MiaoheLin Aug 31, 2020
34e1ec3
net: ipv4: remove unused arg exact_dif in compute_score
MiaoheLin Aug 31, 2020
c8a039a
samples/bpf: Optimize l2fwd performance in xdpsock
magnus-karlsson Aug 28, 2020
b69e56c
samples/bpf: Fix to xdpsock to avoid recycling frames
weqaar Aug 28, 2020
f56407f
bpf: Remove bpf_lsm_file_mprotect from sleepable list.
Aug 31, 2020
ebc4ecd
bpf: {cpu,dev}map: Change various functions return type from int to void
Sep 1, 2020
cf3266a
net: openvswitch: improve the coding style
xpu22 Sep 1, 2020
df68d64
net: openvswitch: refactor flow free function
xpu22 Sep 1, 2020
e689616
net: openvswitch: remove unused keep_flows
xpu22 Sep 1, 2020
c70ed3f
Merge branch 'net-openvswitch-improve-the-codes'
davem330 Sep 1, 2020
ffa81fa
net/tls: Implement getsockopt SOL_TLS TLS_RX
YutaroHayakawa Sep 1, 2020
1bac035
net: sungem: Remove unneeded cast from memory allocation
Sep 1, 2020
8aa639e
liquidio: Remove unneeded cast from memory allocation
Sep 1, 2020
150f29f
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
davem330 Sep 1, 2020
36a782f
ibmvnic: Harden device Command Response Queue handshake
tlfalcon Aug 31, 2020
e0afe91
net: openvswitch: fixes crash if nf_conncount_init() fails
chaudron Aug 31, 2020
e6734cd
dpaa2-eth: add a dpaa2_eth_ prefix to all functions in dpaa2-ethtool.c
IoanaCiornei Aug 31, 2020
5d8dccf
dpaa2-eth: add a dpaa2_eth_ prefix to all functions in dpaa2-eth.c
IoanaCiornei Aug 31, 2020
8d13837
dpaa2-eth: add a dpaa2_eth_ prefix to all functions in dpaa2-eth-dcb.c
IoanaCiornei Aug 31, 2020
0697fec
Merge branch 'dpaa2-eth-add-a-dpaa2_eth_-prefix-to-all-functions'
davem330 Sep 1, 2020
203d7b0
bpf: Avoid iterating duplicated files for task_file iterator
yonghong-song Sep 2, 2020
858e8b2
selftests/bpf: Test task_file iterator without visiting pthreads
yonghong-song Sep 2, 2020
53ea207
xsk: Fix possible segfault in xsk umem diagnostics
magnus-karlsson Sep 2, 2020
968be23
xsk: Fix possible segfault at xskmap entry insertion
magnus-karlsson Sep 2, 2020
1d6fd78
xsk: Fix null check on error return path
GustavoARSilva Sep 2, 2020
83cf5c6
xsk: Fix use-after-free in failed shared_umem bind
magnus-karlsson Sep 2, 2020
0201c57
libbpf: Ensure ELF symbols table is found before further ELF processing
anakryiko Sep 3, 2020
c112239
libbpf: Parse multi-function sections into multiple BPF programs
anakryiko Sep 3, 2020
db2b8b0
libbpf: Support CO-RE relocations for multi-prog sections
anakryiko Sep 3, 2020
c3c5569
libbpf: Make RELO_CALL work for multi-prog sections and sub-program c…
anakryiko Sep 3, 2020
8505e87
libbpf: Implement generalized .BTF.ext func/line info adjustment
anakryiko Sep 3, 2020
7e06aad
libbpf: Add multi-prog section support for struct_ops
anakryiko Sep 3, 2020
a08c02f
selftests/bpf: Add selftest for multi-prog sections and bpf-to-bpf calls
anakryiko Sep 3, 2020
fd17e27
tools/bpftool: Replace bpf_program__title() with bpf_program__section…
anakryiko Sep 3, 2020
a7659cc
selftests/bpf: Don't use deprecated libbpf APIs
anakryiko Sep 3, 2020
5210958
libbpf: Deprecate notion of BPF program "title" in favor of "section …
anakryiko Sep 3, 2020
d86687a
selftests/bpf: Turn fexit_bpf2bpf into test with subtests
anakryiko Sep 3, 2020
fab45be
selftests/bpf: Add subprogs to pyperf, strobemeta, and l4lb_noinline …
anakryiko Sep 3, 2020
baaf680
selftests/bpf: Modernize xdp_noinline test w/ skeleton and __noinline
anakryiko Sep 3, 2020
ee333df
selftests/bpf: Add __noinline variant of cls_redirect selftest
anakryiko Sep 3, 2020
b4ff7ad
Merge branch 'libbpf-support-bpf-to-bpf-calls'
Sep 4, 2020
95cec14
selftests/bpf: Fix check in global_data_init.
haoluo1022 Sep 3, 2020
17e54b0
libbpf: Fix another __u64 cast in printf
anakryiko Sep 4, 2020
8eb6295
libbpf: Fix potential multiplication overflow
anakryiko Sep 4, 2020
698584d
samples, bpf: Replace bpf_program__title() with bpf_program__section_…
DanielTimLee Sep 4, 2020
f9bec5d
samples, bpf: Add xsk_fwd test file to .gitignore
DanielTimLee Sep 4, 2020
1a7581b
tools: bpftool: Fix formatting in bpftool-link documentation
qmonnet Sep 4, 2020
938c3ef
bpf: Fix formatting in documentation for BPF helpers
qmonnet Sep 4, 2020
bc0b5a0
tools, bpf: Synchronise BPF UAPI header with tools
qmonnet Sep 4, 2020
7c69673
bpf: Permit map_ptr arithmetic with opcode add and offset 0
yonghong-song Sep 8, 2020
e6054fc
selftests/bpf: Add test for map_ptr arithmetic
yonghong-song Sep 8, 2020
7fb5eef
selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change
yonghong-song Sep 9, 2020
8081ede
perf: Stop using deprecated bpf_program__title()
anakryiko Sep 8, 2020
f1a5f44
adding ci files
kernel-patches-bot Sep 9, 2020
bd9a8d1
Remove duplicate headers which are included twice.
Sep 9, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
32 changes: 32 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
sudo: required
language: bash
dist: bionic
services:
- docker

env:
global:
- PROJECT_NAME='libbpf'
- AUTHOR_EMAIL="$(git log -1 --pretty=\"%aE\")"
- REPO_ROOT="$TRAVIS_BUILD_DIR"
- CI_ROOT="$REPO_ROOT/travis-ci"
- VMTEST_ROOT="$CI_ROOT/vmtest"

addons:
apt:
packages:
- qemu-kvm
- zstd
- binutils-dev
- elfutils
- libcap-dev
- libelf-dev
- libdw-dev

jobs:
include:
- stage: Builds & Tests
name: Kernel LATEST + selftests
language: bash
env: KERNEL=LATEST
script: $CI_ROOT/vmtest/run_vmtest.sh || travis_terminate 1
5 changes: 5 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1338,6 +1338,11 @@
Format: <interval>,<probability>,<space>,<times>
See also Documentation/fault-injection/.

fb_tunnels= [NET]
Format: { initns | none }
See Documentation/admin-guide/sysctl/net.rst for
fb_tunnels_only_for_init_ns

floppy= [HW]
See Documentation/admin-guide/blockdev/floppy.rst.

Expand Down
20 changes: 14 additions & 6 deletions Documentation/admin-guide/sysctl/net.rst
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,6 @@ Note:
0: 0 1 2 3 4 5 6 7
RSS hash key:
84:50:f4:00:a8:15:d1:a7:e9:7f:1d:60:35:c7:47:25:42:97:74:ca:56:bb:b6:a1:d8:43:e3:c9:0c:fd:17:55:c2:3a:4d:69:ed:f1:42:89

netdev_tstamp_prequeue
----------------------

Expand All @@ -321,11 +320,20 @@ fb_tunnels_only_for_init_net
----------------------------

Controls if fallback tunnels (like tunl0, gre0, gretap0, erspan0,
sit0, ip6tnl0, ip6gre0) are automatically created when a new
network namespace is created, if corresponding tunnel is present
in initial network namespace.
If set to 1, these devices are not automatically created, and
user space is responsible for creating them if needed.
sit0, ip6tnl0, ip6gre0) are automatically created. There are 3 possibilities
(a) value = 0; respective fallback tunnels are created when module is
loaded in every net namespaces (backward compatible behavior).
(b) value = 1; [kcmd value: initns] respective fallback tunnels are
created only in init net namespace and every other net namespace will
not have them.
(c) value = 2; [kcmd value: none] fallback tunnels are not created
when a module is loaded in any of the net namespace. Setting value to
"2" is pointless after boot if these modules are built-in, so there is
a kernel command-line option that can change this default. Please refer to
Documentation/admin-guide/kernel-parameters.txt for additional details.

Not creating fallback tunnels gives control to userspace to create
whatever is needed only and avoid creating devices which are redundant.

Default : 0 (for compatibility reasons)

Expand Down
19 changes: 12 additions & 7 deletions Documentation/bpf/bpf_devel_QA.rst
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ In case the patch or patch series has to be reworked and sent out
again in a second or later revision, it is also required to add a
version number (``v2``, ``v3``, ...) into the subject prefix::

git format-patch --subject-prefix='PATCH net-next v2' start..finish
git format-patch --subject-prefix='PATCH bpf-next v2' start..finish

When changes have been requested to the patch series, always send the
whole patch series again with the feedback incorporated (never send
Expand Down Expand Up @@ -479,17 +479,18 @@ LLVM's static compiler lists the supported targets through

$ llc --version
LLVM (http://llvm.org/):
LLVM version 6.0.0svn
LLVM version 10.0.0
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: skylake

Registered Targets:
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
aarch64 - AArch64 (little endian)
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64

For developers in order to utilize the latest features added to LLVM's
BPF back end, it is advisable to run the latest LLVM releases. Support
Expand Down Expand Up @@ -517,6 +518,10 @@ from the git repositories::
The built binaries can then be found in the build/bin/ directory, where
you can point the PATH variable to.

Set ``-DLLVM_TARGETS_TO_BUILD`` equal to the target you wish to build, you
will find a full list of targets within the llvm-project/llvm/lib/Target
directory.

Q: Reporting LLVM BPF issues
----------------------------
Q: Should I notify BPF kernel maintainers about issues in LLVM's BPF code
Expand Down
25 changes: 25 additions & 0 deletions Documentation/bpf/btf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -724,6 +724,31 @@ want to define unused entry in BTF_ID_LIST, like::
BTF_ID_UNUSED
BTF_ID(struct, task_struct)

The ``BTF_SET_START/END`` macros pair defines sorted list of BTF ID values
and their count, with following syntax::

BTF_SET_START(set)
BTF_ID(type1, name1)
BTF_ID(type2, name2)
BTF_SET_END(set)

resulting in following layout in .BTF_ids section::

__BTF_ID__set__set:
.zero 4
__BTF_ID__type1__name1__3:
.zero 4
__BTF_ID__type2__name2__4:
.zero 4

The ``struct btf_id_set set;`` variable is defined to access the list.

The ``typeX`` name can be one of following::

struct, union, typedef, func

and is used as a filter when resolving the BTF ID value.

All the BTF ID lists and sets are compiled in the .BTF_ids section and
resolved during the linking phase of kernel build by ``resolve_btfids`` tool.

Expand Down
1 change: 1 addition & 0 deletions Documentation/bpf/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ Program types
prog_cgroup_sysctl
prog_flow_dissector
bpf_lsm
prog_sk_lookup


Map types
Expand Down
98 changes: 98 additions & 0 deletions Documentation/bpf/prog_sk_lookup.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
.. SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

=====================
BPF sk_lookup program
=====================

BPF sk_lookup program type (``BPF_PROG_TYPE_SK_LOOKUP``) introduces programmability
into the socket lookup performed by the transport layer when a packet is to be
delivered locally.

When invoked BPF sk_lookup program can select a socket that will receive the
incoming packet by calling the ``bpf_sk_assign()`` BPF helper function.

Hooks for a common attach point (``BPF_SK_LOOKUP``) exist for both TCP and UDP.

Motivation
==========

BPF sk_lookup program type was introduced to address setup scenarios where
binding sockets to an address with ``bind()`` socket call is impractical, such
as:

1. receiving connections on a range of IP addresses, e.g. 192.0.2.0/24, when
binding to a wildcard address ``INADRR_ANY`` is not possible due to a port
conflict,
2. receiving connections on all or a wide range of ports, i.e. an L7 proxy use
case.

Such setups would require creating and ``bind()``'ing one socket to each of the
IP address/port in the range, leading to resource consumption and potential
latency spikes during socket lookup.

Attachment
==========

BPF sk_lookup program can be attached to a network namespace with
``bpf(BPF_LINK_CREATE, ...)`` syscall using the ``BPF_SK_LOOKUP`` attach type and a
netns FD as attachment ``target_fd``.

Multiple programs can be attached to one network namespace. Programs will be
invoked in the same order as they were attached.

Hooks
=====

The attached BPF sk_lookup programs run whenever the transport layer needs to
find a listening (TCP) or an unconnected (UDP) socket for an incoming packet.

Incoming traffic to established (TCP) and connected (UDP) sockets is delivered
as usual without triggering the BPF sk_lookup hook.

The attached BPF programs must return with either ``SK_PASS`` or ``SK_DROP``
verdict code. As for other BPF program types that are network filters,
``SK_PASS`` signifies that the socket lookup should continue on to regular
hashtable-based lookup, while ``SK_DROP`` causes the transport layer to drop the
packet.

A BPF sk_lookup program can also select a socket to receive the packet by
calling ``bpf_sk_assign()`` BPF helper. Typically, the program looks up a socket
in a map holding sockets, such as ``SOCKMAP`` or ``SOCKHASH``, and passes a
``struct bpf_sock *`` to ``bpf_sk_assign()`` helper to record the
selection. Selecting a socket only takes effect if the program has terminated
with ``SK_PASS`` code.

When multiple programs are attached, the end result is determined from return
codes of all the programs according to the following rules:

1. If any program returned ``SK_PASS`` and selected a valid socket, the socket
is used as the result of the socket lookup.
2. If more than one program returned ``SK_PASS`` and selected a socket, the last
selection takes effect.
3. If any program returned ``SK_DROP``, and no program returned ``SK_PASS`` and
selected a socket, socket lookup fails.
4. If all programs returned ``SK_PASS`` and none of them selected a socket,
socket lookup continues on.

API
===

In its context, an instance of ``struct bpf_sk_lookup``, BPF sk_lookup program
receives information about the packet that triggered the socket lookup. Namely:

* IP version (``AF_INET`` or ``AF_INET6``),
* L4 protocol identifier (``IPPROTO_TCP`` or ``IPPROTO_UDP``),
* source and destination IP address,
* source and destination L4 port,
* the socket that has been selected with ``bpf_sk_assign()``.

Refer to ``struct bpf_sk_lookup`` declaration in ``linux/bpf.h`` user API
header, and `bpf-helpers(7)
<https://man7.org/linux/man-pages/man7/bpf-helpers.7.html>`_ man-page section
for ``bpf_sk_assign()`` for details.

Example
=======

See ``tools/testing/selftests/bpf/prog_tests/sk_lookup.c`` for the reference
implementation.
130 changes: 130 additions & 0 deletions Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/intel,dwmac-plat.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Intel DWMAC glue layer Device Tree Bindings

maintainers:
- Vineetha G. Jaya Kumaran <vineetha.g.jaya.kumaran@intel.com>

select:
properties:
compatible:
contains:
enum:
- intel,keembay-dwmac
required:
- compatible

allOf:
- $ref: "snps,dwmac.yaml#"

properties:
compatible:
oneOf:
- items:
- enum:
- intel,keembay-dwmac
- const: snps,dwmac-4.10a

clocks:
items:
- description: GMAC main clock
- description: PTP reference clock
- description: Tx clock

clock-names:
items:
- const: stmmaceth
- const: ptp_ref
- const: tx_clk

required:
- compatible
- clocks
- clock-names

examples:
# FIXME: Remove defines and include the correct header file
# once it is available in mainline.
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#define MOVISOC_KMB_PSS_GBE
#define MOVISOC_KMB_PSS_AUX_GBE_PTP
#define MOVISOC_KMB_PSS_AUX_GBE_TX

stmmac_axi_setup: stmmac-axi-config {
snps,lpi_en;
snps,wr_osr_lmt = <0x0>;
snps,rd_osr_lmt = <0x2>;
snps,blen = <0 0 0 0 16 8 4>;
};

mtl_rx_setup: rx-queues-config {
snps,rx-queues-to-use = <2>;
snps,rx-sched-sp;
queue0 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x0>;
snps,priority = <0x0>;
};

queue1 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x1>;
snps,priority = <0x1>;
};
};

mtl_tx_setup: tx-queues-config {
snps,tx-queues-to-use = <2>;
snps,tx-sched-wrr;
queue0 {
snps,weight = <0x10>;
snps,dcb-algorithm;
snps,priority = <0x0>;
};

queue1 {
snps,weight = <0x10>;
snps,dcb-algorithm;
snps,priority = <0x1>;
};
};

gmac0: ethernet@3a000000 {
compatible = "intel,keembay-dwmac", "snps,dwmac-4.10a";
interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq";
reg = <0x3a000000 0x8000>;
snps,perfect-filter-entries = <128>;
phy-handle = <&eth_phy0>;
phy-mode = "rgmii";
rx-fifo-depth = <4096>;
tx-fifo-depth = <4096>;
clock-names = "stmmaceth", "ptp_ref", "tx_clk";
clocks = <&scmi_clk MOVISOC_KMB_PSS_GBE>,
<&scmi_clk MOVISOC_KMB_PSS_AUX_GBE_PTP>,
<&scmi_clk MOVISOC_KMB_PSS_AUX_GBE_TX>;
snps,pbl = <0x4>;
snps,axi-config = <&stmmac_axi_setup>;
snps,mtl-rx-config = <&mtl_rx_setup>;
snps,mtl-tx-config = <&mtl_tx_setup>;
snps,tso;
status = "okay";

mdio0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "snps,dwmac-mdio";

ethernet-phy@0 {
reg = <0>;
};
};
};

...
Loading