summaryrefslogtreecommitdiff
path: root/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c')
-rw-r--r--src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
index ba74ed7f1..5204be057 100644
--- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -1,4 +1,4 @@
-/* $Id: VBoxNetFlt-linux.c 16098 2009-01-20 19:22:12Z vboxsync $ */
+/* $Id: VBoxNetFlt-linux.c $ */
/** @file
* VBoxNetFlt - Network Filter Driver (Host), Linux Specific Code.
*/
@@ -289,7 +289,7 @@ DECLINLINE(void) vboxNetFltLinuxReleaseNetDev(PVBOXNETFLTINS pThis, struct net_d
#endif
}
-#define VBOXNETFLT_CB_TAG 0xA1C9D7C3
+#define VBOXNETFLT_CB_TAG(skb) (0xA1C90000 | (skb->dev->ifindex & 0xFFFF))
#define VBOXNETFLT_SKB_TAG(skb) (*(uint32_t*)&((skb)->cb[sizeof((skb)->cb)-sizeof(uint32_t)]))
/**
@@ -301,7 +301,7 @@ DECLINLINE(void) vboxNetFltLinuxReleaseNetDev(PVBOXNETFLTINS pThis, struct net_d
*/
DECLINLINE(bool) vboxNetFltLinuxSkBufIsOur(struct sk_buff *pBuf)
{
- return VBOXNETFLT_SKB_TAG(pBuf) == VBOXNETFLT_CB_TAG ;
+ return VBOXNETFLT_SKB_TAG(pBuf) == VBOXNETFLT_CB_TAG(pBuf);
}
@@ -355,7 +355,7 @@ static struct sk_buff *vboxNetFltLinuxSkBufFromSG(PVBOXNETFLTINS pThis, PINTNETS
skb_push(pPkt, ETH_HLEN);
VBOX_SKB_RESET_MAC_HDR(pPkt);
}
- VBOXNETFLT_SKB_TAG(pPkt) = VBOXNETFLT_CB_TAG;
+ VBOXNETFLT_SKB_TAG(pPkt) = VBOXNETFLT_CB_TAG(pPkt);
return pPkt;
}