Willem de Bruijn
bc31c905e9
net-tc: convert tc_from to tc_from_ingress and tc_redirected
...
The tc_from field fulfills two roles. It encodes whether a packet was
redirected by an act_mirred device and, if so, whether act_mirred was
called on ingress or egress. Split it into separate fields.
The information is needed by the special IFB loop, where packets are
taken out of the normal path by act_mirred, forwarded to IFB, then
reinjected at their original location (ingress or egress) by IFB.
The IFB device cannot use skb->tc_at_ingress, because that may have
been overwritten as the packet travels from act_mirred to ifb_xmit,
when it passes through tc_classify on the IFB egress path. Cache this
value in skb->tc_from_ingress.
That field is valid only if a packet arriving at ifb_xmit came from
act_mirred. Other packets can be crafted to reach ifb_xmit. These
must be dropped. Set tc_redirected on redirection and drop all packets
that do not have this bit set.
Both fields are set only on cloned skbs in tc actions, so original
packet sources do not have to clear the bit when reusing packets
(notably, pktgen and octeon).
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-08 20:58:52 -05:00
..
9p
bluetooth
Bluetooth: __ variants of u8 and friends are not neccessary inside kernel
2016-11-27 07:41:05 +01:00
caif
irda
iucv
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
2016-12-07 19:16:46 -05:00
netns
ipv4: Namespaceify tcp_max_syn_backlog knob
2016-12-29 11:38:31 -05:00
nfc
NFC: digital: Add support for NFC DEP Response Waiting Time
2016-07-11 02:01:14 +02:00
phonet
sctp
sctp: prepare asoc stream for stream reconf
2017-01-06 21:07:26 -05:00
tc_act
net/sched: act_tunnel_key: add helper inlines to access tcf_tunnel_key
2016-11-09 13:41:53 -05:00
6lowpan.h
6lowpan: add 802.15.4 short addr slaac
2016-06-15 20:41:22 -07:00
act_api.h
net_sched: gen_estimator: complete rewrite of rate estimators
2016-12-05 15:21:59 -05:00
addrconf.h
ipv6: fix a potential deadlock in do_ipv6_setsockopt()
2016-10-21 11:29:02 -04:00
af_ieee802154.h
af_rxrpc.h
rxrpc: Rewrite the data and ack handling code
2016-09-08 11:10:12 +01:00
af_unix.h
af_unix: split 'u->readlock' into two: 'iolock' and 'bindlock'
2016-09-04 13:29:29 -07:00
af_vsock.h
VSOCK: Introduce virtio_vsock_common.ko
2016-08-02 02:57:29 +03:00
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
bond_3ad.h
bond_alb.h
bond_options.h
bonding.h
netns: make struct pernet_operations::id unsigned int
2016-11-18 10:59:15 -05:00
busy_poll.h
udp: enable busy polling for all sockets
2016-11-18 10:44:31 -05:00
calipso.h
calipso: Add a label cache.
2016-06-27 15:06:17 -04:00
cfg80211-wext.h
cfg80211.h
cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts
2016-12-09 12:57:49 +01:00
cfg802154.h
ieee802154: add netns support
2016-07-08 12:20:57 +02:00
checksum.h
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
cipso_ipv4.h
cls_cgroup.h
cls_cgroup: get sk_classid only from full sockets
2016-04-19 20:09:25 -04:00
codel.h
codel: split into multiple files
2016-04-25 16:44:27 -04:00
codel_impl.h
codel: split into multiple files
2016-04-25 16:44:27 -04:00
codel_qdisc.h
net_sched: fq_codel: cache skb->truesize into skb->cb
2016-06-25 12:19:35 -04:00
compat.h
packet: compat support for sock_fprog
2016-06-09 23:41:03 -07:00
datalink.h
dcbevent.h
dcbnl.h
devlink.h
devlink: Add E-Switch inline mode control
2016-11-24 16:01:14 -05:00
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dsa.h
net: dsa: add port fast ageing
2016-09-23 08:38:50 -04:00
dsfield.h
dst.h
route: move lwtunnel state to a single place
2016-04-25 16:20:09 -04:00
dst_cache.h
net: add dst_cache support
2016-02-16 20:21:48 -05:00
dst_metadata.h
net/dst: Add dst port to dst_metadata utility functions
2016-11-09 13:41:54 -05:00
dst_ops.h
esp.h
ethoc.h
fib_rules.h
net: core: add UID to flows, rules, and routes
2016-11-04 14:45:23 -04:00
firewire.h
flow.h
Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-12-12 19:25:04 -08:00
flow_dissector.h
flow dissector: ICMP support
2016-12-08 11:45:21 -05:00
flowcache.h
net/flowcache: Convert to hotplug state machine
2016-11-09 23:45:28 +01:00
fou.h
fou: Add encap ops for IPv6 tunnels
2016-05-20 18:03:16 -04:00
fq.h
fq.h: Port memory limit mechanism from fq_codel
2016-09-30 13:29:21 +02:00
fq_impl.h
fq.h: Port memory limit mechanism from fq_codel
2016-09-30 13:29:21 +02:00
garp.h
gen_stats.h
net_sched: gen_estimator: complete rewrite of rate estimators
2016-12-05 15:21:59 -05:00
genetlink.h
genetlink: Make family a signed integer.
2016-11-13 12:14:59 -05:00
geneve.h
net: Remove deprecated tunnel specific UDP offload functions
2016-06-17 20:23:32 -07:00
gre.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-08-18 01:17:32 -04:00
gro_cells.h
gro_cells: mark napi struct as not busy poll candidates
2016-11-15 22:27:27 -05:00
gtp.h
gtp: #define #define _GTP_H_ and not #define _GTP_H
2016-07-25 17:55:43 -07:00
gue.h
hwbm.h
net: add a hardware buffer management helper API
2016-03-14 12:19:46 -04:00
icmp.h
net: snmp: kill STATS_BH macros
2016-04-27 22:48:25 -04:00
ieee80211_radiotap.h
wireless: radiotap: fix timestamp sampling position values
2016-10-19 12:11:36 +02:00
ieee802154_netdev.h
if_inet6.h
ipv6 addrconf: Implemented enhanced DAD (RFC7527)
2016-12-03 23:21:37 -05:00
ila.h
inet6_connection_sock.h
inet: Fix get port to handle zero port number with soreuseport set
2016-12-17 11:13:19 -05:00
inet6_hashtables.h
tcp/dccp: do not touch listener sk_refcnt under synflood
2016-04-04 22:11:20 -04:00
inet_common.h
ip4ip6: Support for GSO/GRO
2016-05-20 18:03:17 -04:00
inet_connection_sock.h
inet: Fix get port to handle zero port number with soreuseport set
2016-12-17 11:13:19 -05:00
inet_ecn.h
ipv6: suppress sparse warnings in IP6_ECN_set_ce()
2016-08-13 15:08:00 -07:00
inet_frag.h
ipv4: namespacify ip fragment max dist sysctl knob
2016-02-16 20:42:54 -05:00
inet_hashtables.h
tcp/dccp: do not touch listener sk_refcnt under synflood
2016-04-04 22:11:20 -04:00
inet_sock.h
ipv4: add IP_RECVFRAGSIZE cmsg
2016-11-03 15:41:11 -04:00
inet_timewait_sock.h
ipv4: Namespaceify tcp_tw_recycle and tcp_max_tw_buckets knob
2016-12-29 11:38:31 -05:00
inetpeer.h
ip.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-11-15 10:54:36 -05:00
ip6_checksum.h
ipv6: Pass proto to csum_ipv6_magic as __u8 instead of unsigned short
2016-03-13 23:55:13 -04:00
ip6_fib.h
net: ipv6: Fix processing of RAs in presence of VRF
2016-10-27 16:30:52 -04:00
ip6_route.h
net: inet: Support UID-based routing in IP protocols.
2016-11-04 14:45:23 -04:00
ip6_tunnel.h
ip6_tunnel: Clear IP6CB in ip6tunnel_xmit()
2016-11-02 15:18:36 -04:00
ip_fib.h
net: ipv4: make fib_select_default static
2017-01-06 15:57:50 -05:00
ip_tunnels.h
net: make ndo_get_stats64 a void function
2017-01-08 17:51:44 -05:00
ip_vs.h
ipvs: update real-server binding of outgoing connections in SIP-pe
2016-06-06 09:47:25 +09:00
ipcomp.h
ipconfig.h
ipv6.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-12-03 12:29:53 -05:00
ipx.h
iw_handler.h
kcm.h
kcm: Use stream parser
2016-08-17 19:36:23 -04:00
l3mdev.h
net: ipv4: Do not drop to make_route if oif is l3mdev
2016-10-13 12:05:26 -04:00
lapb.h
lib80211.h
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
lwtunnel.h
lwtunnel: subtract tunnel headroom from mtu on output redirect
2016-11-16 17:01:15 -05:00
mac80211.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-10-30 12:42:58 -04:00
mac802154.h
ieee802154: cleanup WARN_ON for fc fetch
2016-07-08 13:23:12 +02:00
mip6.h
mld.h
mpls.h
openvswitch: use mpls_hdr
2016-10-03 02:00:22 -04:00
mpls_iptunnel.h
mrp.h
ncsi.h
net/ncsi: Introduce ncsi_stop_dev()
2016-10-04 02:11:51 -04:00
ndisc.h
ipv6 addrconf: Implemented enhanced DAD (RFC7527)
2016-12-03 23:21:37 -05:00
neighbour.h
net_namespace.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-11-22 13:27:16 -05:00
net_ratelimit.h
netevent.h
neigh: Send a notification when DELAY_PROBE_TIME changes
2016-07-05 09:06:29 -07:00
netlabel.h
netlabel: Implement CALIPSO config functions for SMACK.
2016-06-27 15:06:18 -04:00
netlink.h
netlink: revert broken, broken "2-clause nla_ok()"
2016-12-13 14:54:44 -05:00
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h
ieee802154: add netns support
2016-07-08 12:20:57 +02:00
p8022.h
ping.h
net: ping: make ping_v6_sendmsg static
2016-03-23 22:09:58 -04:00
pkt_cls.h
net/sched: cls_flower: Add offload support using egress Hardware device
2016-12-02 13:28:37 -05:00
pkt_sched.h
net: make default TX queue length a defined constant
2016-11-07 20:15:55 -05:00
pptp.h
pptp: Refactor the struct and macros of PPTP codes
2016-08-15 10:55:53 -07:00
protocol.h
udp: Remove udp_offloads
2016-04-07 16:53:30 -04:00
psnap.h
raw.h
net: ip, diag -- Add diag interface for raw sockets
2016-10-23 19:35:24 -04:00
rawv6.h
net: ip, diag -- Add diag interface for raw sockets
2016-10-23 19:35:24 -04:00
red.h
ktime: Get rid of the union
2016-12-25 17:21:22 +01:00
regulatory.h
request_sock.h
ipv4: Namespaceify tcp_max_syn_backlog knob
2016-12-29 11:38:31 -05:00
rose.h
route.h
net: inet: Support UID-based routing in IP protocols.
2016-11-04 14:45:23 -04:00
rtnetlink.h
net: rtnetlink: add support for the IFLA_STATS_LINK_XSTATS_SLAVE attribute
2016-06-30 06:15:04 -04:00
sch_generic.h
net-tc: convert tc_from to tc_from_ingress and tc_redirected
2017-01-08 20:58:52 -05:00
scm.h
secure_seq.h
tcp: randomize tcp timestamp offsets for each connection
2016-12-02 12:49:59 -05:00
seg6.h
ipv6: sr: add core files for SR HMAC support
2016-11-09 20:40:06 -05:00
seg6_hmac.h
ipv6: sr: add core files for SR HMAC support
2016-11-09 20:40:06 -05:00
slhc_vj.h
snmp.h
net: snmp: fix 64bit stats on 32bit arches
2016-04-28 11:49:45 -04:00
sock.h
ktime: Get rid of the union
2016-12-25 17:21:22 +01:00
sock_reuseport.h
Space.h
stp.h
strparser.h
kcm: Remove TCP specific references from kcm and strparser
2016-08-28 23:32:41 -04:00
switchdev.h
switchdev: remove FIB offload infrastructure
2016-09-28 04:48:00 -04:00
tcp.h
ipv4: Namespaceify tcp_tw_recycle and tcp_max_tw_buckets knob
2016-12-29 11:38:31 -05:00
tcp_states.h
timewait_sock.h
transp_v6.h
ipv6: add new struct ipcm6_cookie
2016-05-03 16:08:14 -04:00
tso.h
udp.h
udplite: fix NULL pointer dereference
2016-11-15 11:59:38 -05:00
udp_tunnel.h
vxlan: Add new UDP encapsulation offload type for VXLAN-GPE
2016-06-17 20:23:32 -07:00
udplite.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2016-12-16 10:24:44 -08:00
vsock_addr.h
vxlan.h
vxlan: remove unsed vxlan_dev_dst_port()
2016-11-15 12:16:13 -05:00
wext.h
wimax.h
x25.h
x25device.h
xfrm.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-09-23 06:46:57 -04:00