| 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 | }
|
|---|