diff mbox series

[nft] datatype: leave DTYPE_F_PREFIX only for IP address datatype

Message ID 20240321122401.310768-1-pablo@netfilter.org
State Accepted
Headers show
Series [nft] datatype: leave DTYPE_F_PREFIX only for IP address datatype | expand

Commit Message

Pablo Neira Ayuso March 21, 2024, 12:24 p.m. UTC
DTYPE_F_PREFIX flag provides a hint to the netlink delinearize path to
use prefix notation.

It seems use of prefix notation in meta mark causes confusion, users
expect to see prefix in the listing only in IP address datatypes.

Untoggle this flag so (more lengthy) binop output such as:

  meta mark & 0xffffff00 == 0xffffff00

is used instead.

Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1739
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 src/datatype.c      | 1 -
 src/meta.c          | 1 -
 src/rt.c            | 1 -
 tests/py/any/meta.t | 2 +-
 4 files changed, 1 insertion(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/src/datatype.c b/src/datatype.c
index 3205b214197f..b368ea9125fc 100644
--- a/src/datatype.c
+++ b/src/datatype.c
@@ -1015,7 +1015,6 @@  const struct datatype mark_type = {
 	.print		= mark_type_print,
 	.json		= mark_type_json,
 	.parse		= mark_type_parse,
-	.flags		= DTYPE_F_PREFIX,
 };
 
 static const struct symbol_table icmp_code_tbl = {
diff --git a/src/meta.c b/src/meta.c
index eca8dac72098..a17bacf07d0e 100644
--- a/src/meta.c
+++ b/src/meta.c
@@ -363,7 +363,6 @@  const struct datatype devgroup_type = {
 	.print		= devgroup_type_print,
 	.json		= devgroup_type_json,
 	.parse		= devgroup_type_parse,
-	.flags		= DTYPE_F_PREFIX,
 };
 
 const struct datatype ifname_type = {
diff --git a/src/rt.c b/src/rt.c
index d8f3352f4b4a..9320b8322456 100644
--- a/src/rt.c
+++ b/src/rt.c
@@ -61,7 +61,6 @@  const struct datatype realm_type = {
 	.basetype	= &integer_type,
 	.print		= realm_type_print,
 	.parse		= realm_type_parse,
-	.flags		= DTYPE_F_PREFIX,
 };
 
 const struct rt_template rt_templates[] = {
diff --git a/tests/py/any/meta.t b/tests/py/any/meta.t
index 718c7ad96186..bd10c56dfe5f 100644
--- a/tests/py/any/meta.t
+++ b/tests/py/any/meta.t
@@ -56,7 +56,7 @@  meta mark and 0x03 == 0x01;ok;meta mark & 0x00000003 == 0x00000001
 meta mark and 0x03 != 0x01;ok;meta mark & 0x00000003 != 0x00000001
 meta mark 0x10;ok;meta mark 0x00000010
 meta mark != 0x10;ok;meta mark != 0x00000010
-meta mark 0xffffff00/24;ok
+meta mark 0xffffff00/24;ok;meta mark & 0xffffff00 == 0xffffff00
 
 meta mark or 0x03 == 0x01;ok;meta mark | 0x00000003 == 0x00000001
 meta mark or 0x03 != 0x01;ok;meta mark | 0x00000003 != 0x00000001