X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a97b1421efd2afe75c2bc3899ff486fb263c1f07..c0ff770282517a60e66a02f78b6aa91e45ceb68a:/target/linux/generic-2.6/patches-2.6.27/150-netfilter_imq.patch?ds=sidebyside diff --git a/target/linux/generic-2.6/patches-2.6.27/150-netfilter_imq.patch b/target/linux/generic-2.6/patches-2.6.27/150-netfilter_imq.patch index 0814520f9..a31bb2bc6 100644 --- a/target/linux/generic-2.6/patches-2.6.27/150-netfilter_imq.patch +++ b/target/linux/generic-2.6/patches-2.6.27/150-netfilter_imq.patch @@ -569,7 +569,7 @@ + --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig -@@ -109,6 +109,129 @@ +@@ -109,6 +109,129 @@ config EQUALIZER To compile this driver as a module, choose M here: the module will be called eql. If unsure, say N. @@ -701,7 +701,7 @@ select CRC32 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile -@@ -144,6 +144,7 @@ +@@ -144,6 +144,7 @@ obj-$(CONFIG_SLHC) += slhc.o obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o obj-$(CONFIG_DUMMY) += dummy.o @@ -763,7 +763,7 @@ #define HAVE_ALLOC_SKB /* For the drivers to know */ #define HAVE_ALIGNABLE_SKB /* Ditto 8) */ -@@ -272,6 +275,9 @@ +@@ -272,6 +275,9 @@ struct sk_buff { * first. This is owned by whoever has the skb queued ATM. */ char cb[48]; @@ -773,7 +773,7 @@ unsigned int len, data_len; -@@ -302,6 +308,9 @@ +@@ -302,6 +308,9 @@ struct sk_buff { struct nf_conntrack *nfct; struct sk_buff *nfct_reasm; #endif @@ -783,7 +783,7 @@ #ifdef CONFIG_BRIDGE_NETFILTER struct nf_bridge_info *nf_bridge; #endif -@@ -321,6 +330,9 @@ +@@ -321,6 +330,9 @@ struct sk_buff { __u8 do_not_encrypt:1; #endif /* 0/13/14 bit hole */ @@ -793,7 +793,7 @@ #ifdef CONFIG_NET_DMA dma_cookie_t dma_cookie; -@@ -353,6 +365,12 @@ +@@ -353,6 +365,12 @@ struct sk_buff { #include @@ -806,7 +806,7 @@ extern void kfree_skb(struct sk_buff *skb); extern void __kfree_skb(struct sk_buff *skb); extern struct sk_buff *__alloc_skb(unsigned int size, -@@ -1633,6 +1651,10 @@ +@@ -1633,6 +1651,10 @@ static inline void __nf_copy(struct sk_b dst->nfct_reasm = src->nfct_reasm; nf_conntrack_get_reasm(src->nfct_reasm); #endif @@ -829,7 +829,7 @@ #include #include #include -@@ -1624,7 +1627,11 @@ +@@ -1624,7 +1627,11 @@ int dev_hard_start_xmit(struct sk_buff * struct netdev_queue *txq) { if (likely(!skb->next)) { @@ -842,7 +842,7 @@ dev_queue_xmit_nit(skb, dev); if (netif_needs_gso(dev, skb)) { -@@ -1715,8 +1722,7 @@ +@@ -1715,8 +1722,7 @@ static u16 simple_tx_hash(struct net_dev return (u16) (((u64) hash * dev->real_num_tx_queues) >> 32); } @@ -852,7 +852,7 @@ { u16 queue_index = 0; -@@ -1728,6 +1734,7 @@ +@@ -1728,6 +1734,7 @@ static struct netdev_queue *dev_pick_tx( skb_set_queue_mapping(skb, queue_index); return netdev_get_tx_queue(dev, queue_index); } @@ -862,7 +862,7 @@ * dev_queue_xmit - transmit a buffer --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -915,6 +915,7 @@ +@@ -915,6 +915,7 @@ extern int dev_alloc_name(struct net_de extern int dev_open(struct net_device *dev); extern int dev_close(struct net_device *dev); extern void dev_disable_lro(struct net_device *dev); @@ -884,7 +884,7 @@ + --- a/include/net/netfilter/nf_queue.h +++ b/include/net/netfilter/nf_queue.h -@@ -13,6 +13,12 @@ +@@ -13,6 +13,12 @@ struct nf_queue_entry { struct net_device *indev; struct net_device *outdev; int (*okfn)(struct sk_buff *); @@ -897,7 +897,7 @@ }; #define nf_queue_entry_reroute(x) ((void *)x + sizeof(struct nf_queue_entry)) -@@ -30,5 +36,11 @@ +@@ -30,5 +36,11 @@ extern int nf_unregister_queue_handler(i const struct nf_queue_handler *qh); extern void nf_unregister_queue_handlers(const struct nf_queue_handler *qh); extern void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict); @@ -921,7 +921,7 @@ static void sock_pipe_buf_release(struct pipe_inode_info *pipe, struct pipe_buffer *buf) -@@ -88,6 +91,80 @@ +@@ -88,6 +91,80 @@ static int sock_pipe_buf_steal(struct pi return 1; } @@ -1002,7 +1002,7 @@ /* Pipe buffer operations for a socket. */ static struct pipe_buf_operations sock_pipe_buf_ops = { -@@ -362,6 +439,15 @@ +@@ -362,6 +439,15 @@ static void skb_release_all(struct sk_bu WARN_ON(in_irq()); skb->destructor(skb); } @@ -1018,7 +1018,7 @@ #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) nf_conntrack_put(skb->nfct); nf_conntrack_put_reasm(skb->nfct_reasm); -@@ -424,6 +510,9 @@ +@@ -424,6 +510,9 @@ static void __copy_skb_header(struct sk_ new->sp = secpath_get(old->sp); #endif memcpy(new->cb, old->cb, sizeof(old->cb)); @@ -1028,7 +1028,7 @@ new->csum_start = old->csum_start; new->csum_offset = old->csum_offset; new->local_df = old->local_df; -@@ -2326,6 +2415,13 @@ +@@ -2326,6 +2415,13 @@ void __init skb_init(void) 0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL); @@ -1044,7 +1044,7 @@ /** --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -342,6 +342,18 @@ +@@ -342,6 +342,18 @@ config NETFILTER_XT_TARGET_DSCP To compile it as a module, choose M here. If unsure, say N. @@ -1065,7 +1065,7 @@ depends on NETFILTER_XTABLES --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -42,6 +42,7 @@ +@@ -42,6 +42,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF obj-$(CONFIG_NETFILTER_XT_TARGET_CONNMARK) += xt_CONNMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o @@ -1075,7 +1075,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE) += xt_NFQUEUE.o --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c -@@ -20,6 +20,26 @@ +@@ -20,6 +20,26 @@ static const struct nf_queue_handler *qu static DEFINE_MUTEX(queue_handler_mutex); @@ -1102,7 +1102,7 @@ /* return EBUSY when somebody else is registered, return EEXIST if the * same handler is registered, return 0 in case of success. */ int nf_register_queue_handler(int pf, const struct nf_queue_handler *qh) -@@ -80,7 +100,7 @@ +@@ -80,7 +100,7 @@ void nf_unregister_queue_handlers(const } EXPORT_SYMBOL_GPL(nf_unregister_queue_handlers); @@ -1111,7 +1111,7 @@ { /* Release those devices we held, or Alexey will kill me. */ if (entry->indev) -@@ -100,6 +120,7 @@ +@@ -100,6 +120,7 @@ static void nf_queue_entry_release_refs( /* Drop reference to owner of hook which queued us. */ module_put(entry->elem->owner); } @@ -1119,7 +1119,7 @@ /* * Any packet that leaves via this function must come back -@@ -121,12 +142,26 @@ +@@ -121,12 +142,26 @@ static int __nf_queue(struct sk_buff *sk #endif const struct nf_afinfo *afinfo; const struct nf_queue_handler *qh; @@ -1146,7 +1146,7 @@ goto err_unlock; afinfo = nf_get_afinfo(pf); -@@ -145,6 +180,10 @@ +@@ -145,6 +180,10 @@ static int __nf_queue(struct sk_buff *sk .indev = indev, .outdev = outdev, .okfn = okfn, @@ -1157,7 +1157,7 @@ }; /* If it's going away, ignore hook. */ -@@ -170,8 +209,19 @@ +@@ -170,8 +209,19 @@ static int __nf_queue(struct sk_buff *sk } #endif afinfo->saveroute(skb, entry);