Commit 78ed0a9b authored by Roi Dayan's avatar Roi Dayan Committed by Pablo Neira Ayuso

netfilter: flowtable: Add FLOW_OFFLOAD_XMIT_UNSPEC xmit type

It could be xmit type was not set and would default to FLOW_OFFLOAD_XMIT_NEIGH
and in this type the gc expect to have a route info.
Fix that by adding FLOW_OFFLOAD_XMIT_UNSPEC which defaults to 0.

Fixes: 8b9229d1 ("netfilter: flowtable: dst_check() from garbage collector path")
Signed-off-by: default avatarRoi Dayan <roid@nvidia.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 9b1a4d0f
...@@ -92,7 +92,8 @@ enum flow_offload_tuple_dir { ...@@ -92,7 +92,8 @@ enum flow_offload_tuple_dir {
#define FLOW_OFFLOAD_DIR_MAX IP_CT_DIR_MAX #define FLOW_OFFLOAD_DIR_MAX IP_CT_DIR_MAX
enum flow_offload_xmit_type { enum flow_offload_xmit_type {
FLOW_OFFLOAD_XMIT_NEIGH = 0, FLOW_OFFLOAD_XMIT_UNSPEC = 0,
FLOW_OFFLOAD_XMIT_NEIGH,
FLOW_OFFLOAD_XMIT_XFRM, FLOW_OFFLOAD_XMIT_XFRM,
FLOW_OFFLOAD_XMIT_DIRECT, FLOW_OFFLOAD_XMIT_DIRECT,
}; };
......
...@@ -130,6 +130,9 @@ static int flow_offload_fill_route(struct flow_offload *flow, ...@@ -130,6 +130,9 @@ static int flow_offload_fill_route(struct flow_offload *flow,
flow_tuple->dst_cache = dst; flow_tuple->dst_cache = dst;
flow_tuple->dst_cookie = flow_offload_dst_cookie(flow_tuple); flow_tuple->dst_cookie = flow_offload_dst_cookie(flow_tuple);
break; break;
default:
WARN_ON_ONCE(1);
break;
} }
flow_tuple->xmit_type = route->tuple[dir].xmit_type; flow_tuple->xmit_type = route->tuple[dir].xmit_type;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment