linux_dsm_epyc7002/net/core
Daniel Borkmann 0b8c707ddf ebpf, filter: do not convert skb->protocol to host endianess during runtime
Commit c249739579 ("bpf: allow BPF programs access 'protocol' and 'vlan_tci'
fields") has added support for accessing protocol, vlan_present and vlan_tci
into the skb offset map.

As referenced in the below discussion, accessing skb->protocol from an eBPF
program should be converted without handling endianess.

The reason for this is that an eBPF program could simply do a check more
naturally, by f.e. testing skb->protocol == htons(ETH_P_IP), where the LLVM
compiler resolves htons() against a constant automatically during compilation
time, as opposed to an otherwise needed run time conversion.

After all, the way of programming both from a user perspective differs quite
a lot, i.e. bpf_asm ["ld proto"] versus a C subset/LLVM.

Reference: https://patchwork.ozlabs.org/patch/450819/
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-03-20 15:24:26 -04:00
..
datagram.c
dev_addr_lists.c
dev_ioctl.c
dev.c net: Fix high overhead of vlan sub-device teardown. 2015-03-18 22:52:56 -04:00
drop_monitor.c
dst.c
ethtool.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
fib_rules.c net: Kill hold_net release_net 2015-03-12 14:39:40 -04:00
filter.c ebpf, filter: do not convert skb->protocol to host endianess during runtime 2015-03-20 15:24:26 -04:00
flow_dissector.c xps: fix xps for stacked devices 2015-02-04 13:02:54 -08:00
flow.c flowcache: Fix kernel panic in flow_cache_flush_task 2015-02-05 14:38:53 -08:00
gen_estimator.c
gen_stats.c gen_stats.c: Duplicate xstats buffer for later use 2015-02-19 15:45:53 -05:00
link_watch.c
Makefile net: bury net/core/iovec.c - nothing in there is used anymore 2015-02-04 01:34:15 -05:00
neighbour.c net: Kill hold_net release_net 2015-03-12 14:39:40 -04:00
net_namespace.c net: Kill hold_net release_net 2015-03-12 14:39:40 -04:00
net-procfs.c
net-sysfs.c net: add support for phys_port_name 2015-03-18 22:30:35 -04:00
net-sysfs.h
net-traces.c
netclassid_cgroup.c
netevent.c
netpoll.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
netprio_cgroup.c
pktgen.c net: pktgen: disable xmit_clone on virtual devices 2015-02-22 22:43:20 -05:00
ptp_classifier.c
request_sock.c inet: get rid of central tcp/dccp listener timer 2015-03-20 12:40:25 -04:00
rtnetlink.c net: add support for phys_port_name 2015-03-18 22:30:35 -04:00
scm.c
secure_seq.c
skbuff.c net: gro: remove obsolete code from skb_gro_receive() 2015-03-06 21:50:55 -05:00
sock_diag.c net: add real socket cookies 2015-03-11 21:55:28 -04:00
sock.c inet: get rid of central tcp/dccp listener timer 2015-03-20 12:40:25 -04:00
stream.c
sysctl_net_core.c net: increase sk_[max_]ack_backlog 2015-03-20 12:40:25 -04:00
timestamping.c
tso.c
utils.c