diff -NurpP --minimal a/drivers/net/vnet.c b/drivers/net/vnet.c --- a/drivers/net/vnet.c 2005-03-01 16:35:25.000000000 +0100 +++ b/drivers/net/vnet.c 2005-03-02 17:00:32.000000000 +0100 @@ -65,8 +65,8 @@ static void vnet_real_xmit(struct vnet * // newskb->priority = 2; /* put it into host context */ - skb->nfvnet = 0; - skb->nfxid = 0; + newskb->nfvnet = 0; + newskb->nfxid = 0; dev_queue_xmit(newskb); diff -NurpP --minimal a/net/core/skbuff.c b/net/core/skbuff.c --- a/net/core/skbuff.c 2005-03-01 16:48:59.000000000 +0100 +++ b/net/core/skbuff.c 2005-03-02 06:03:49.000000000 +0100 @@ -59,6 +59,7 @@ #include #include #include +#include #include #include @@ -150,6 +151,7 @@ struct sk_buff *alloc_skb(unsigned int s skb->data = data; skb->tail = data; skb->end = data + size; + skb->nfvnet = VNET_UNTAGGED; // skb->nfxid = vx_current_xid(); skb->nfxid = NFXID_UNKNOWN; diff -NurpP --minimal a/net/ipv4/netfilter/ipt_VNET.c b/net/ipv4/netfilter/ipt_VNET.c --- a/net/ipv4/netfilter/ipt_VNET.c 2005-03-01 16:35:25.000000000 +0100 +++ b/net/ipv4/netfilter/ipt_VNET.c 2005-03-02 05:47:34.000000000 +0100 @@ -44,7 +44,7 @@ target(struct sk_buff **pskb, case NF_IP_PRE_ROUTING: /* process prestine packets only */ - if ((*pskb)->nfvnet) + if ((*pskb)->nfvnet != VNET_UNTAGGED) return IPT_CONTINUE; /* rewrite packet and reinject from vnet */