All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bridge] [PATCH 1/1] superfluous skb->nfct check in br_nf_dev_queue_xmit
@ 2014-04-17 11:15 Vasily Averin
  2014-04-20  5:33   ` Vasily Averin
  0 siblings, 1 reply; 26+ messages in thread
From: Vasily Averin @ 2014-04-17 11:15 UTC (permalink / raw)
  To: bridge; +Cc: Stephen Hemminger, Patrick McHardy

skb->nfct check in br_nf_dev_queue_xmit() does not work if conntracks
are not loaded on the node. This check does not allow to fragment skb
combined from incoming fragments, as results this skb will be dropped
silently in br_dev_queue_push_xmit()

This check was added in commit c197facc8ea08062f8f949aade6a33649ee06771
netfilter: bridge: allow fragmentation of VLAN packets traversing a bridge

I believe this check is superfluous and should be removed.

Signed-off-by: Vasily Averin <vvs@openvz.org>
---
 net/bridge/br_netfilter.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c
index 80e1b0f..6a8407c 100644
--- a/net/bridge/br_netfilter.c
+++ b/net/bridge/br_netfilter.c
@@ -864,7 +864,7 @@ static int br_nf_dev_queue_xmit(struct sk_buff *skb)
 {
 	int ret;
 
-	if (skb->nfct != NULL && skb->protocol == htons(ETH_P_IP) &&
+	if (skb->protocol == htons(ETH_P_IP) &&
 	    skb->len + nf_bridge_mtu_reduction(skb) > skb->dev->mtu &&
 	    !skb_is_gso(skb)) {
 		if (br_parse_ip_options(skb))
-- 
1.7.5.4



^ permalink raw reply related	[flat|nested] 26+ messages in thread
* [PATCH v2] bridge: Superfluous skb->nfct check in br_nf_dev_queue_xmit
@ 2014-04-28 13:31 Vasily Averin
  0 siblings, 0 replies; 26+ messages in thread
From: Vasily Averin @ 2014-04-28 13:31 UTC (permalink / raw)
  To: Florian Westphal, bridge, netfilter-devel
  Cc: Stephen Hemminger, Patrick McHardy, David S. Miller

Currently bridge silently drops defragmented ipv4 packets if nf_conntrack module
is not loaded on the node. However ipv4 fragmentation and defragmentation
does not require enabled connection tracking.

Removing superfluous skb->nfct check allows to re-fragment previously
defragmented packets and give them chance to reach destination side.

v2: removed #if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV4) added because
of using of nfct check

Signed-off-by: Vasily Averin <vvs@openvz.org>
---
 net/bridge/br_netfilter.c |    9 +--------
 1 files changed, 1 insertions(+), 8 deletions(-)

diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c
index 80e1b0f..d50c154 100644
--- a/net/bridge/br_netfilter.c
+++ b/net/bridge/br_netfilter.c
@@ -859,12 +859,11 @@ static unsigned int br_nf_forward_arp(const struct nf_hook_ops *ops,
 	return NF_STOLEN;
 }
 
-#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV4)
 static int br_nf_dev_queue_xmit(struct sk_buff *skb)
 {
 	int ret;
 
-	if (skb->nfct != NULL && skb->protocol == htons(ETH_P_IP) &&
+	if (skb->protocol == htons(ETH_P_IP) &&
 	    skb->len + nf_bridge_mtu_reduction(skb) > skb->dev->mtu &&
 	    !skb_is_gso(skb)) {
 		if (br_parse_ip_options(skb))
@@ -876,12 +875,6 @@ static int br_nf_dev_queue_xmit(struct sk_buff *skb)
 
 	return ret;
 }
-#else
-static int br_nf_dev_queue_xmit(struct sk_buff *skb)
-{
-        return br_dev_queue_push_xmit(skb);
-}
-#endif
 
 /* PF_BRIDGE/POST_ROUTING ********************************************/
 static unsigned int br_nf_post_routing(const struct nf_hook_ops *ops,
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2014-05-05 14:08 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-17 11:15 [Bridge] [PATCH 1/1] superfluous skb->nfct check in br_nf_dev_queue_xmit Vasily Averin
2014-04-20  5:33 ` Vasily Averin
2014-04-20  5:33   ` Vasily Averin
2014-04-24 16:32   ` Florian Westphal
2014-04-24 17:05     ` [Bridge] " Florian Westphal
2014-04-28 12:37     ` Vasily Averin
2014-04-28 12:37       ` Vasily Averin
2014-04-28 13:16       ` Florian Westphal
2014-04-28 13:16         ` [Bridge] " Florian Westphal
2014-04-28 14:25         ` Vasily Averin
2014-04-28 14:25           ` Vasily Averin
2014-04-28 14:32           ` [Bridge] " Pablo Neira Ayuso
2014-04-28 14:32             ` Pablo Neira Ayuso
2014-04-30  9:06           ` [Bridge] " Vasily Averin
2014-04-30  9:06             ` Vasily Averin
2014-04-30  8:54         ` [PATCH] bridge: Superfluous " Vasily Averin
2014-04-30  9:39           ` Pablo Neira Ayuso
2014-04-30 10:02             ` Florian Westphal
2014-05-04 12:54           ` Pablo Neira Ayuso
2014-05-04 19:04             ` Vasily Averin
2014-05-04 19:25               ` Pablo Neira Ayuso
2014-05-04 20:17                 ` [PATCH v2] bridge: superfluous " Vasily Averin
2014-05-05 14:07                   ` Pablo Neira Ayuso
2014-04-29 14:10   ` [PATCH 1/1] " Patrick McHardy
2014-04-29 14:17     ` [Bridge] " Patrick McHardy
  -- strict thread matches above, loose matches on Subject: below --
2014-04-28 13:31 [PATCH v2] bridge: Superfluous " Vasily Averin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.