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

Reply via email to