netfilter: flowtable: add nf_flowtable_hw_offload() helper function
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 7 Jan 2020 08:56:27 +0000 (09:56 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 16 Jan 2020 14:51:51 +0000 (15:51 +0100)
This function checks for the NF_FLOWTABLE_HW_OFFLOAD flag, meaning that
the flowtable hardware offload is enabled.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nf_flow_table.h
net/netfilter/nf_flow_table_core.c
net/netfilter/nf_flow_table_offload.c

index 5a10e28..9ee1eae 100644 (file)
@@ -47,6 +47,11 @@ struct nf_flowtable {
        possible_net_t                  net;
 };
 
+static inline bool nf_flowtable_hw_offload(struct nf_flowtable *flowtable)
+{
+       return flowtable->flags & NF_FLOWTABLE_HW_OFFLOAD;
+}
+
 enum flow_offload_tuple_dir {
        FLOW_OFFLOAD_DIR_ORIGINAL = IP_CT_DIR_ORIGINAL,
        FLOW_OFFLOAD_DIR_REPLY = IP_CT_DIR_REPLY,
index 9f134f4..e919baf 100644 (file)
@@ -243,7 +243,7 @@ int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow)
                return err;
        }
 
-       if (flow_table->flags & NF_FLOWTABLE_HW_OFFLOAD)
+       if (nf_flowtable_hw_offload(flow_table))
                nf_flow_offload_add(flow_table, flow);
 
        return 0;
index 8a1fe39..b4c79fb 100644 (file)
@@ -812,7 +812,7 @@ void nf_flow_offload_stats(struct nf_flowtable *flowtable,
 
 void nf_flow_table_offload_flush(struct nf_flowtable *flowtable)
 {
-       if (flowtable->flags & NF_FLOWTABLE_HW_OFFLOAD)
+       if (nf_flowtable_hw_offload(flowtable))
                flush_work(&nf_flow_offload_work);
 }
 
@@ -849,7 +849,7 @@ int nf_flow_table_offload_setup(struct nf_flowtable *flowtable,
        struct flow_block_offload bo = {};
        int err;
 
-       if (!(flowtable->flags & NF_FLOWTABLE_HW_OFFLOAD))
+       if (!nf_flowtable_hw_offload(flowtable))
                return 0;
 
        if (!dev->netdev_ops->ndo_setup_tc)