summaryrefslogtreecommitdiffstats
path: root/utils/nfqnl_test.c
diff options
context:
space:
mode:
authorBart De Schuymer <bdschuym@pandora.be>2009-01-26 16:33:57 +0100
committerPatrick McHardy <kaber@trash.net>2009-01-26 16:33:57 +0100
commit3bd2cefc0fb9685fde9d402fdbe3f4f3ec3ddd7d (patch)
tree2bb9e305165402234ffdc053e465bb11535741e8 /utils/nfqnl_test.c
parent3b365b033fa35535e85ac15b16cbc5e90effd54a (diff)
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 <bdschuym@pandora.be> Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'utils/nfqnl_test.c')
-rw-r--r--utils/nfqnl_test.c24
1 files changed, 21 insertions, 3 deletions
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)