* [PATCH nft] fib: Change data type of fib oifname to "ifname"
@ 2025-02-25 10:02 Xiao Liang
2025-02-25 18:45 ` Florian Westphal
0 siblings, 1 reply; 2+ messages in thread
From: Xiao Liang @ 2025-02-25 10:02 UTC (permalink / raw)
To: netfilter-devel
Change data type of fib oifname from "string" to "ifname", so that it
can be matched against a set of ifnames:
set x {
type ifname
}
chain y {
fib saddr oifname @x drop
}
Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
---
doc/primary-expression.txt | 4 ++--
src/fib.c | 2 +-
tests/shell/testcases/sets/0029named_ifname_dtype_0 | 1 +
tests/shell/testcases/sets/dumps/0029named_ifname_dtype_0.nft | 1 +
4 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/doc/primary-expression.txt b/doc/primary-expression.txt
index c6a33bbe..40aca3d3 100644
--- a/doc/primary-expression.txt
+++ b/doc/primary-expression.txt
@@ -354,10 +354,10 @@ address types can be shown with *nft* *describe* *fib_addrtype*.
|Keyword| Description| Result Type
|oif|
Output interface index|
-integer (32 bit)
+iface_index
|oifname|
Output interface name|
-string
+ifname
|type|
Address type |
fib_addrtype (see *nft* *describe* *fib_addrtype* for a list)
diff --git a/src/fib.c b/src/fib.c
index e95271c9..5a7c1170 100644
--- a/src/fib.c
+++ b/src/fib.c
@@ -179,7 +179,7 @@ struct expr *fib_expr_alloc(const struct location *loc,
type = &ifindex_type;
break;
case NFT_FIB_RESULT_OIFNAME:
- type = &string_type;
+ type = &ifname_type;
len = IFNAMSIZ * BITS_PER_BYTE;
break;
case NFT_FIB_RESULT_ADDRTYPE:
diff --git a/tests/shell/testcases/sets/0029named_ifname_dtype_0 b/tests/shell/testcases/sets/0029named_ifname_dtype_0
index 2dbcd22b..ea581406 100755
--- a/tests/shell/testcases/sets/0029named_ifname_dtype_0
+++ b/tests/shell/testcases/sets/0029named_ifname_dtype_0
@@ -40,6 +40,7 @@ EXPECTED="table inet t {
chain c {
iifname @s accept
oifname @s accept
+ fib saddr oifname @s accept
tcp dport . meta iifname @sc accept
meta iifname . meta mark @nv accept
}
diff --git a/tests/shell/testcases/sets/dumps/0029named_ifname_dtype_0.nft b/tests/shell/testcases/sets/dumps/0029named_ifname_dtype_0.nft
index 55cd4f26..6f9832a9 100644
--- a/tests/shell/testcases/sets/dumps/0029named_ifname_dtype_0.nft
+++ b/tests/shell/testcases/sets/dumps/0029named_ifname_dtype_0.nft
@@ -51,6 +51,7 @@ table inet t {
chain c {
iifname @s accept
oifname @s accept
+ fib saddr oifname @s accept
tcp dport . iifname @sc accept
iifname . meta mark @nv accept
}
--
2.48.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-02-25 18:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-25 10:02 [PATCH nft] fib: Change data type of fib oifname to "ifname" Xiao Liang
2025-02-25 18:45 ` Florian Westphal
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.