+R(no_offload, 0, 0, 0, 0, 0, 0, 0, \
+ NIX_RX_OFFLOAD_NONE) \
+R(rss, 0, 0, 0, 0, 0, 0, 1, \
+ RSS_F) \
+R(ptype, 0, 0, 0, 0, 0, 1, 0, \
+ PTYPE_F) \
+R(ptype_rss, 0, 0, 0, 0, 0, 1, 1, \
+ PTYPE_F | RSS_F) \
+R(cksum, 0, 0, 0, 0, 1, 0, 0, \
+ CKSUM_F) \
+R(cksum_rss, 0, 0, 0, 0, 1, 0, 1, \
+ CKSUM_F | RSS_F) \
+R(cksum_ptype, 0, 0, 0, 0, 1, 1, 0, \
+ CKSUM_F | PTYPE_F) \
+R(cksum_ptype_rss, 0, 0, 0, 0, 1, 1, 1, \
+ CKSUM_F | PTYPE_F | RSS_F) \
+R(mark, 0, 0, 0, 1, 0, 0, 0, \
+ MARK_F) \
+R(mark_rss, 0, 0, 0, 1, 0, 0, 1, \
+ MARK_F | RSS_F) \
+R(mark_ptype, 0, 0, 0, 1, 0, 1, 0, \
+ MARK_F | PTYPE_F) \
+R(mark_ptype_rss, 0, 0, 0, 1, 0, 1, 1, \
+ MARK_F | PTYPE_F | RSS_F) \
+R(mark_cksum, 0, 0, 0, 1, 1, 0, 0, \
+ MARK_F | CKSUM_F) \
+R(mark_cksum_rss, 0, 0, 0, 1, 1, 0, 1, \
+ MARK_F | CKSUM_F | RSS_F) \
+R(mark_cksum_ptype, 0, 0, 0, 1, 1, 1, 0, \
+ MARK_F | CKSUM_F | PTYPE_F) \
+R(mark_cksum_ptype_rss, 0, 0, 0, 1, 1, 1, 1, \
+ MARK_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(ts, 0, 0, 1, 0, 0, 0, 0, \
+ TS_F) \
+R(ts_rss, 0, 0, 1, 0, 0, 0, 1, \
+ TS_F | RSS_F) \
+R(ts_ptype, 0, 0, 1, 0, 0, 1, 0, \
+ TS_F | PTYPE_F) \
+R(ts_ptype_rss, 0, 0, 1, 0, 0, 1, 1, \
+ TS_F | PTYPE_F | RSS_F) \
+R(ts_cksum, 0, 0, 1, 0, 1, 0, 0, \
+ TS_F | CKSUM_F) \
+R(ts_cksum_rss, 0, 0, 1, 0, 1, 0, 1, \
+ TS_F | CKSUM_F | RSS_F) \
+R(ts_cksum_ptype, 0, 0, 1, 0, 1, 1, 0, \
+ TS_F | CKSUM_F | PTYPE_F) \
+R(ts_cksum_ptype_rss, 0, 0, 1, 0, 1, 1, 1, \
+ TS_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(ts_mark, 0, 0, 1, 1, 0, 0, 0, \
+ TS_F | MARK_F) \
+R(ts_mark_rss, 0, 0, 1, 1, 0, 0, 1, \
+ TS_F | MARK_F | RSS_F) \
+R(ts_mark_ptype, 0, 0, 1, 1, 0, 1, 0, \
+ TS_F | MARK_F | PTYPE_F) \
+R(ts_mark_ptype_rss, 0, 0, 1, 1, 0, 1, 1, \
+ TS_F | MARK_F | PTYPE_F | RSS_F) \
+R(ts_mark_cksum, 0, 0, 1, 1, 1, 0, 0, \
+ TS_F | MARK_F | CKSUM_F) \
+R(ts_mark_cksum_rss, 0, 0, 1, 1, 1, 0, 1, \
+ TS_F | MARK_F | CKSUM_F | RSS_F) \
+R(ts_mark_cksum_ptype, 0, 0, 1, 1, 1, 1, 0, \
+ TS_F | MARK_F | CKSUM_F | PTYPE_F) \
+R(ts_mark_cksum_ptype_rss, 0, 0, 1, 1, 1, 1, 1, \
+ TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(vlan, 0, 1, 0, 0, 0, 0, 0, \
+ RX_VLAN_F) \
+R(vlan_rss, 0, 1, 0, 0, 0, 0, 1, \
+ RX_VLAN_F | RSS_F) \
+R(vlan_ptype, 0, 1, 0, 0, 0, 1, 0, \
+ RX_VLAN_F | PTYPE_F) \
+R(vlan_ptype_rss, 0, 1, 0, 0, 0, 1, 1, \
+ RX_VLAN_F | PTYPE_F | RSS_F) \
+R(vlan_cksum, 0, 1, 0, 0, 1, 0, 0, \
+ RX_VLAN_F | CKSUM_F) \
+R(vlan_cksum_rss, 0, 1, 0, 0, 1, 0, 1, \
+ RX_VLAN_F | CKSUM_F | RSS_F) \
+R(vlan_cksum_ptype, 0, 1, 0, 0, 1, 1, 0, \
+ RX_VLAN_F | CKSUM_F | PTYPE_F) \
+R(vlan_cksum_ptype_rss, 0, 1, 0, 0, 1, 1, 1, \
+ RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(vlan_mark, 0, 1, 0, 1, 0, 0, 0, \
+ RX_VLAN_F | MARK_F) \
+R(vlan_mark_rss, 0, 1, 0, 1, 0, 0, 1, \
+ RX_VLAN_F | MARK_F | RSS_F) \
+R(vlan_mark_ptype, 0, 1, 0, 1, 0, 1, 0, \
+ RX_VLAN_F | MARK_F | PTYPE_F) \
+R(vlan_mark_ptype_rss, 0, 1, 0, 1, 0, 1, 1, \
+ RX_VLAN_F | MARK_F | PTYPE_F | RSS_F) \
+R(vlan_mark_cksum, 0, 1, 0, 1, 1, 0, 0, \
+ RX_VLAN_F | MARK_F | CKSUM_F) \
+R(vlan_mark_cksum_rss, 0, 1, 0, 1, 1, 0, 1, \
+ RX_VLAN_F | MARK_F | CKSUM_F | RSS_F) \
+R(vlan_mark_cksum_ptype, 0, 1, 0, 1, 1, 1, 0, \
+ RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F) \
+R(vlan_mark_cksum_ptype_rss, 0, 1, 0, 1, 1, 1, 1, \
+ RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(vlan_ts, 0, 1, 1, 0, 0, 0, 0, \
+ RX_VLAN_F | TS_F) \
+R(vlan_ts_rss, 0, 1, 1, 0, 0, 0, 1, \
+ RX_VLAN_F | TS_F | RSS_F) \
+R(vlan_ts_ptype, 0, 1, 1, 0, 0, 1, 0, \
+ RX_VLAN_F | TS_F | PTYPE_F) \
+R(vlan_ts_ptype_rss, 0, 1, 1, 0, 0, 1, 1, \
+ RX_VLAN_F | TS_F | PTYPE_F | RSS_F) \
+R(vlan_ts_cksum, 0, 1, 1, 0, 1, 0, 0, \
+ RX_VLAN_F | TS_F | CKSUM_F) \
+R(vlan_ts_cksum_rss, 0, 1, 1, 0, 1, 0, 1, \
+ RX_VLAN_F | TS_F | CKSUM_F | RSS_F) \
+R(vlan_ts_cksum_ptype, 0, 1, 1, 0, 1, 1, 0, \
+ RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F) \
+R(vlan_ts_cksum_ptype_rss, 0, 1, 1, 0, 1, 1, 1, \
+ RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(vlan_ts_mark, 0, 1, 1, 1, 0, 0, 0, \
+ RX_VLAN_F | TS_F | MARK_F) \
+R(vlan_ts_mark_rss, 0, 1, 1, 1, 0, 0, 1, \
+ RX_VLAN_F | TS_F | MARK_F | RSS_F) \
+R(vlan_ts_mark_ptype, 0, 1, 1, 1, 0, 1, 0, \
+ RX_VLAN_F | TS_F | MARK_F | PTYPE_F) \
+R(vlan_ts_mark_ptype_rss, 0, 1, 1, 1, 0, 1, 1, \
+ RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F) \
+R(vlan_ts_mark_cksum, 0, 1, 1, 1, 1, 0, 0, \
+ RX_VLAN_F | TS_F | MARK_F | CKSUM_F) \
+R(vlan_ts_mark_cksum_rss, 0, 1, 1, 1, 1, 0, 1, \
+ RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F) \
+R(vlan_ts_mark_cksum_ptype, 0, 1, 1, 1, 1, 1, 0, \
+ RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F) \
+R(vlan_ts_mark_cksum_ptype_rss, 0, 1, 1, 1, 1, 1, 1, \
+ RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(sec, 1, 0, 0, 0, 0, 0, 0, \
+ R_SEC_F) \
+R(sec_rss, 1, 0, 0, 0, 0, 0, 1, \
+ RSS_F) \
+R(sec_ptype, 1, 0, 0, 0, 0, 1, 0, \
+ R_SEC_F | PTYPE_F) \
+R(sec_ptype_rss, 1, 0, 0, 0, 0, 1, 1, \
+ R_SEC_F | PTYPE_F | RSS_F) \
+R(sec_cksum, 1, 0, 0, 0, 1, 0, 0, \
+ R_SEC_F | CKSUM_F) \
+R(sec_cksum_rss, 1, 0, 0, 0, 1, 0, 1, \
+ R_SEC_F | CKSUM_F | RSS_F) \
+R(sec_cksum_ptype, 1, 0, 0, 0, 1, 1, 0, \
+ R_SEC_F | CKSUM_F | PTYPE_F) \
+R(sec_cksum_ptype_rss, 1, 0, 0, 0, 1, 1, 1, \
+ R_SEC_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(sec_mark, 1, 0, 0, 1, 0, 0, 0, \
+ R_SEC_F | MARK_F) \
+R(sec_mark_rss, 1, 0, 0, 1, 0, 0, 1, \
+ R_SEC_F | MARK_F | RSS_F) \
+R(sec_mark_ptype, 1, 0, 0, 1, 0, 1, 0, \
+ R_SEC_F | MARK_F | PTYPE_F) \
+R(sec_mark_ptype_rss, 1, 0, 0, 1, 0, 1, 1, \
+ R_SEC_F | MARK_F | PTYPE_F | RSS_F) \
+R(sec_mark_cksum, 1, 0, 0, 1, 1, 0, 0, \
+ R_SEC_F | MARK_F | CKSUM_F) \
+R(sec_mark_cksum_rss, 1, 0, 0, 1, 1, 0, 1, \
+ R_SEC_F | MARK_F | CKSUM_F | RSS_F) \
+R(sec_mark_cksum_ptype, 1, 0, 0, 1, 1, 1, 0, \
+ R_SEC_F | MARK_F | CKSUM_F | PTYPE_F) \
+R(sec_mark_cksum_ptype_rss, 1, 0, 0, 1, 1, 1, 1, \
+ R_SEC_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(sec_ts, 1, 0, 1, 0, 0, 0, 0, \
+ R_SEC_F | TS_F) \
+R(sec_ts_rss, 1, 0, 1, 0, 0, 0, 1, \
+ R_SEC_F | TS_F | RSS_F) \
+R(sec_ts_ptype, 1, 0, 1, 0, 0, 1, 0, \
+ R_SEC_F | TS_F | PTYPE_F) \
+R(sec_ts_ptype_rss, 1, 0, 1, 0, 0, 1, 1, \
+ R_SEC_F | TS_F | PTYPE_F | RSS_F) \
+R(sec_ts_cksum, 1, 0, 1, 0, 1, 0, 0, \
+ R_SEC_F | TS_F | CKSUM_F) \
+R(sec_ts_cksum_rss, 1, 0, 1, 0, 1, 0, 1, \
+ R_SEC_F | TS_F | CKSUM_F | RSS_F) \
+R(sec_ts_cksum_ptype, 1, 0, 1, 0, 1, 1, 0, \
+ R_SEC_F | TS_F | CKSUM_F | PTYPE_F) \
+R(sec_ts_cksum_ptype_rss, 1, 0, 1, 0, 1, 1, 1, \
+ R_SEC_F | TS_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(sec_ts_mark, 1, 0, 1, 1, 0, 0, 0, \
+ R_SEC_F | TS_F | MARK_F) \
+R(sec_ts_mark_rss, 1, 0, 1, 1, 0, 0, 1, \
+ R_SEC_F | TS_F | MARK_F | RSS_F) \
+R(sec_ts_mark_ptype, 1, 0, 1, 1, 0, 1, 0, \
+ R_SEC_F | TS_F | MARK_F | PTYPE_F) \
+R(sec_ts_mark_ptype_rss, 1, 0, 1, 1, 0, 1, 1, \
+ R_SEC_F | TS_F | MARK_F | PTYPE_F | RSS_F) \
+R(sec_ts_mark_cksum, 1, 0, 1, 1, 1, 0, 0, \
+ R_SEC_F | TS_F | MARK_F | CKSUM_F) \
+R(sec_ts_mark_cksum_rss, 1, 0, 1, 1, 1, 0, 1, \
+ R_SEC_F | TS_F | MARK_F | CKSUM_F | RSS_F) \
+R(sec_ts_mark_cksum_ptype, 1, 0, 1, 1, 1, 1, 0, \
+ R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F) \
+R(sec_ts_mark_cksum_ptype_rss, 1, 0, 1, 1, 1, 1, 1, \
+ R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(sec_vlan, 1, 1, 0, 0, 0, 0, 0, \
+ R_SEC_F | RX_VLAN_F) \
+R(sec_vlan_rss, 1, 1, 0, 0, 0, 0, 1, \
+ R_SEC_F | RX_VLAN_F | RSS_F) \
+R(sec_vlan_ptype, 1, 1, 0, 0, 0, 1, 0, \
+ R_SEC_F | RX_VLAN_F | PTYPE_F) \
+R(sec_vlan_ptype_rss, 1, 1, 0, 0, 0, 1, 1, \
+ R_SEC_F | RX_VLAN_F | PTYPE_F | RSS_F) \
+R(sec_vlan_cksum, 1, 1, 0, 0, 1, 0, 0, \
+ R_SEC_F | RX_VLAN_F | CKSUM_F) \
+R(sec_vlan_cksum_rss, 1, 1, 0, 0, 1, 0, 1, \
+ R_SEC_F | RX_VLAN_F | CKSUM_F | RSS_F) \
+R(sec_vlan_cksum_ptype, 1, 1, 0, 0, 1, 1, 0, \
+ R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F) \
+R(sec_vlan_cksum_ptype_rss, 1, 1, 0, 0, 1, 1, 1, \
+ R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(sec_vlan_mark, 1, 1, 0, 1, 0, 0, 0, \
+ R_SEC_F | RX_VLAN_F | MARK_F) \
+R(sec_vlan_mark_rss, 1, 1, 0, 1, 0, 0, 1, \
+ R_SEC_F | RX_VLAN_F | MARK_F | RSS_F) \
+R(sec_vlan_mark_ptype, 1, 1, 0, 1, 0, 1, 0, \
+ R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F) \
+R(sec_vlan_mark_ptype_rss, 1, 1, 0, 1, 0, 1, 1, \
+ R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F | RSS_F) \
+R(sec_vlan_mark_cksum, 1, 1, 0, 1, 1, 0, 0, \
+ R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F) \
+R(sec_vlan_mark_cksum_rss, 1, 1, 0, 1, 1, 0, 1, \
+ R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | RSS_F) \
+R(sec_vlan_mark_cksum_ptype, 1, 1, 0, 1, 1, 1, 0, \
+ R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F) \
+R(sec_vlan_mark_cksum_ptype_rss, 1, 1, 0, 1, 1, 1, 1, \
+ R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(sec_vlan_ts, 1, 1, 1, 0, 0, 0, 0, \
+ R_SEC_F | RX_VLAN_F | TS_F) \
+R(sec_vlan_ts_rss, 1, 1, 1, 0, 0, 0, 1, \
+ R_SEC_F | RX_VLAN_F | TS_F | RSS_F) \
+R(sec_vlan_ts_ptype, 1, 1, 1, 0, 0, 1, 0, \
+ R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F) \
+R(sec_vlan_ts_ptype_rss, 1, 1, 1, 0, 0, 1, 1, \
+ R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F | RSS_F) \
+R(sec_vlan_ts_cksum, 1, 1, 1, 0, 1, 0, 0, \
+ R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F) \
+R(sec_vlan_ts_cksum_rss, 1, 1, 1, 0, 1, 0, 1, \
+ R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | RSS_F) \
+R(sec_vlan_ts_cksum_ptype, 1, 1, 1, 0, 1, 1, 0, \
+ R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F) \
+R(sec_vlan_ts_cksum_ptype_rss, 1, 1, 1, 0, 1, 1, 1, \
+ R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F) \
+R(sec_vlan_ts_mark, 1, 1, 1, 1, 0, 0, 0, \
+ R_SEC_F | RX_VLAN_F | TS_F | MARK_F) \
+R(sec_vlan_ts_mark_rss, 1, 1, 1, 1, 0, 0, 1, \
+ R_SEC_F | RX_VLAN_F | TS_F | MARK_F | RSS_F) \
+R(sec_vlan_ts_mark_ptype, 1, 1, 1, 1, 0, 1, 0, \
+ R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F) \
+R(sec_vlan_ts_mark_ptype_rss, 1, 1, 1, 1, 0, 1, 1, \
+ R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F) \
+R(sec_vlan_ts_mark_cksum, 1, 1, 1, 1, 1, 0, 0, \
+ R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F) \
+R(sec_vlan_ts_mark_cksum_rss, 1, 1, 1, 1, 1, 0, 1, \
+ R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F) \
+R(sec_vlan_ts_mark_cksum_ptype, 1, 1, 1, 1, 1, 1, 0, \
+ R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F) \
+R(sec_vlan_ts_mark_cksum_ptype_rss, 1, 1, 1, 1, 1, 1, 1, \
+ R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define R(name, f6, f5, f4, f3, f2, f1, f0, flags) \