mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 08:45:18 -04:00
net: dsa: stop at the user device in .fill_forward_path
The flowtable path discovery stops at the DSA user device when setting up the forward path. Let's just report there is no more devices after the DSA user port through the .fill_forward_path interface. No functional changes are intended. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
@@ -2547,14 +2547,13 @@ static int dsa_user_fill_forward_path(struct net_device_path_ctx *ctx,
|
||||
struct net_device_path *path)
|
||||
{
|
||||
struct dsa_port *dp = dsa_user_to_port(ctx->dev);
|
||||
struct net_device *conduit = dsa_port_to_conduit(dp);
|
||||
struct dsa_port *cpu_dp = dp->cpu_dp;
|
||||
|
||||
path->dev = ctx->dev;
|
||||
path->type = DEV_PATH_DSA;
|
||||
path->dsa.proto = cpu_dp->tag_ops->proto;
|
||||
path->dsa.port = dp->index;
|
||||
ctx->dev = conduit;
|
||||
ctx->dev = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -114,12 +114,9 @@ static int nft_dev_path_info(const struct net_device_path_stack *stack,
|
||||
if (is_zero_ether_addr(info->h_source))
|
||||
memcpy(info->h_source, path->dev->dev_addr, ETH_ALEN);
|
||||
|
||||
if (path->type == DEV_PATH_ETHERNET)
|
||||
if (path->type == DEV_PATH_ETHERNET ||
|
||||
path->type == DEV_PATH_DSA)
|
||||
break;
|
||||
if (path->type == DEV_PATH_DSA) {
|
||||
i = stack->num_paths;
|
||||
break;
|
||||
}
|
||||
|
||||
/* DEV_PATH_VLAN, DEV_PATH_PPPOE and DEV_PATH_TUN */
|
||||
if (path->type == DEV_PATH_TUN) {
|
||||
|
||||
Reference in New Issue
Block a user