John Hurley
7f76fa3675
net: sched: register callbacks for indirect tc block binds
...
Currently drivers can register to receive TC block bind/unbind callbacks
by implementing the setup_tc ndo in any of their given netdevs. However,
drivers may also be interested in binds to higher level devices (e.g.
tunnel drivers) to potentially offload filters applied to them.
Introduce indirect block devs which allows drivers to register callbacks
for block binds on other devices. The callback is triggered when the
device is bound to a block, allowing the driver to register for rules
applied to that block using already available functions.
Freeing an indirect block callback will trigger an unbind event (if
necessary) to direct the driver to remove any offloaded rules and unreg
any block rule callbacks. It is the responsibility of the implementing
driver to clean any registered indirect block callbacks before exiting,
if the block it still active at such a time.
Allow registering an indirect block dev callback for a device that is
already bound to a block. In this case (if it is an ingress block),
register and also trigger the callback meaning that any already installed
rules can be replayed to the calling driver.
Signed-off-by: John Hurley <john.hurley@netronome.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-11-11 09:54:52 -08:00
..
9p
9p: Add refcount to p9_req_t
2018-09-08 01:39:47 +09:00
bluetooth
Bluetooth: Errata Service Release 8, Erratum 3253
2018-10-14 10:25:47 +02:00
caif
iucv
net/af_iucv: locate IUCV header via skb_network_header()
2018-09-26 09:56:07 -07:00
netfilter
netfilter: conntrack: add nf_{tcp,udp,sctp,icmp,dccp,icmpv6,generic}_pernet()
2018-11-03 13:28:02 +01:00
netns
net: provide a sysctl raw_l3mdev_accept for raw socket lookup with VRFs
2018-11-07 16:12:38 -08:00
nfc
NFC: Fix the number of pipes
2018-09-18 19:55:01 -07:00
phonet
proc: introduce proc_create_net{,_data}
2018-05-16 07:24:30 +02:00
sctp
net: Convert protocol error handlers from void to int
2018-11-08 17:13:08 -08:00
tc_act
Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux
2018-07-20 21:17:12 -07:00
6lowpan.h
act_api.h
net_sched: convert idrinfo->lock from spinlock to a mutex
2018-10-05 00:36:31 -07:00
addrconf.h
net/ipv6: Add anycast addresses to a global hashtable
2018-11-02 23:54:56 -07:00
af_ieee802154.h
ieee802154: add rx LQI from userspace
2018-07-13 12:18:18 -04:00
af_rxrpc.h
rxrpc: Allow the reply time to be obtained on a client call
2018-10-04 09:54:29 +01:00
af_unix.h
net: drop a space before tabs
2018-10-31 12:37:12 -07:00
af_vsock.h
vsock: split dwork to avoid reinitializations
2018-08-07 12:39:13 -07:00
ah.h
arp.h
atmclip.h
ax25.h
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
ax88796.h
bond_3ad.h
include/net/bond_3ad: Simplify the code by using the ARRAY_SIZE
2018-08-04 13:23:15 -07:00
bond_alb.h
bond_options.h
bonding.h
bonding: avoid possible dead-lock
2018-09-26 20:22:19 -07:00
busy_poll.h
net: remove sock_poll_busy_flag
2018-07-30 09:10:25 -07:00
calipso.h
cfg80211-wext.h
cfg80211.h
nl80211: Add per peer statistics to compute FCS error rate
2018-10-12 12:56:34 +02:00
cfg802154.h
checksum.h
cipso_ipv4.h
cls_cgroup.h
codel.h
codel_impl.h
codel_qdisc.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
net: dcb: Add priority-to-DSCP map getters
2018-07-27 13:17:50 -07:00
devlink.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-10-12 21:38:46 -07:00
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dsa.h
net: dsa: Add Lantiq / Intel GSWIP tag support
2018-09-13 08:14:33 -07:00
dsfield.h
dst.h
geneve, vxlan: Don't set exceptions if skb->len < mtu
2018-10-17 21:51:13 -07:00
dst_cache.h
dst_metadata.h
dst_ops.h
erspan.h
erspan: set bso bit based on mirrored packet's len
2018-05-20 18:31:42 -04:00
esp.h
ethoc.h
failover.h
net: Introduce generic failover module
2018-05-28 22:59:54 -04:00
fib_notifier.h
fib_rules.h
net: fib_rules: add extack support
2018-04-23 10:21:24 -04:00
firewire.h
flow.h
xfrm: Remove xfrmi interface ID from flowi
2018-07-20 10:14:41 +02:00
flow_dissector.h
flow_dissector: allow dissection of tunnel options from metadata
2018-08-07 12:22:14 -07:00
fou.h
fq.h
fq_impl.h
garp.h
gen_stats.h
net/core: Add new basic hardware counter
2018-09-24 12:18:42 -07:00
genetlink.h
genetlink: constify genl_err_attr() argument
2018-08-29 19:42:52 -07:00
geneve.h
net: add netif_is_geneve()
2018-11-07 23:00:23 -08:00
gre.h
gro_cells.h
gtp.h
gue.h
hwbm.h
icmp.h
net: Convert protocol error handlers from void to int
2018-11-08 17:13:08 -08:00
ieee80211_radiotap.h
mac80211: support reporting 0-length PSDU in radiotap
2018-09-05 10:08:25 +02:00
ieee802154_netdev.h
if_inet6.h
net/ipv6: Add anycast addresses to a global hashtable
2018-11-02 23:54:56 -07:00
ife.h
ila.h
inet6_connection_sock.h
inet6_hashtables.h
net: allow binding socket in a VRF when there's an unbound socket
2018-11-07 16:12:38 -08:00
inet_common.h
net: Convert GRO SKB handling to list_head.
2018-06-26 11:33:04 +09:00
inet_connection_sock.h
inet/connection_sock: prefer _THIS_IP_ to current_text_addr
2018-08-14 10:04:36 -07:00
inet_ecn.h
inet: Refactor INET_ECN_decapsulate()
2018-10-17 17:45:07 -07:00
inet_frag.h
ip: add helpers to process in-order fragments faster.
2018-08-11 17:54:18 -07:00
inet_hashtables.h
net: ensure unbound stream socket to be chosen when not in a VRF
2018-11-07 16:12:38 -08:00
inet_sock.h
net: ensure unbound stream socket to be chosen when not in a VRF
2018-11-07 16:12:38 -08:00
inet_timewait_sock.h
net-tcp: remove useless tw_timeout field
2018-06-05 10:45:24 -04:00
inetpeer.h
ip.h
ip: factor out protocol delivery helper
2018-11-07 16:23:05 -08:00
ip6_checksum.h
ip6_fib.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-10-19 11:03:06 -07:00
ip6_route.h
net: Add struct for fib dump filter
2018-10-16 00:13:12 -07:00
ip6_tunnel.h
udp: Support for error handlers of tunnels with arbitrary destination port
2018-11-08 17:13:08 -08:00
ip_fib.h
net: Don't return invalid table id error when dumping all families
2018-10-24 14:06:25 -07:00
ip_tunnels.h
udp: Support for error handlers of tunnels with arbitrary destination port
2018-11-08 17:13:08 -08:00
ip_vs.h
ipvs: add assured state for conn templates
2018-07-18 11:26:40 +02:00
ipcomp.h
ipconfig.h
ipv6.h
ipv6: factor out protocol delivery helper
2018-11-07 16:23:05 -08:00
ipv6_frag.h
ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module
2018-07-18 11:26:53 +02:00
ipx.h
iw_handler.h
kcm.h
l3mdev.h
lag.h
net: Add lag.h, net_lag_port_dev_txable()
2018-07-11 23:10:19 -07:00
lapb.h
lib80211.h
llc.h
llc: avoid blocking in llc_sap_close()
2018-09-13 09:04:58 -07:00
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
mac80211.h
mac80211: implement ieee80211_tx_rate_update to update rate
2018-10-12 13:05:40 +02:00
mac802154.h
mip6.h
mld.h
mpls.h
mpls_iptunnel.h
mrp.h
ncsi.h
ndisc.h
neighbour.h
net: Evict neighbor entries on carrier down
2018-10-12 09:47:39 -07:00
net_failover.h
net: Introduce net_failover driver
2018-05-28 22:59:54 -04:00
net_namespace.h
flow_dissector: implements flow dissector BPF hook
2018-09-14 12:04:33 -07:00
net_ratelimit.h
netevent.h
net: ipv4: Notify about changes to ip_forward_update_priority
2018-08-01 09:52:30 -07:00
netlabel.h
netlink.h
netlink: replace __NLA_ENSURE implementation
2018-10-12 11:00:22 -07:00
netprio_cgroup.h
netrom.h
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
nexthop.h
nl802154.h
nsh.h
p8022.h
page_pool.h
xdp: introduce xdp_return_frame_rx_napi
2018-05-24 18:36:15 -07:00
ping.h
ipv{4,6}/ping: simplify proc file creation
2018-05-16 07:23:35 +02:00
pkt_cls.h
net: sched: register callbacks for indirect tc block binds
2018-11-11 09:54:52 -08:00
pkt_sched.h
net: sched: extend Qdisc with rcu
2018-09-25 20:17:35 -07:00
pptp.h
protocol.h
net: Convert protocol error handlers from void to int
2018-11-08 17:13:08 -08:00
psample.h
psnap.h
raw.h
net: fix raw socket lookup device bind matching with VRFs
2018-11-07 16:12:39 -08:00
rawv6.h
red.h
regulatory.h
cfg80211: make wmm_rule part of the reg_rule structure
2018-08-28 11:11:47 +02:00
request_sock.h
rose.h
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
route.h
net-ipv4: remove 2 always zero parameters from ipv4_redirect()
2018-09-26 20:30:55 -07:00
rsi_91x.h
rtnetlink.h
net: Add extack argument to rtnl_create_link
2018-11-06 15:00:45 -08:00
sch_generic.h
net: sched: register callbacks for indirect tc block binds
2018-11-11 09:54:52 -08:00
scm.h
pids: Compute task_tgid using signal->leader_pid
2018-07-21 10:43:12 -05:00
secure_seq.h
seg6.h
rhashtable: split rhashtable.h
2018-06-22 13:43:27 +09:00
seg6_hmac.h
rhashtable: split rhashtable.h
2018-06-22 13:43:27 +09:00
seg6_local.h
bpf: add End.DT6 action to bpf_lwt_seg6_action helper
2018-07-31 09:22:48 +02:00
slhc_vj.h
smc.h
net/smc: add pnetid support for SMC-D and ISM
2018-06-30 20:42:25 +09:00
snmp.h
sock.h
Revert "net: simplify sock_poll_wait"
2018-10-23 10:57:06 -07:00
sock_reuseport.h
bpf: Enable BPF_PROG_TYPE_SK_REUSEPORT bpf prog in reuseport selection
2018-08-11 01:58:46 +02:00
Space.h
stp.h
strparser.h
strparser: Add __strp_unpause and use it in ktls.
2018-06-06 14:07:53 -04:00
switchdev.h
bridge: switchdev: Allow clearing FDB entry offload indication
2018-10-17 17:45:08 -07:00
tcp.h
net: Convert protocol error handlers from void to int
2018-11-08 17:13:08 -08:00
tcp_states.h
timewait_sock.h
tipc.h
flow_dissector: do not rely on implicit casts
2018-05-08 00:02:41 -04:00
tls.h
tls: replace poll implementation with read hook
2018-10-15 12:23:19 -07:00
transp_v6.h
ipv6: fold sockcm_cookie into ipcm6_cookie
2018-07-07 10:58:49 +09:00
tso.h
tun_proto.h
udp.h
net: Convert protocol error handlers from void to int
2018-11-08 17:13:08 -08:00
udp_tunnel.h
udp: Handle ICMP errors for tunnels with same destination port on both endpoints
2018-11-08 17:13:08 -08:00
udplite.h
vsock_addr.h
vxlan.h
vxlan: Allow configuration of DF behaviour
2018-11-08 17:13:08 -08:00
wext.h
wimax.h
x25.h
x25device.h
xdp.h
xdp: export xdp_rxq_info_unreg_mem_model
2018-08-29 12:25:53 -07:00
xdp_sock.h
ethtool: don't allow disabling queues with umem installed
2018-10-05 09:31:01 +02:00
xfrm.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-08-15 15:04:25 -07:00