nfqnl_test: add hw src address, physindev and physoutdev support
authorBart De Schuymer <bdschuym@pandora.be>
Mon, 26 Jan 2009 15:33:57 +0000 (16:33 +0100)
committerr.kubiak <r.kubiak@samsung.com>
Mon, 16 Nov 2015 13:12:05 +0000 (14:12 +0100)
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>
utils/nfqnl_test.c

index 7cf27f0..036bdab 100644 (file)
@@ -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)