diff mbox

RFC: VETH patch to zero timestamp.

Message ID 4A5F9B1D.1050505@candelatech.com
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Ben Greear July 16, 2009, 9:26 p.m. UTC
The patch below helps when using VETH and bridge(s)
This makes sure that the pkt timestamp is properly (re)calculated on
receiving the packet on the peer veth device.

I'm sure this patch is white-space damaged.  If this looks
useful, I'll generate a clean patch and send as attachment.

Signed-off-by:  Ben Greear<greearb@candelatech.com>




Thanks,
Ben

Comments

Eric W. Biederman July 17, 2009, 12:01 a.m. UTC | #1
Ben Greear <greearb@candelatech.com> writes:

> The patch below helps when using VETH and bridge(s)
> This makes sure that the pkt timestamp is properly (re)calculated on
> receiving the packet on the peer veth device.
>
> I'm sure this patch is white-space damaged.  If this looks
> useful, I'll generate a clean patch and send as attachment.

We reset everything else that needs to be reset.  So we might as well
reset the timestamps as well.  Unless there is a big performance
impact by doing so.

> Signed-off-by:  Ben Greear<greearb@candelatech.com>
>
>
> diff --git a/drivers/net/veth.c b/drivers/net/veth.c
> index 1097c72..e9136af 100644
> --- a/drivers/net/veth.c
> +++ b/drivers/net/veth.c
> @@ -170,7 +173,12 @@ static int veth_xmit(struct sk_buff *skb, struct net_device *dev)
>
>         if (skb->len > (rcv->mtu + MTU_PAD))
>                 goto rx_drop;
> -
> +
> +       /* Zero out the time-stamp so that receiving code is forced
> +        * to recalculate it.
> +        */
> +       skb->tstamp.tv64 = 0;
> +
>         skb->pkt_type = PACKET_HOST;
>         skb->protocol = eth_type_trans(skb, rcv);
>         if (dev->features & NETIF_F_NO_CSUM)
>
>
> Thanks,
> Ben
>
> -- 
> Ben Greear <greearb@candelatech.com>
> Candela Technologies Inc  http://www.candelatech.com
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index 1097c72..e9136af 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -170,7 +173,12 @@  static int veth_xmit(struct sk_buff *skb, struct net_device *dev)

         if (skb->len > (rcv->mtu + MTU_PAD))
                 goto rx_drop;
-
+
+       /* Zero out the time-stamp so that receiving code is forced
+        * to recalculate it.
+        */
+       skb->tstamp.tv64 = 0;
+
         skb->pkt_type = PACKET_HOST;
         skb->protocol = eth_type_trans(skb, rcv);
         if (dev->features & NETIF_F_NO_CSUM)