This set of patches export TCA_CLS_FLAGS_SKIP_HW to userspace and also introduces another flag TCA_CLS_FLAGS_SKIP_SW. These flags enable offloading u32 filters to either SW or HW only.
The default semantics with no flags is to add the filter to HW if possible and also into SW. With SKIP_HW flag, the filter is only added to SW. With SKIP_SW flag, the filter is added to HW and an error is returned to user on failure. These flags are mutually exclusive. There was an earlier discussion on these semantics in the following email thread. http://thread.gmane.org/gmane.linux.network/401733 Sridhar Samudrala (2): Move TCA_CLS_FLAGS_SKIP_HW to uapi header file. Add support for skip-sw flag to tc u32 classifier. include/net/pkt_cls.h | 20 +++++++++++++++++--- include/uapi/linux/pkt_cls.h | 4 ++++ net/sched/cls_u32.c | 45 +++++++++++++++++++++++++++++++++++--------- 3 files changed, 57 insertions(+), 12 deletions(-) -- 2.1.0