Every packet parser in tcpdump forwards its read_opt argument to
get_name_by_macaddr(), which only consults the bat-hosts table when
read_opt carries USE_BAT_HOSTS. This was (without reason) not done in the
TVLV ROAMv1 parser and the NO_FLAGS is hardcoded for the
get_name_by_macaddr().

Just forward the read_opts flags like in all other functions to have the
same user experience.

Fixes: 4c39fb823b86 ("batctl: tcpdump - parse TVLV containers")
Signed-off-by: Sven Eckelmann <[email protected]>
---
 tcpdump.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tcpdump.c b/tcpdump.c
index b6305fd..b01581e 100644
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -202,7 +202,7 @@ static void batctl_tvlv_parse_tt_v1(void *buff, ssize_t 
buff_len,
 }
 
 static void batctl_tvlv_parse_roam_v1(void *buff, ssize_t buff_len,
-                                     int read_opt __maybe_unused)
+                                     int read_opt)
 {
        struct batadv_tvlv_roam_adv *tvlv = buff;
 
@@ -214,7 +214,7 @@ static void batctl_tvlv_parse_roam_v1(void *buff, ssize_t 
buff_len,
        }
 
        printf("\tTVLV ROAMv1: client %s, VLAN ID %d\n",
-              get_name_by_macaddr((struct ether_addr *)tvlv->client, NO_FLAGS),
+              get_name_by_macaddr((struct ether_addr *)tvlv->client, read_opt),
               BATADV_PRINT_VID(ntohs(tvlv->vid)));
 }
 

-- 
2.47.3

Reply via email to