git://git.onelab.eu
/
linux-2.6.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
747af1a
)
(no commit message)
author
Sapan Bhatia
<sapanb@cs.princeton.edu>
Mon, 14 Jul 2008 20:22:09 +0000
(20:22 +0000)
committer
Sapan Bhatia
<sapanb@cs.princeton.edu>
Mon, 14 Jul 2008 20:22:09 +0000
(20:22 +0000)
linux-2.6-526-tun-tap.patch
patch
|
blob
|
history
diff --git
a/linux-2.6-526-tun-tap.patch
b/linux-2.6-526-tun-tap.patch
index
d9527a9
..
cfc4954
100644
(file)
--- a/
linux-2.6-526-tun-tap.patch
+++ b/
linux-2.6-526-tun-tap.patch
@@
-12,8
+12,8
@@
diff -Nurb linux-2.6.22-525/drivers/net/Makefile linux-2.6.22-526/drivers/net/Ma
obj-$(CONFIG_IBM_EMAC) += ibm_emac/
diff -Nurb linux-2.6.22-525/drivers/net/vnet_tun.c linux-2.6.22-526/drivers/net/vnet_tun.c
--- linux-2.6.22-525/drivers/net/vnet_tun.c 1969-12-31 19:00:00.000000000 -0500
obj-$(CONFIG_IBM_EMAC) += ibm_emac/
diff -Nurb linux-2.6.22-525/drivers/net/vnet_tun.c linux-2.6.22-526/drivers/net/vnet_tun.c
--- linux-2.6.22-525/drivers/net/vnet_tun.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.22-526/drivers/net/vnet_tun.c 2008-07-14 1
2:11:21
.000000000 -0400
-@@ -0,0 +1,7
18
@@
++++ linux-2.6.22-526/drivers/net/vnet_tun.c 2008-07-14 1
6:22:57
.000000000 -0400
+@@ -0,0 +1,7
25
@@
+/*
+ * TUN - Universal TUN/TAP device driver.
+ * Copyright (C) 1999-2002 Maxim Krasnyansky <maxk@qualcomm.com>
+/*
+ * TUN - Universal TUN/TAP device driver.
+ * Copyright (C) 1999-2002 Maxim Krasnyansky <maxk@qualcomm.com>
@@
-111,6
+111,7
@@
diff -Nurb linux-2.6.22-525/drivers/net/vnet_tun.c linux-2.6.22-526/drivers/net/
+
+#define set_sk_xid(sk,xid) sk->sk_nid=xid
+#define set_skb_xid(skb,xid) skb->skb_tag=xid
+
+#define set_sk_xid(sk,xid) sk->sk_nid=xid
+#define set_skb_xid(skb,xid) skb->skb_tag=xid
++#define get_skb_xid(skb) skb->skb_tag
+
+/* Extended fields */
+struct tun_pi_ext {
+
+/* Extended fields */
+struct tun_pi_ext {
@@
-195,9
+196,15
@@
diff -Nurb linux-2.6.22-525/drivers/net/vnet_tun.c linux-2.6.22-526/drivers/net/
+/* Net device start xmit */
+static int tun_net_xmit(struct sk_buff *skb, struct net_device *dev)
+{
+/* Net device start xmit */
+static int tun_net_xmit(struct sk_buff *skb, struct net_device *dev)
+{
-+ xid_t xid = get_sk_xid(skb->sk);
-+ struct tun_struct *tun = tun_get_by_xid(xid);
++ xid_t xid, skb_xid;
++ struct tun_struct *tun;
++ skb_xid=get_skb_xid(skb);
++ if (skb_xid<1)
++ xid=get_sk_xid(skb->sk);
++ else
++ xid=skb_xid;
+
+
++ tun = tun_get_by_xid(xid);
+ /* Mark packet */
+ set_skb_xid(skb, xid);
+
+ /* Mark packet */
+ set_skb_xid(skb, xid);
+
@@
-729,6
+736,6
@@
diff -Nurb linux-2.6.22-525/drivers/net/vnet_tun.c linux-2.6.22-526/drivers/net/
+ unregister_netdev(&tun_netdev);
+}
+
+ unregister_netdev(&tun_netdev);
+}
+
-+MODULE_LICENSE("GPL");
+module_init(tun_init);
+module_cleanup(tun_cleanup);
+module_init(tun_init);
+module_cleanup(tun_cleanup);
++MODULE_LICENSE("GPL");