]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel-imq.patch
- up to 3.16.3
[packages/kernel.git] / kernel-imq.patch
index edeb4c4c2a40f89d2d6a788d606d98973e2dd4d2..12bd3d3b045c7617a17b5ab13c6c3cac5b8f2589 100644 (file)
@@ -182,7 +182,7 @@ new file mode 100644
 index 0000000..801bc8c
 --- /dev/null
 +++ b/drivers/net/imq.c
-@@ -0,0 +1,1007 @@
+@@ -0,0 +1,1012 @@
 +/*
 + *             Pseudo-driver for the intermediate queue device.
 + *
@@ -359,7 +359,11 @@ index 0000000..801bc8c
 +
 +static int imq_nf_queue(struct nf_queue_entry *entry, unsigned queue_num);
 +
-+static nf_hookfn imq_nf_hook;
++static unsigned int imq_nf_hook(const struct nf_hook_ops *ops,
++                              struct sk_buff *pskb,
++                              const struct net_device *indev,
++                              const struct net_device *outdev,
++                              int (*okfn)(struct sk_buff *));
 +
 +static struct nf_hook_ops imq_ops[] = {
 +      {
@@ -976,7 +980,8 @@ index 0000000..801bc8c
 +      return retval;
 +}
 +
-+static unsigned int imq_nf_hook(unsigned int hook, struct sk_buff *pskb,
++static unsigned int imq_nf_hook(const struct nf_hook_ops *ops,
++                              struct sk_buff *pskb,
 +                              const struct net_device *indev,
 +                              const struct net_device *outdev,
 +                              int (*okfn)(struct sk_buff *))
@@ -1290,10 +1295,10 @@ index f66f346..d699b19 100644
  #ifdef CONFIG_BRIDGE_NETFILTER
        struct nf_bridge_info   *nf_bridge;
  #endif
-@@ -490,6 +499,9 @@ struct sk_buff {
-        */
-       __u8                    encapsulation:1;
-       /* 6/8 bit hole (depending on ndisc_nodetype presence) */
+@@ -490,6 +490,9 @@ struct sk_buff {
+       __u8                    csum_valid:1;
+       __u8                    csum_complete_sw:1;
+       /* 3/5 bit hole (depending on ndisc_nodetype presence) */
 +#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
 +      __u8                    imq_flags:IMQ_F_BITS;
 +#endif
@@ -1386,21 +1391,13 @@ diff --git a/net/core/skbuff.c b/net/core/skbuff.c
 index c28c7fe..a5f1888 100644
 --- a/net/core/skbuff.c
 +++ b/net/core/skbuff.c
-@@ -73,6 +73,9 @@
+@@ -73,6 +73,84 @@
  
  struct kmem_cache *skbuff_head_cache __read_mostly;
  static struct kmem_cache *skbuff_fclone_cache __read_mostly;
 +#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
 +static struct kmem_cache *skbuff_cb_store_cache __read_mostly;
-+#endif
- static void sock_pipe_buf_release(struct pipe_inode_info *pipe,
-                                 struct pipe_buffer *buf)
-@@ -92,6 +95,82 @@ static int sock_pipe_buf_steal(struct pipe_inode_info *pipe,
-       return 1;
- }
-+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
++
 +/* Control buffer save/restore for IMQ devices */
 +struct skb_cb_table {
 +      char                    cb[48] __aligned(8);
@@ -1477,8 +1474,8 @@ index c28c7fe..a5f1888 100644
 +}
 +#endif
  
- /* Pipe buffer operations for a socket. */
- static const struct pipe_buf_operations sock_pipe_buf_ops = {
+ /**
+  *    skb_panic - private function for out-of-line support
 @@ -577,6 +656,28 @@ static void skb_release_head_state(struct sk_buff *skb)
                WARN_ON(in_irq());
                skb->destructor(skb);
This page took 0.040838 seconds and 4 git commands to generate.