--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -687,6 +687,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
@@ -900,6 +901,8 @@ struct sk_buff {
 #ifdef CONFIG_NET_CLS_ACT
 	__u8			tc_skip_classify:1;
 	__u8			tc_at_ingress:1;
+	__u8			tc_skip_classify_offload:1;
+	__u16			tc_verd_qca_nss; /* QCA NSS Qdisc Support */
 #endif
 	__u8			redirected:1;
 #ifdef CONFIG_NET_REDIRECT
--- a/include/uapi/linux/pkt_cls.h
+++ b/include/uapi/linux/pkt_cls.h
@@ -136,6 +136,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
 };
@@ -776,4 +777,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
