summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-09-28 12:46:40 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2021-09-28 12:49:07 +0200
commitad78308508160532f8c464e194bb7b5cd83a2dc9 (patch)
treef20fd5e2bb8fa5976ddddef27f55fd492f429526
parentb421f6917d972c755df093dfa2857e81d906d643 (diff)
utils: nfulnl_test: use nflog_get_packet_hw() and print hardware address
Print hardware length and address. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--utils/nfulnl_test.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/utils/nfulnl_test.c b/utils/nfulnl_test.c
index e5f625b..4f29f17 100644
--- a/utils/nfulnl_test.c
+++ b/utils/nfulnl_test.c
@@ -8,11 +8,13 @@
static int print_pkt(struct nflog_data *nfad)
{
+ uint32_t outdev, indev, hw_addrlen;
struct nfulnl_msg_packet_hdr *ph;
- uint32_t outdev, indev;
+ struct nfulnl_msg_packet_hw *hw;
int payload_len;
char *payload;
char *prefix;
+ int i;
ph = nflog_get_msg_packet_hdr(nfad);
if (ph) {
@@ -20,6 +22,18 @@ static int print_pkt(struct nflog_data *nfad)
ntohs(ph->hw_protocol), ph->hook);
}
+ hw = nflog_get_packet_hw(nfad);
+ if (hw) {
+ hw_addrlen = ntohs(hw->hw_addrlen);
+ printf("hw_addrlen=%d ", hw_addrlen);
+
+ printf("hw_addr=");
+ for (i = 0; i < hw_addrlen - 1; i++)
+ printf("%02x:", hw->hw_addr[i]);
+
+ printf("%02x ", hw->hw_addr[hw_addrlen - 1]);
+ }
+
printf("mark=%u ", nflog_get_nfmark(nfad));
indev = nflog_get_indev(nfad);