From 3bd2cefc0fb9685fde9d402fdbe3f4f3ec3ddd7d Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Mon, 26 Jan 2009 16:33:57 +0100 Subject: nfqnl_test: add hw src address, physindev and physoutdev support This adds the hardware source address, physindev and physoutdev support to nfqnl_test Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy --- utils/nfqnl_test.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'utils') diff --git a/utils/nfqnl_test.c b/utils/nfqnl_test.c index 7cf27f0..036bdab 100644 --- a/utils/nfqnl_test.c +++ b/utils/nfqnl_test.c @@ -13,17 +13,28 @@ static u_int32_t print_pkt (struct nfq_data *tb) { int id = 0; struct nfqnl_msg_packet_hdr *ph; + struct nfqnl_msg_packet_hw *hwph; u_int32_t mark,ifi; int ret; char *data; - + ph = nfq_get_msg_packet_hdr(tb); - if (ph){ + if (ph) { id = ntohl(ph->packet_id); printf("hw_protocol=0x%04x hook=%u id=%u ", ntohs(ph->hw_protocol), ph->hook, id); } - + + hwph = nfq_get_packet_hw(tb); + if (hwph) { + int i, hlen = ntohs(hwph->hw_addrlen); + + printf("hw_src_addr="); + for (i = 0; i < hlen-1; i++) + printf("%02x:", hwph->hw_addr[i]); + printf("%02x ", hwph->hw_addr[hlen-1]); + } + mark = nfq_get_nfmark(tb); if (mark) printf("mark=%u ", mark); @@ -35,6 +46,13 @@ static u_int32_t print_pkt (struct nfq_data *tb) ifi = nfq_get_outdev(tb); if (ifi) printf("outdev=%u ", ifi); + ifi = nfq_get_physindev(tb); + if (ifi) + printf("physindev=%u ", ifi); + + ifi = nfq_get_physoutdev(tb); + if (ifi) + printf("physoutdev=%u ", ifi); ret = nfq_get_payload(tb, &data); if (ret >= 0) -- cgit v1.2.3