Setting tag linux-2.6-32-36
[linux-2.6.git] / linux-2.6-521-packet-tagging.patch
index 8a80e64..db5b7e6 100644 (file)
@@ -1,18 +1,31 @@
+From 5d0cfcf3f26b5aafe91f23fa9095461bdf83c074 Mon Sep 17 00:00:00 2001
+From: S.Çağlar Onur <caglar@cs.princeton.edu>
+Date: Tue, 7 Dec 2010 11:06:08 -0500
+Subject: [PATCH] linux-2.6-521-packet-tagging.patch
+
+---
+ include/linux/skbuff.h       |    2 ++
+ net/core/skbuff.c            |    2 ++
+ net/core/sock.c              |    2 ++
+ net/ipv4/af_inet.c           |    2 ++
+ net/ipv4/netfilter/ipt_LOG.c |    2 ++
+ 5 files changed, 10 insertions(+), 0 deletions(-)
+
 diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
-index 567776e..1b64e1e 100644
+index 69af253..0670992 100644
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -394,6 +394,8 @@ struct sk_buff {
+@@ -391,6 +391,8 @@ struct sk_buff {
                __u32           dropcount;
        };
  
 +#define skb_tag                       mark
 +
        __u16                   vlan_tci;
-       sk_buff_data_t          transport_header;
+ #ifndef __GENKSYMS__
+       __u16                   rxhash;
 diff --git a/net/core/skbuff.c b/net/core/skbuff.c
-index ec85681..d5a641e 100644
+index 841664f..371324c 100644
 --- a/net/core/skbuff.c
 +++ b/net/core/skbuff.c
 @@ -208,6 +208,7 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
@@ -23,7 +36,7 @@ index ec85681..d5a641e 100644
        /* make sure we initialize shinfo sequentially */
        shinfo = skb_shinfo(skb);
        atomic_set(&shinfo->dataref, 1);
-@@ -559,6 +560,7 @@ static void __copy_skb_header(struct sk_buff *new, const struct sk_buff *old)
+@@ -562,6 +563,7 @@ static void __copy_skb_header(struct sk_buff *new, const struct sk_buff *old)
  #endif
  #endif
        new->vlan_tci           = old->vlan_tci;
@@ -32,20 +45,20 @@ index ec85681..d5a641e 100644
        skb_copy_secmark(new, old);
  }
 diff --git a/net/core/sock.c b/net/core/sock.c
-index 617fae7..d276d4b 100644
+index f406c4b..40197d6 100644
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -1056,6 +1056,8 @@ struct sock *sk_alloc(struct net *net, int family, gfp_t priority,
+@@ -1081,6 +1081,8 @@ struct sock *sk_alloc(struct net *net, int family, gfp_t priority,
                sk->sk_prot = sk->sk_prot_creator = prot;
                sock_lock_init(sk);
                sock_net_set(sk, get_net(net));
 +              if (!in_interrupt())
 +                      sk->sk_mark = nx_current_nid();
                atomic_set(&sk->sk_wmem_alloc, 1);
-       }
  
+               sock_update_classid(sk);
 diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
-index 7731d22..026c3b1 100644
+index e3213b2..3f29c1f 100644
 --- a/net/ipv4/af_inet.c
 +++ b/net/ipv4/af_inet.c
 @@ -181,6 +181,8 @@ static int inet_autobind(struct sock *sk)