summaryrefslogtreecommitdiff
path: root/pkt_buff.h
diff options
context:
space:
mode:
authorVadim Kochan <vadim4j@gmail.com>2015-04-24 19:14:35 +0300
committerTobias Klauser <tklauser@distanz.ch>2015-04-27 11:52:48 +0200
commitd312a25879d5826ff1ca638410bbd36ba2619d93 (patch)
tree301de11dfc9dd5de7be1531f048806e336ed4541 /pkt_buff.h
parent7abd76e387c10d9f105af348d2f7bd16e3f671b8 (diff)
netsniff-ng nlmsg: Print netlink protocol name
nlmsg proto handler can't identify Netlink protocol from nlmsghdr, so sockaddr_ll can be used to get it. Also renamed [proto -> handler] member in pkt_buff struct, which is more understandable. Example: >U nlmon0 4756 1429891435s.14505747ns [ NLMSG Proto 0 (RTNETLINK), Len 1160, Type 0x0010 (0x10), Flags 0x0002 (MULTI), Seq-Nr 1429891436, PID 31613 ] Signed-off-by: Vadim Kochan <vadim4j@gmail.com> [tklauser: Handle usage of NETLINK_SOCK_DIAG with pre 3.10 kernel headers, fix nl_proto2str() return value, formatting changes] Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Diffstat (limited to 'pkt_buff.h')
-rw-r--r--pkt_buff.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/pkt_buff.h b/pkt_buff.h
index 1350388..58b0506 100644
--- a/pkt_buff.h
+++ b/pkt_buff.h
@@ -19,8 +19,9 @@ struct pkt_buff {
uint8_t *tail;
unsigned int size;
- struct protocol *proto;
+ struct protocol *handler;
int link_type;
+ uint16_t proto;
};
static inline struct pkt_buff *pkt_alloc(uint8_t *packet, unsigned int len)
@@ -31,7 +32,7 @@ static inline struct pkt_buff *pkt_alloc(uint8_t *packet, unsigned int len)
pkt->data = packet;
pkt->tail = packet + len;
pkt->size = len;
- pkt->proto = NULL;
+ pkt->handler = NULL;
return pkt;
}
@@ -105,9 +106,9 @@ static inline void pkt_set_proto(struct pkt_buff *pkt, struct hash_table *table,
{
bug_on(!pkt || !table);
- pkt->proto = lookup_hash(key, table);
- while (pkt->proto && key != pkt->proto->key)
- pkt->proto = pkt->proto->next;
+ pkt->handler = lookup_hash(key, table);
+ while (pkt->handler && key != pkt->handler->key)
+ pkt->handler = pkt->handler->next;
}
#endif /* PKT_BUFF_H */