linux-xiaomi-chiron/include/net
Daniel Borkmann 045efa82ff cls_bpf: introduce integrated actions
Often cls_bpf classifier is used with single action drop attached.
Optimize this use case and let cls_bpf return both classid and action.
For backwards compatibility reasons enable this feature under
TCA_BPF_FLAG_ACT_DIRECT flag.

Then more interesting programs like the following are easier to write:
int cls_bpf_prog(struct __sk_buff *skb)
{
  /* classify arp, ip, ipv6 into different traffic classes
   * and drop all other packets
   */
  switch (skb->protocol) {
  case htons(ETH_P_ARP):
    skb->tc_classid = 1;
    break;
  case htons(ETH_P_IP):
    skb->tc_classid = 2;
    break;
  case htons(ETH_P_IPV6):
    skb->tc_classid = 3;
    break;
  default:
    return TC_ACT_SHOT;
  }

  return TC_ACT_OK;
}

Joint work with Daniel Borkmann.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-09-17 21:09:06 -07:00
..
9p
bluetooth Bluetooth: add hci_connect_le_scan 2015-08-10 21:36:13 +02:00
caif
irda
iucv
netfilter netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
netns Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2015-08-04 23:57:45 -07:00
nfc nfc: netlink: Add capability to reply to vendor_cmd with data 2015-08-20 22:00:11 +02:00
phonet
sctp
tc_act net_sched: act_bpf: remove spinlock in fast path 2015-08-26 11:01:45 -07:00
6lowpan.h 6lowpan: add generic 6lowpan netdev private data 2015-08-11 22:05:36 +02:00
act_api.h net_sched: make tcf_hash_destroy() static 2015-08-26 11:01:44 -07:00
addrconf.h Changes for 4.3 2015-09-09 08:33:31 -07:00
af_ieee802154.h
af_rxrpc.h
af_unix.h
af_vsock.h
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
bond_3ad.h
bond_alb.h
bond_options.h
bonding.h net/bonding: Export bond_option_active_slave_get_rcu 2015-08-30 18:08:50 -04:00
busy_poll.h
cfg80211-wext.h
cfg80211.h
cfg802154.h ieee802154: add ack request default handling 2015-08-10 20:43:06 +02:00
checksum.h net: Add inet_proto_csum_replace_by_diff utility function 2015-08-17 21:33:06 -07:00
cipso_ipv4.h
cls_cgroup.h
codel.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
dn_nsp.h
dn_route.h
dsa.h net: dsa: Add dsa_is_dsa_port() helper 2015-08-18 14:17:21 -07:00
dsfield.h
dst.h netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
dst_metadata.h tun_dst: Remove opts_size 2015-08-31 21:23:42 -07:00
dst_ops.h
esp.h
ethoc.h
fib_rules.h net: ipv6: use common fib_default_rule_pref 2015-09-09 14:19:50 -07:00
firewire.h
flow.h flow_dissector: Use 'const' where possible. 2015-09-01 21:19:17 -07:00
flow_dissector.h flow_dissector: Don't use bit fields. 2015-09-01 16:46:08 -07:00
flowcache.h
fou.h
garp.h
gen_stats.h
genetlink.h
geneve.h geneve: Consolidate Geneve functionality in single module. 2015-08-27 15:42:48 -07:00
gre.h gre: Remove support for sharing GRE protocol hook. 2015-08-10 14:03:54 -07:00
gro_cells.h gro_cells: remove spinlock protecting receive queues 2015-08-31 15:17:17 -07:00
gue.h
icmp.h
ieee80211_radiotap.h
ieee802154_netdev.h
if_inet6.h
inet6_connection_sock.h
inet6_hashtables.h
inet_common.h
inet_connection_sock.h
inet_ecn.h
inet_frag.h
inet_hashtables.h
inet_sock.h
inet_timewait_sock.h
inetpeer.h net: Add support for VRFs to inetpeer cache 2015-08-28 13:32:36 -07:00
ip.h net: Introduce helper functions to get the per cpu data 2015-08-30 21:48:58 -07:00
ip6_checksum.h
ip6_fib.h route: move lwtunnel state to dst_entry 2015-08-20 15:42:36 -07:00
ip6_route.h
ip6_tunnel.h
ip_fib.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-07-31 23:52:20 -07:00
ip_tunnels.h ip-tunnel: Use API to access tunnel metadata options. 2015-08-31 12:28:56 -07:00
ip_vs.h ipvs: add more mcast parameters for the sync daemon 2015-08-21 09:10:11 -07:00
ipcomp.h
ipconfig.h
ipv6.h netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
ipx.h
iw_handler.h
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 lwt: Add cfg argument to build_state 2015-08-24 10:34:40 -07:00
mac80211.h mac80211: protect non-HT BSS when HT TDLS traffic exists 2015-09-04 14:25:46 +02:00
mac802154.h
mip6.h
mld.h
mpls.h
mpls_iptunnel.h
mrp.h
ndisc.h ipv6: ndisc: inherit metadata dst when creating ndisc requests 2015-08-20 15:42:37 -07:00
neighbour.h net: add explicit logging and stat for neighbour table overflow 2015-08-10 13:46:21 -07:00
net_namespace.h netfilter: nfacct: per network namespace support 2015-08-07 11:50:56 +02:00
net_ratelimit.h
netevent.h
netlabel.h
netlink.h
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h ieee802154: add ack request default handling 2015-08-10 20:43:06 +02:00
p8022.h
ping.h
pkt_cls.h
pkt_sched.h net: sched: consolidate tc_classify{,_compat} 2015-08-27 14:18:48 -07:00
protocol.h
psnap.h
raw.h
rawv6.h
red.h
regulatory.h
request_sock.h
rose.h
route.h net: Add FIB table id to rtable 2015-09-15 12:01:41 -07:00
rtnetlink.h rtnetlink: RTEXT_FILTER_SKIP_STATS support to avoid dumping inet/inet6 stats 2015-09-15 15:25:02 -07:00
sch_generic.h cls_bpf: introduce integrated actions 2015-09-17 21:09:06 -07:00
scm.h
secure_seq.h
slhc_vj.h
snmp.h
sock.h tcp: provide skb->hash to synack packets 2015-09-17 21:01:04 -07:00
Space.h
stp.h
switchdev.h net: switchdev: support static FDB addresses 2015-08-11 12:03:19 -07:00
tcp.h tcp: use dctcp if enabled on the route to the initiator 2015-08-31 12:34:00 -07:00
tcp_memcontrol.h
tcp_states.h
timewait_sock.h
transp_v6.h
tso.h
udp.h
udp_tunnel.h vxlan: do not receive IPv4 packets on IPv6 socket 2015-08-29 13:07:54 -07:00
udplite.h
vrf.h net: Make table id type u32 2015-09-01 14:32:44 -07:00
vsock_addr.h
vxlan.h vxlan: fix multiple inclusion of vxlan.h 2015-08-25 14:32:04 -07:00
wext.h
wimax.h
x25.h
x25device.h
xfrm.h xfrm: Remove unused afinfo method init_dst 2015-09-17 17:18:32 -07:00