VirtualBox

Ticket #3215: fix

File fix, 860 bytes (added by James R. Leu, 16 years ago)
Line 
1--- VBoxNetFlt-linux.c.orig 2009-02-11 21:40:08.000000000 -0600
2+++ VBoxNetFlt-linux.c 2009-02-11 22:32:04.000000000 -0600
3@@ -289,7 +289,7 @@
4 #endif
5 }
6
7-#define VBOXNETFLT_CB_TAG 0xA1C9D7C3
8+#define VBOXNETFLT_CB_TAG(skb) (0xA1C90000 | (skb->dev->ifindex & 0xFFFF))
9 #define VBOXNETFLT_SKB_TAG(skb) (*(uint32_t*)&((skb)->cb[sizeof((skb)->cb)-sizeof(uint32_t)]))
10
11 /**
12@@ -301,7 +301,7 @@
13 */
14 DECLINLINE(bool) vboxNetFltLinuxSkBufIsOur(struct sk_buff *pBuf)
15 {
16- return VBOXNETFLT_SKB_TAG(pBuf) == VBOXNETFLT_CB_TAG ;
17+ return VBOXNETFLT_SKB_TAG(pBuf) == VBOXNETFLT_CB_TAG(pBuf) ;
18 }
19
20
21@@ -355,7 +355,7 @@
22 skb_push(pPkt, ETH_HLEN);
23 VBOX_SKB_RESET_MAC_HDR(pPkt);
24 }
25- VBOXNETFLT_SKB_TAG(pPkt) = VBOXNETFLT_CB_TAG;
26+ VBOXNETFLT_SKB_TAG(pPkt) = VBOXNETFLT_CB_TAG(pPkt);
27
28 return pPkt;
29 }

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy