Commit a5449cdc authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso
Browse files

netfilter: flowtable: add nf_flowtable_hw_offload() helper function



This function checks for the NF_FLOWTABLE_HW_OFFLOAD flag, meaning that
the flowtable hardware offload is enabled.

Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 355a8b13
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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;
+2 −2
Original line number Diff line number Diff line
@@ -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)