Patchwork [1/3] Fix parsing of ipv6 flowlabel and tc fields

login
register
mail settings
Submitter Eric Leblond
Date Dec. 21, 2012, 2:01 p.m.
Message ID <1356098513-18684-2-git-send-email-eric@regit.org>
Download mbox | patch
Permalink /patch/207818/
State Accepted
Headers show

Comments

Eric Leblond - Dec. 21, 2012, 2:01 p.m.
From: Bob Hockney <zeus@ix.netcom.com>

Mask should be applied after ntohl conversion.

Signed-off-by: Eric Leblond <eric@regit.org>
---
 filter/raw2packet/ulogd_raw2packet_BASE.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/filter/raw2packet/ulogd_raw2packet_BASE.c b/filter/raw2packet/ulogd_raw2packet_BASE.c
index d0fcdfa..05141b8 100644
--- a/filter/raw2packet/ulogd_raw2packet_BASE.c
+++ b/filter/raw2packet/ulogd_raw2packet_BASE.c
@@ -784,9 +784,9 @@  static int _interp_ipv6hdr(struct ulogd_pluginstance *pi, u_int32_t len)
 	okey_set_u128(&ret[KEY_IP_DADDR], &ipv6h->ip6_dst);
 	okey_set_u16(&ret[KEY_IP6_PAYLOAD_LEN], ntohs(ipv6h->ip6_plen));
 	okey_set_u8(&ret[KEY_IP6_PRIORITY],
-		    ntohl(ipv6h->ip6_flow & 0x0ff00000) >> 20);
+		    (ntohl(ipv6h->ip6_flow) & 0x0ff00000) >> 20);
 	okey_set_u32(&ret[KEY_IP6_FLOWLABEL],
-		     ntohl(ipv6h->ip6_flow & 0x000fffff));
+		     ntohl(ipv6h->ip6_flow) & 0x000fffff);
 	okey_set_u8(&ret[KEY_IP6_HOPLIMIT], ipv6h->ip6_hlim);
 
 	curhdr = ipv6h->ip6_nxt;