Hello Luca, and all
I tried to work PF_RING on linux kernel 2.6.22.
However errors are occurred when I compiled.
I found tstamp in the skbuff is changed to ktime in 2.6.22.
So, I created a patch for 2.6.22.
regards,
Hitoshi IRINO
--- ring_packet.c.orig 2007-08-10 17:59:15.000000000 +0000
+++ ring_packet.c 2007-08-15 14:49:49.000000000 +0000
@@ -2960,10 +2960,12 @@
if(skb->stamp.tv_sec == 0) do_gettimeofday(&skb->stamp);
hdr->ts.tv_sec = skb->stamp.tv_sec, hdr->ts.tv_usec = skb->stamp.tv_usec;
-#else
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22))
if(skb->tstamp.off_sec == 0) __net_timestamp(skb);
-
hdr->ts.tv_sec = skb->tstamp.off_sec, hdr->ts.tv_usec =
skb->tstamp.off_usec;
+#else //(LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
+ if(skb->tstamp.tv64 == 0) __net_timestamp(skb);
+ hdr->ts = ktime_to_timeval(skb->tstamp);
#endif
hdr->caplen = skb->len+displ;
@@ -3305,9 +3307,12 @@
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14))
skb.dev = dev, skb.len = len, skb.data = data,
skb.data_len = len, skb.stamp.tv_sec = 0; /* Calculate the time */
-#else
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22))
skb.dev = dev, skb.len = len, skb.data = data,
skb.data_len = len, skb.tstamp.off_sec = 0; /* Calculate the time */
+#else
+ skb.dev = dev, skb.len = len, skb.data = data,
+ skb.data_len = len, skb.tstamp.tv64 = 0; /* Calculate the time */
#endif
skb_ring_handler(&skb, 1, 0 /* fake skb */);
_______________________________________________
Ntop-dev mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev