Subject: [PATCH] etun: Don't assume the incomming skb is fresh From: Eric W. Biederman Date: 1137534138 -0700 Fressh skbs always have their packet_type set to 0 or PACKET_HOST. So eth_type_trans does only sets pkt_type if the packet type is something different. When the packet is relayed from an ethernet devices through the ethernet bridge through etun the packet is no longer fresh. So force pkt_type to PACKET_HOST before classifying the packet. --- drivers/net/etun.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) ba4cb38b62c8c01c2f46016be78088e56b2311e1 diff --git a/drivers/net/etun.c b/drivers/net/etun.c index 398fbd0..e3062f5 100644 --- a/drivers/net/etun.c +++ b/drivers/net/etun.c @@ -58,6 +58,7 @@ static int etun_xmit(struct sk_buff *skb skb->dst = dst_pop(skb->dst); /* Allow for smart routing */ /* Switch to the receiving device */ + skb->pkt_type = PACKET_HOST; skb->protocol = eth_type_trans(skb, rx_dev); skb->dev = rx_dev; -- 1.0.GIT