diff options
Diffstat (limited to 'util/printpkt.c')
-rw-r--r-- | util/printpkt.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/util/printpkt.c b/util/printpkt.c index 69a47ca..09a2194 100644 --- a/util/printpkt.c +++ b/util/printpkt.c @@ -260,11 +260,12 @@ static int printpkt_ipv4(struct ulogd_key *res, char *buf) ikey_get_u16(&res[KEY_ICMP_ECHOSEQ])); break; case ICMP_PARAMETERPROB: + paddr = ikey_get_u32(&res[KEY_ICMP_GATEWAY]); buf_cur += sprintf(buf_cur, "PARAMETER=%u ", - ikey_get_u32(&res[KEY_ICMP_GATEWAY]) >> 24); + *(uint8_t *) &paddr); break; case ICMP_REDIRECT: - paddr = ikey_get_u32(&res[KEY_ICMP_GATEWAY]), + paddr = ikey_get_u32(&res[KEY_ICMP_GATEWAY]); buf_cur += sprintf(buf_cur, "GATEWAY=%s ", inet_ntop(AF_INET, &paddr, @@ -355,6 +356,9 @@ static int printpkt_ipv6(struct ulogd_key *res, char *buf) break; } break; + default: + buf_cur += sprintf(buf_cur, "PROTO=%u ", + ikey_get_u8(&res[KEY_IP6_NEXTHDR])); } return buf_cur - buf; @@ -471,7 +475,7 @@ int printpkt_print(struct ulogd_key *res, char *buf) buf_cur += sprintf(buf_cur, "GID=%u ", ikey_get_u32(&res[KEY_OOB_GID])); if (pp_is_valid(res, KEY_OOB_MARK)) - buf_cur += sprintf(buf_cur, "MARK=%x ", + buf_cur += sprintf(buf_cur, "MARK=0x%x ", ikey_get_u32(&res[KEY_OOB_MARK])); strcat(buf_cur, "\n"); |