diff options
author | Jiri Pirko <jiri@mellanox.com> | 2017-08-09 15:30:31 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-08-11 23:47:00 +0300 |
commit | 861932ecc36063196c80ca3e240502b0f6d0e977 (patch) | |
tree | 88881a22658624a2da8481ec2d6d5e3e1a94aeb5 | |
parent | c5ebc4409f2bb2c0b053c204ba197c6b71527eed (diff) | |
download | linux-861932ecc36063196c80ca3e240502b0f6d0e977.tar.xz |
net: sched: Add helpers to identify classids
Offloading drivers need to understand what qdisc class a filter is added
to. Currently they only need to identify ingress, clsact->ingress and
clsact->egress. So provide these helpers.
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/pkt_sched.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index 2579c209ea51..259bc191ba59 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h @@ -5,6 +5,7 @@ #include <linux/ktime.h> #include <linux/if_vlan.h> #include <net/sch_generic.h> +#include <uapi/linux/pkt_sched.h> #define DEFAULT_TX_QUEUE_LEN 1000 @@ -132,4 +133,17 @@ static inline unsigned int psched_mtu(const struct net_device *dev) return dev->mtu + dev->hard_header_len; } +static inline bool is_classid_clsact_ingress(u32 classid) +{ + /* This also returns true for ingress qdisc */ + return TC_H_MAJ(classid) == TC_H_MAJ(TC_H_CLSACT) && + TC_H_MIN(classid) != TC_H_MIN(TC_H_MIN_EGRESS); +} + +static inline bool is_classid_clsact_egress(u32 classid) +{ + return TC_H_MAJ(classid) == TC_H_MAJ(TC_H_CLSACT) && + TC_H_MIN(classid) == TC_H_MIN(TC_H_MIN_EGRESS); +} + #endif |