--- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -773,6 +773,7 @@ typedef unsigned char *sk_buff_data_t; * @offload_fwd_mark: Packet was L2-forwarded in hardware * @offload_l3_fwd_mark: Packet was L3-forwarded in hardware * @tc_skip_classify: do not classify packet. set by IFB device + * @tc_skip_classify_offload: do not classify packet set by offload IFB device * @tc_at_ingress: used within tc_classify to distinguish in/egress * @redirected: packet was redirected by packet classifier * @from_ingress: packet was redirected from the ingress path @@ -968,6 +969,8 @@ struct sk_buff { #ifdef CONFIG_NET_CLS_ACT __u8 tc_skip_classify:1; __u8 tc_at_ingress:1; /* See TC_AT_INGRESS_MASK */ + __u8 tc_skip_classify_offload:1; + __u16 tc_verd_qca_nss; /* QCA NSS Qdisc Support */ #endif #ifdef CONFIG_IPV6_NDISC_NODETYPE __u8 ndisc_nodetype:2; --- a/include/uapi/linux/pkt_cls.h +++ b/include/uapi/linux/pkt_cls.h @@ -139,6 +139,7 @@ enum tca_id { TCA_ID_MPLS, TCA_ID_CT, TCA_ID_GATE, + TCA_ID_MIRRED_NSS, /* QCA NSS Qdisc IGS Support */ /* other actions go here */ __TCA_ID_MAX = 255 }; @@ -801,4 +802,14 @@ enum { TCF_EM_OPND_LT }; +/* QCA NSS Qdisc Support - Start */ +#define _TC_MAKE32(x) ((x)) +#define _TC_MAKEMASK1(n) (_TC_MAKE32(1) << _TC_MAKE32(n)) + +#define TC_NCLS _TC_MAKEMASK1(8) +#define TC_NCLS_NSS _TC_MAKEMASK1(12) +#define SET_TC_NCLS_NSS(v) ( TC_NCLS_NSS | ((v) & ~TC_NCLS_NSS)) +#define CLR_TC_NCLS_NSS(v) ( (v) & ~TC_NCLS_NSS) +/* QCA NSS Qdisc Support - End */ + #endif