  		macoff = netoff - maclen;
  	}
  
-@@ -634,6 +658,23 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev, struct packe
+@@ -634,6 +659,23 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev, struct packe
  
  	skb_copy_bits(skb, 0, (u8*)h + macoff, snaplen);
  
 +#ifdef CONFIG_RADCLOCK
-+	/* Provide a timeval stamp build based on the RADclock or a timestamp for 
++	/* Provide a timeval stamp build based on the RADclock or a timestamp for
 +	 * fair comparison. Replace existing timestamp in the skbuff if in the right
 +	 * mode. Default is to return normal stamp.
 +	 */

+ * use more memory.
+ */
+		macoff = netoff = TPACKET_ALIGN(TPACKET_HDRLEN + 16 + sizeof(vcounter_t));
+#else 
 		macoff = netoff = TPACKET_ALIGN(TPACKET_HDRLEN) + 16;
+#endif
 	} else {

 	sock_recv_timestamp(msg, sk, skb);
 
 	if (msg->msg_name)
@@ -1521,10 +1594,67 @@ static int packet_ioctl(struct socket *sock, unsigned int cmd,
 			return put_user(amount, (int __user *)arg);
 		}
 		case SIOCGSTAMP:
