* VRF Routing Rule Matching Issue: oif Rules Not Working After Commit 40867d74c374
@ 2025-04-03 1:58 hanhuihui
2025-04-07 8:29 ` Ido Schimmel
0 siblings, 1 reply; 11+ messages in thread
From: hanhuihui @ 2025-04-03 1:58 UTC (permalink / raw)
To: netdev@vger.kernel.org, dsahern@kernel.org, kuba@kernel.org
Dear Kernel Community and Network Maintainers,
I am analyzing the issue, and I am very happy for any replies.
After the application committed 40867d74c374 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices"), we noticed an unexpected change in VRF routing rule matching behavior. We hereby submit a problem report to confirm whether this is the expected behavior.
Problem Description:
When interfaces bound to multiple VRFs share the same IP address, the OIF (output interface) routing rule is no longer matched after being committed. As a result, traffic incorrectly matches the low-priority rule.
Here are our configuration steps:
ip address add 11.47.3.130/16 dev enp4s0
ip address add 11.47.3.130/16 dev enp5s0
ip link add name vrf-srv-1 type vrf table 10
ip link set dev vrf-srv-1 up
ip link set dev enp4s0 master vrf-srv-1
ip link add name vrf-srv type vrf table 20
ip link set dev vrf-srv up
ip link set dev enp5s0 master vrf-srv
ip rule add from 11.47.3.130 oif vrf-srv-1 table 10 prio 0
ip rule add from 11.47.3.130 iif vrf-srv-1 table 10 prio 0
ip rule add from 11.47.3.130 table 20 prio 997
In this configuration, when the following commands are executed:
ip vrf exec vrf-srv-1 ping "11.47.9.250" -I 11.47.3.130
Expected behavior: The traffic should match the oif vrf-srv-1 rule of prio 0. Table 10 is used.
Actual behavior: The traffic skips the oif rule and matches the default rule of prio 997 (Table 20), causing the ping to fail.
Is this the expected behavior?
The submission description mentions "avoid oif reset of port devices". Does this change the matching logic of oif in VRF scenarios?
If this change is intentional, how should the VRF configuration be adjusted to ensure that oif rules are matched first? Is it necessary to introduce a new mechanism?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: VRF Routing Rule Matching Issue: oif Rules Not Working After Commit 40867d74c374
2025-04-03 1:58 VRF Routing Rule Matching Issue: oif Rules Not Working After Commit 40867d74c374 hanhuihui
@ 2025-04-07 8:29 ` Ido Schimmel
2025-04-08 16:17 ` hanhuihui
0 siblings, 1 reply; 11+ messages in thread
From: Ido Schimmel @ 2025-04-07 8:29 UTC (permalink / raw)
To: hanhuihui; +Cc: netdev@vger.kernel.org, dsahern@kernel.org, kuba@kernel.org
On Thu, Apr 03, 2025 at 01:58:46AM +0000, hanhuihui wrote:
> Dear Kernel Community and Network Maintainers,
> I am analyzing the issue, and I am very happy for any replies.
> After the application committed 40867d74c374 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices"), we noticed an unexpected change in VRF routing rule matching behavior. We hereby submit a problem report to confirm whether this is the expected behavior.
>
> Problem Description:
> When interfaces bound to multiple VRFs share the same IP address, the OIF (output interface) routing rule is no longer matched after being committed. As a result, traffic incorrectly matches the low-priority rule.
> Here are our configuration steps:
> ip address add 11.47.3.130/16 dev enp4s0
> ip address add 11.47.3.130/16 dev enp5s0
>
> ip link add name vrf-srv-1 type vrf table 10
> ip link set dev vrf-srv-1 up
> ip link set dev enp4s0 master vrf-srv-1
>
> ip link add name vrf-srv type vrf table 20
> ip link set dev vrf-srv up
> ip link set dev enp5s0 master vrf-srv
>
> ip rule add from 11.47.3.130 oif vrf-srv-1 table 10 prio 0
> ip rule add from 11.47.3.130 iif vrf-srv-1 table 10 prio 0
> ip rule add from 11.47.3.130 table 20 prio 997
>
>
> In this configuration, when the following commands are executed:
> ip vrf exec vrf-srv-1 ping "11.47.9.250" -I 11.47.3.130
> Expected behavior: The traffic should match the oif vrf-srv-1 rule of prio 0. Table 10 is used.
> Actual behavior: The traffic skips the oif rule and matches the default rule of prio 997 (Table 20), causing the ping to fail.
>
> Is this the expected behavior?
> The submission description mentions "avoid oif reset of port devices". Does this change the matching logic of oif in VRF scenarios?
> If this change is intentional, how should the VRF configuration be adjusted to ensure that oif rules are matched first? Is it necessary to introduce a new mechanism?
Can you try replacing the first two rules with:
ip rule add from 11.47.3.130 l3mdev prio 0
And see if it helps?
It's not exactly equivalent to your two rules, but it says "if source
address is 11.47.3.130 and flow is associated with a L3 master device,
then direct the FIB lookup to the table associated with the L3 master
device"
The commit you referenced added the index of the L3 master device to the
flow structure, but I don't believe we have an explicit way to match on
it using FIB rules. It would be useful to add a new keyword (e.g.,
l3mdevif) and then your rules can become:
ip rule add from 11.47.3.130 l3mdevif vrf-srv-1 table 10 prio 0
ip rule add from 11.47.3.130 table 20 prio 997
But it requires kernel changes.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: VRF Routing Rule Matching Issue: oif Rules Not Working After Commit 40867d74c374
2025-04-07 8:29 ` Ido Schimmel
@ 2025-04-08 16:17 ` hanhuihui
2025-04-08 16:49 ` David Ahern
2025-04-08 19:54 ` Ido Schimmel
0 siblings, 2 replies; 11+ messages in thread
From: hanhuihui @ 2025-04-08 16:17 UTC (permalink / raw)
To: idosch; +Cc: dsahern, kuba, netdev
On Mon, 7 Apr 2025 11:29:02 +0300, Ido Schimmel wrote:
>On Thu, Apr 03, 2025 at 01:58:46AM +0000, hanhuihui wrote:
>> Dear Kernel Community and Network Maintainers,
>> I am analyzing the issue, and I am very happy for any replies.
>> After the application committed 40867d74c374 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices"), we noticed an unexpected change in VRF routing rule matching behavior. We hereby submit a problem report to confirm whether this is the expected behavior.
>>
>> Problem Description:
>> When interfaces bound to multiple VRFs share the same IP address, the OIF (output interface) routing rule is no longer matched after being committed. As a result, traffic incorrectly matches the low-priority rule.
>> Here are our configuration steps:
>> ip address add 11.47.3.130/16 dev enp4s0
>> ip address add 11.47.3.130/16 dev enp5s0
>>
>> ip link add name vrf-srv-1 type vrf table 10
>> ip link set dev vrf-srv-1 up
>> ip link set dev enp4s0 master vrf-srv-1
>>
>> ip link add name vrf-srv type vrf table 20
>> ip link set dev vrf-srv up
>> ip link set dev enp5s0 master vrf-srv
>>
>> ip rule add from 11.47.3.130 oif vrf-srv-1 table 10 prio 0
>> ip rule add from 11.47.3.130 iif vrf-srv-1 table 10 prio 0
>> ip rule add from 11.47.3.130 table 20 prio 997
>>
>>
>> In this configuration, when the following commands are executed:
>> ip vrf exec vrf-srv-1 ping "11.47.9.250" -I 11.47.3.130
>> Expected behavior: The traffic should match the oif vrf-srv-1 rule of prio 0. Table 10 is used.
>> Actual behavior: The traffic skips the oif rule and matches the default rule of prio 997 (Table 20), causing the ping to fail.
>>
>> Is this the expected behavior?
>> The submission description mentions "avoid oif reset of port devices". Does this change the matching logic of oif in VRF scenarios?
>> If this change is intentional, how should the VRF configuration be adjusted to ensure that oif rules are matched first? Is it necessary to introduce a new mechanism?
>
>Can you try replacing the first two rules with:
>
>ip rule add from 11.47.3.130 l3mdev prio 0
>
This does not work in scenarios where the routing table specified by the oif/iif is not in the l3mdev-table.
>And see if it helps?
>
>It's not exactly equivalent to your two rules, but it says "if source
>address is 11.47.3.130 and flow is associated with a L3 master device,
>then direct the FIB lookup to the table associated with the L3 master
>device"
>
>The commit you referenced added the index of the L3 master device to the
>flow structure, but I don't believe we have an explicit way to match on
>it using FIB rules. It would be useful to add a new keyword (e.g.,
>l3mdevif) and then your rules can become:
>
>ip rule add from 11.47.3.130 l3mdevif vrf-srv-1 table 10 prio 0
>ip rule add from 11.47.3.130 table 20 prio 997
>
>But it requires kernel changes.
Before the patch is installed, oif/iif rules can be configured for traffic from the VRF and traffic can be forwarded normally.
However, in this patch, traffic from the VRF resets fl->flowi_oif in l3mdev_update_flow. As a result, the 'rule->oifindex != fl->flowi_oif'
condition in fib_rule_match cannot be met, the oif rule cannot be matched. The patch also mentions "oif set to L3mdev directs lookup to its table;
reset to avoid oif match in fib_lookup" in the modification, which seems to be intentional. I'm rather confused about this. Does the modification
ignore the scenario where the oif/iif rule is configured on the VRF, or is the usage of the oif/iif rule no longer supported by the community after
the patch is installed, or is the usage of the oif/iif rule incorrectly used?
Any reply would be greatly appreciated.
Thanks!
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: VRF Routing Rule Matching Issue: oif Rules Not Working After Commit 40867d74c374
2025-04-08 16:17 ` hanhuihui
@ 2025-04-08 16:49 ` David Ahern
2025-04-08 19:54 ` Ido Schimmel
1 sibling, 0 replies; 11+ messages in thread
From: David Ahern @ 2025-04-08 16:49 UTC (permalink / raw)
To: hanhuihui, idosch; +Cc: kuba, netdev
On 4/8/25 10:17 AM, hanhuihui wrote:
> Before the patch is installed, oif/iif rules can be configured for traffic from the VRF and traffic can be forwarded normally.
> However, in this patch, traffic from the VRF resets fl->flowi_oif in l3mdev_update_flow. As a result, the 'rule->oifindex != fl->flowi_oif'
> condition in fib_rule_match cannot be met, the oif rule cannot be matched. The patch also mentions "oif set to L3mdev directs lookup to its table;
> reset to avoid oif match in fib_lookup" in the modification, which seems to be intentional. I'm rather confused about this. Does the modification
> ignore the scenario where the oif/iif rule is configured on the VRF, or is the usage of the oif/iif rule no longer supported by the community after
> the patch is installed, or is the usage of the oif/iif rule incorrectly used?
> Any reply would be greatly appreciated.
>
oif/iif rules per VRF does not scale; the l3mdev rule was added to
address that problem.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: VRF Routing Rule Matching Issue: oif Rules Not Working After Commit 40867d74c374
2025-04-08 16:17 ` hanhuihui
2025-04-08 16:49 ` David Ahern
@ 2025-04-08 19:54 ` Ido Schimmel
2025-04-12 13:17 ` hanhuihui
2025-04-12 13:19 ` [PATCH] resume oif rule match l3mdev in fib_lookup hanhuihui
1 sibling, 2 replies; 11+ messages in thread
From: Ido Schimmel @ 2025-04-08 19:54 UTC (permalink / raw)
To: hanhuihui; +Cc: dsahern, kuba, netdev
On Wed, Apr 09, 2025 at 12:17:56AM +0800, hanhuihui wrote:
> On Mon, 7 Apr 2025 11:29:02 +0300, Ido Schimmel wrote:
> >On Thu, Apr 03, 2025 at 01:58:46AM +0000, hanhuihui wrote:
> >> Dear Kernel Community and Network Maintainers,
> >> I am analyzing the issue, and I am very happy for any replies.
> >> After the application committed 40867d74c374 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices"), we noticed an unexpected change in VRF routing rule matching behavior. We hereby submit a problem report to confirm whether this is the expected behavior.
> >>
> >> Problem Description:
> >> When interfaces bound to multiple VRFs share the same IP address, the OIF (output interface) routing rule is no longer matched after being committed. As a result, traffic incorrectly matches the low-priority rule.
> >> Here are our configuration steps:
> >> ip address add 11.47.3.130/16 dev enp4s0
> >> ip address add 11.47.3.130/16 dev enp5s0
> >>
> >> ip link add name vrf-srv-1 type vrf table 10
> >> ip link set dev vrf-srv-1 up
> >> ip link set dev enp4s0 master vrf-srv-1
> >>
> >> ip link add name vrf-srv type vrf table 20
> >> ip link set dev vrf-srv up
> >> ip link set dev enp5s0 master vrf-srv
> >>
> >> ip rule add from 11.47.3.130 oif vrf-srv-1 table 10 prio 0
> >> ip rule add from 11.47.3.130 iif vrf-srv-1 table 10 prio 0
> >> ip rule add from 11.47.3.130 table 20 prio 997
> >>
> >>
> >> In this configuration, when the following commands are executed:
> >> ip vrf exec vrf-srv-1 ping "11.47.9.250" -I 11.47.3.130
> >> Expected behavior: The traffic should match the oif vrf-srv-1 rule of prio 0. Table 10 is used.
> >> Actual behavior: The traffic skips the oif rule and matches the default rule of prio 997 (Table 20), causing the ping to fail.
> >>
> >> Is this the expected behavior?
> >> The submission description mentions "avoid oif reset of port devices". Does this change the matching logic of oif in VRF scenarios?
> >> If this change is intentional, how should the VRF configuration be adjusted to ensure that oif rules are matched first? Is it necessary to introduce a new mechanism?
> >
> >Can you try replacing the first two rules with:
> >
> >ip rule add from 11.47.3.130 l3mdev prio 0
> >
>
> This does not work in scenarios where the routing table specified by the oif/iif is not in the l3mdev-table.
You mean when "oif" / "iif" points to a VRF and "table" specifies a
table different than the one associated with the VRF? Then, yes, it
won't work, but in your example "vrf-srv-1" is associated with table
"10".
>
> >And see if it helps?
> >
> >It's not exactly equivalent to your two rules, but it says "if source
> >address is 11.47.3.130 and flow is associated with a L3 master device,
> >then direct the FIB lookup to the table associated with the L3 master
> >device"
> >
> >The commit you referenced added the index of the L3 master device to the
> >flow structure, but I don't believe we have an explicit way to match on
> >it using FIB rules. It would be useful to add a new keyword (e.g.,
> >l3mdevif) and then your rules can become:
> >
> >ip rule add from 11.47.3.130 l3mdevif vrf-srv-1 table 10 prio 0
> >ip rule add from 11.47.3.130 table 20 prio 997
> >
> >But it requires kernel changes.
>
> Before the patch is installed, oif/iif rules can be configured for traffic from the VRF and traffic can be forwarded normally.
> However, in this patch, traffic from the VRF resets fl->flowi_oif in l3mdev_update_flow. As a result, the 'rule->oifindex != fl->flowi_oif'
> condition in fib_rule_match cannot be met, the oif rule cannot be matched. The patch also mentions "oif set to L3mdev directs lookup to its table;
> reset to avoid oif match in fib_lookup" in the modification, which seems to be intentional. I'm rather confused about this. Does the modification
> ignore the scenario where the oif/iif rule is configured on the VRF, or is the usage of the oif/iif rule no longer supported by the community after
> the patch is installed, or is the usage of the oif/iif rule incorrectly used?
> Any reply would be greatly appreciated.
Before 40867d74c374 you couldn't match with FIB rules on oif/iif being a
VRF slave because these fields in the flow structure were reset to the
index of the VRF device in l3mdev_update_flow().
I will try to check if we can interpret FIB rules with "oif" / "iif"
pointing to a VRF as matching on "fl->flowi_l3mdev" rather than
"fl->flowi_oif" / "fl->flowi_iif".
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: VRF Routing Rule Matching Issue: oif Rules Not Working After Commit 40867d74c374
2025-04-08 19:54 ` Ido Schimmel
@ 2025-04-12 13:17 ` hanhuihui
2025-04-12 13:19 ` [PATCH] resume oif rule match l3mdev in fib_lookup hanhuihui
1 sibling, 0 replies; 11+ messages in thread
From: hanhuihui @ 2025-04-12 13:17 UTC (permalink / raw)
To: idosch; +Cc: dsahern, hanhuihui5, kuba, netdev
On Tue, 8 Apr 2025 22:54:33 +0300 Ido Schimmel wrote:
>Before 40867d74c374 you couldn't match with FIB rules on oif/iif being a
>VRF slave because these fields in the flow structure were reset to the
>index of the VRF device in l3mdev_update_flow().
>
>I will try to check if we can interpret FIB rules with "oif" / "iif"
>pointing to a VRF as matching on "fl->flowi_l3mdev" rather than
>"fl->flowi_oif" / "fl->flowi_iif".
Thank you for your reply. Followed by a simple patch to restore the
previous behavior, hopefully enlightening you.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] resume oif rule match l3mdev in fib_lookup
2025-04-08 19:54 ` Ido Schimmel
2025-04-12 13:17 ` hanhuihui
@ 2025-04-12 13:19 ` hanhuihui
2025-04-12 23:25 ` Jakub Kicinski
2025-04-14 7:17 ` Ido Schimmel
1 sibling, 2 replies; 11+ messages in thread
From: hanhuihui @ 2025-04-12 13:19 UTC (permalink / raw)
To: idosch; +Cc: dsahern, hanhuihui5, kuba, netdev
flowi_oif will be reset if flowi_oif set to a l3mdev (e.g., VRF) device.
This causes the oif rule to fail to match the l3mdev device in fib_lookup.
Let's get back to previous behavior.
Fixes: 40867d74c374 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices")
Signed-off-by: hanhuihui hanhuihui5@huawei.com
---
net/core/fib_rules.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index 4bc64d9..3c2a2db 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -268,7 +268,7 @@ static int fib_rule_match(struct fib_rule *rule, struct fib_rules_ops *ops,
goto out;
oifindex = READ_ONCE(rule->oifindex);
- if (oifindex && (oifindex != fl->flowi_oif))
+ if (oifindex && (oifindex != (fl->flowi_l3mdev ? : fl->flowi_oif)))
goto out;
if ((rule->mark ^ fl->flowi_mark) & rule->mark_mask)
--
2.27.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] resume oif rule match l3mdev in fib_lookup
2025-04-12 13:19 ` [PATCH] resume oif rule match l3mdev in fib_lookup hanhuihui
@ 2025-04-12 23:25 ` Jakub Kicinski
2025-04-14 7:17 ` Ido Schimmel
1 sibling, 0 replies; 11+ messages in thread
From: Jakub Kicinski @ 2025-04-12 23:25 UTC (permalink / raw)
To: hanhuihui; +Cc: idosch, dsahern, netdev
On Sat, 12 Apr 2025 21:19:10 +0800 hanhuihui wrote:
> flowi_oif will be reset if flowi_oif set to a l3mdev (e.g., VRF) device.
> This causes the oif rule to fail to match the l3mdev device in fib_lookup.
> Let's get back to previous behavior.
>
> Fixes: 40867d74c374 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices")
> Signed-off-by: hanhuihui hanhuihui5@huawei.com
If you'd like to go ahead with this approach you need to at the very
least adjust the fib_rule_tests.sh selftest..
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] resume oif rule match l3mdev in fib_lookup
2025-04-12 13:19 ` [PATCH] resume oif rule match l3mdev in fib_lookup hanhuihui
2025-04-12 23:25 ` Jakub Kicinski
@ 2025-04-14 7:17 ` Ido Schimmel
2025-04-14 17:24 ` Ido Schimmel
1 sibling, 1 reply; 11+ messages in thread
From: Ido Schimmel @ 2025-04-14 7:17 UTC (permalink / raw)
To: hanhuihui; +Cc: dsahern, kuba, netdev
On Sat, Apr 12, 2025 at 09:19:10PM +0800, hanhuihui wrote:
> flowi_oif will be reset if flowi_oif set to a l3mdev (e.g., VRF) device.
> This causes the oif rule to fail to match the l3mdev device in fib_lookup.
> Let's get back to previous behavior.
>
> Fixes: 40867d74c374 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices")
> Signed-off-by: hanhuihui hanhuihui5@huawei.com
> ---
> net/core/fib_rules.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
> index 4bc64d9..3c2a2db 100644
> --- a/net/core/fib_rules.c
> +++ b/net/core/fib_rules.c
> @@ -268,7 +268,7 @@ static int fib_rule_match(struct fib_rule *rule, struct fib_rules_ops *ops,
> goto out;
>
> oifindex = READ_ONCE(rule->oifindex);
> - if (oifindex && (oifindex != fl->flowi_oif))
> + if (oifindex && (oifindex != (fl->flowi_l3mdev ? : fl->flowi_oif)))
This will prevent us from matching on the output device when the device
is enslaved to a VRF. We should try to match on L3 domain only if the
FIB rule matches on a VRF device. I will try to send a fix today (wasn't
feeling well in the last few days).
> goto out;
>
> if ((rule->mark ^ fl->flowi_mark) & rule->mark_mask)
> --
> 2.27.0
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] resume oif rule match l3mdev in fib_lookup
2025-04-14 7:17 ` Ido Schimmel
@ 2025-04-14 17:24 ` Ido Schimmel
2025-04-15 14:11 ` hanhuihui
0 siblings, 1 reply; 11+ messages in thread
From: Ido Schimmel @ 2025-04-14 17:24 UTC (permalink / raw)
To: hanhuihui; +Cc: dsahern, kuba, netdev
On Mon, Apr 14, 2025 at 10:17:35AM +0300, Ido Schimmel wrote:
> On Sat, Apr 12, 2025 at 09:19:10PM +0800, hanhuihui wrote:
> > flowi_oif will be reset if flowi_oif set to a l3mdev (e.g., VRF) device.
> > This causes the oif rule to fail to match the l3mdev device in fib_lookup.
> > Let's get back to previous behavior.
> >
> > Fixes: 40867d74c374 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices")
> > Signed-off-by: hanhuihui hanhuihui5@huawei.com
> > ---
> > net/core/fib_rules.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
> > index 4bc64d9..3c2a2db 100644
> > --- a/net/core/fib_rules.c
> > +++ b/net/core/fib_rules.c
> > @@ -268,7 +268,7 @@ static int fib_rule_match(struct fib_rule *rule, struct fib_rules_ops *ops,
> > goto out;
> >
> > oifindex = READ_ONCE(rule->oifindex);
> > - if (oifindex && (oifindex != fl->flowi_oif))
> > + if (oifindex && (oifindex != (fl->flowi_l3mdev ? : fl->flowi_oif)))
>
> This will prevent us from matching on the output device when the device
> is enslaved to a VRF. We should try to match on L3 domain only if the
> FIB rule matches on a VRF device. I will try to send a fix today (wasn't
> feeling well in the last few days).
Posted a fix:
https://lore.kernel.org/netdev/20250414172022.242991-2-idosch@nvidia.com/
Can you please test it and tag it if it fixes your issue?
Thanks
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] resume oif rule match l3mdev in fib_lookup
2025-04-14 17:24 ` Ido Schimmel
@ 2025-04-15 14:11 ` hanhuihui
0 siblings, 0 replies; 11+ messages in thread
From: hanhuihui @ 2025-04-15 14:11 UTC (permalink / raw)
To: idosch; +Cc: dsahern, hanhuihui5, kuba, netdev
On Mon, 14 Apr 2025 20:24:11 +0300, Ido Schimmel wrote:
>On Mon, Apr 14, 2025 at 10:17:35AM +0300, Ido Schimmel wrote:
..
>> This will prevent us from matching on the output device when the device
>> is enslaved to a VRF. We should try to match on L3 domain only if the
>> FIB rule matches on a VRF device. I will try to send a fix today (wasn't
>> feeling well in the last few days).
>
>Posted a fix:
>https://lore.kernel.org/netdev/20250414172022.242991-2-idosch@nvidia.com/
>
>Can you please test it and tag it if it fixes your issue?
Tested-by: hanhuihui hanhuihui5@huawei.com
The patch successfully resolves the VRF oif rule matching issue. The FIB lookup now correctly identifies
the L3 domain when using VRFs. Thank you for the quick fix.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-04-15 14:11 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-03 1:58 VRF Routing Rule Matching Issue: oif Rules Not Working After Commit 40867d74c374 hanhuihui
2025-04-07 8:29 ` Ido Schimmel
2025-04-08 16:17 ` hanhuihui
2025-04-08 16:49 ` David Ahern
2025-04-08 19:54 ` Ido Schimmel
2025-04-12 13:17 ` hanhuihui
2025-04-12 13:19 ` [PATCH] resume oif rule match l3mdev in fib_lookup hanhuihui
2025-04-12 23:25 ` Jakub Kicinski
2025-04-14 7:17 ` Ido Schimmel
2025-04-14 17:24 ` Ido Schimmel
2025-04-15 14:11 ` hanhuihui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).