Hi,

I had some problems decoding IPv6 packets with the pfring_parse_pkt() function. 
The problem turned out to be an incorrect size payload_len element in the 
struct ipv6hdr in pfring_utils.h. Patch attached below. I also added an error 
clause to the cpp defines statement just in case something is messed up with 
the bitfield ordering macros on a platform. The problem does not occur in the 
kernel module packet parsing as it uses the system version of struct ipv6hdr 
from /usr/include/linux/ipv6.h.

Regards,
Denis

diff --git a/external/PF_RING-6.0.2/userland/lib/pfring_utils.h b/external/PF_RI
index 341f485..26906ff 100644
--- a/external/PF_RING-6.0.2/userland/lib/pfring_utils.h
+++ b/external/PF_RING-6.0.2/userland/lib/pfring_utils.h
@@ -112,10 +112,11 @@ struct ipv6hdr {
   u_int8_t             version:4,
                priority:4;
#else
+#error  "Please fix <asm/byteorder.h>"
#endif
   u_int8_t             flow_lbl[3];
-  u_int8_t             payload_len;
+  u_int16_t            payload_len;
   u_int8_t             nexthdr;
   u_int8_t             hop_limit;

________________________________

The information contained in this message and any attachments is strictly 
confidential and intended solely for the use of the intended recipient(s). The 
copyright in this communication belongs to (HSD). This message and any 
attachments are confidential and may be subject to legal or other professional 
privilege. Any confidentiality or privilege is not waived or lost because this 
e-mail has been sent to you by mistake. If you have received this transmission 
in error, please notify HSD on +61 3 9875 5900 immediately and destroy all 
copies of this e-mail. The contents of this email message may not be quoted, 
copied, reproduced or published in part or in whole, without the written 
authorisation of HSD.
_______________________________________________
Ntop-misc mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc

Reply via email to