Signed-off-by: Vitezslav Samel <vitezslav(a)samel.cz>
---
src/itrafmon.c | 6 +++---
src/packet.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/itrafmon.c b/src/itrafmon.c
index c0c8373..42bbcc4 100644
--- a/src/itrafmon.c
+++ b/src/itrafmon.c
@@ -1083,7 +1083,7 @@ void ipmon(struct OPTIONS *options, struct filterstate *ofilter,
addentry(&table, 0, 0,
(uint8_t *) &pkt.ip6_hdr->ip6_src.s6_addr,
(uint8_t *) &pkt.ip6_hdr->ip6_dst.s6_addr,
- sport, dport, pkt.ip6_hdr->ip6_nxt,
+ sport, dport, pkt_ip_protocol(&pkt),
ifname, &revlook, rvnfd,
options->servnames);
if (tcpentry != NULL) {
@@ -1201,14 +1201,14 @@ void ipmon(struct OPTIONS *options, struct filterstate *ofilter,
options->servnames, fragment);
} else {
- if (pkt.ip6_hdr->ip6_nxt == IPPROTO_ICMPV6
+ if (pkt_ip_protocol(&pkt) == IPPROTO_ICMPV6
&& (((struct icmp6_hdr *) transpacket)->icmp6_type ==
ICMP6_DST_UNREACH))
process_dest_unreach(&table, (char *) transpacket,
ifname);
add_othp_entry(&othptbl, &pkt, 0, 0,
&pkt.ip6_hdr->ip6_src, &pkt.ip6_hdr->ip6_dst,
- IS_IP, pkt.ip6_hdr->ip6_nxt,
+ IS_IP, pkt_ip_protocol(&pkt),
(char *) transpacket, ifname,
&revlook, rvnfd,
logging, logfile, options->servnames,
diff --git a/src/packet.c b/src/packet.c
index 0c262be..d0b04e4 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -295,7 +295,7 @@ again:
char *ip_payload = (char *) ip6 + pkt_iph_len(pkt);
//TODO: Filter packets
- switch (ip6->ip6_nxt) { /* FIXME: extension headers ??? */
+ switch (pkt_ip_protocol(pkt)) {
case IPPROTO_TCP:
tcp = (struct tcphdr *) ip_payload;
if (sport)
--
1.7.8.4