netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/8] net: fib_rules: Add port mask support
@ 2025-02-17 13:41 Ido Schimmel
  2025-02-17 13:41 ` [PATCH net-next 1/8] net: fib_rules: Add port mask attributes Ido Schimmel
                   ` (10 more replies)
  0 siblings, 11 replies; 15+ messages in thread
From: Ido Schimmel @ 2025-02-17 13:41 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, horms, donald.hunter, dsahern,
	petrm, gnault, Ido Schimmel

In some deployments users would like to encode path information into
certain bits of the IPv6 flow label, the UDP source port and the DSCP
field and use this information to route packets accordingly.

Redirecting traffic to a routing table based on specific bits in the UDP
source port is not currently possible. Only exact match and range are
currently supported by FIB rules.

This patchset extends FIB rules to match on layer 4 ports with an
optional mask. The mask is not supported when matching on a range. A
future patchset will add support for matching on the DSCP field with an
optional mask.

Patches #1-#6 gradually extend FIB rules to match on layer 4 ports with
an optional mask.

Patches #7-#8 add test cases for FIB rule port matching.

iproute2 support can be found here [1].

[1] https://github.com/idosch/iproute2/tree/submit/fib_rule_mask_v1

Ido Schimmel (8):
  net: fib_rules: Add port mask attributes
  net: fib_rules: Add port mask support
  ipv4: fib_rules: Add port mask matching
  ipv6: fib_rules: Add port mask matching
  net: fib_rules: Enable port mask usage
  netlink: specs: Add FIB rule port mask attributes
  selftests: fib_rule_tests: Add port range match tests
  selftests: fib_rule_tests: Add port mask match tests

 Documentation/netlink/specs/rt_rule.yaml      | 10 +++
 include/net/fib_rules.h                       | 19 +++++
 include/uapi/linux/fib_rules.h                |  2 +
 net/core/fib_rules.c                          | 69 ++++++++++++++++++-
 net/ipv4/fib_rules.c                          |  8 +--
 net/ipv6/fib6_rules.c                         |  8 +--
 tools/testing/selftests/net/fib_rule_tests.sh | 36 ++++++++++
 7 files changed, 143 insertions(+), 9 deletions(-)

-- 
2.48.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-02-20  2:50 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-17 13:41 [PATCH net-next 0/8] net: fib_rules: Add port mask support Ido Schimmel
2025-02-17 13:41 ` [PATCH net-next 1/8] net: fib_rules: Add port mask attributes Ido Schimmel
2025-02-17 13:41 ` [PATCH net-next 2/8] net: fib_rules: Add port mask support Ido Schimmel
2025-02-17 13:41 ` [PATCH net-next 3/8] ipv4: fib_rules: Add port mask matching Ido Schimmel
2025-02-17 13:41 ` [PATCH net-next 4/8] ipv6: " Ido Schimmel
2025-02-17 13:41 ` [PATCH net-next 5/8] net: fib_rules: Enable port mask usage Ido Schimmel
2025-02-18 17:15   ` Kory Maincent
2025-02-18 18:15     ` Ido Schimmel
2025-02-18 19:22       ` Kory Maincent
2025-02-17 13:41 ` [PATCH net-next 6/8] netlink: specs: Add FIB rule port mask attributes Ido Schimmel
2025-02-17 13:41 ` [PATCH net-next 7/8] selftests: fib_rule_tests: Add port range match tests Ido Schimmel
2025-02-17 13:41 ` [PATCH net-next 8/8] selftests: fib_rule_tests: Add port mask " Ido Schimmel
2025-02-18 12:16 ` [PATCH net-next 0/8] net: fib_rules: Add port mask support Guillaume Nault
2025-02-19 15:22 ` David Ahern
2025-02-20  2:50 ` patchwork-bot+netdevbpf

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).