Hardy SRU LP508008

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Hardy SRU LP508008

Tim Gardner-7
From 1259b51d3f18440083e2fdf14fd7e0b3d5d8e900 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <[hidden email]>
Date: Tue, 17 Jun 2008 16:09:45 -0700
Subject: [PATCH] bridge: handle process all link-local frames

BugLink: http://bugs.launchpad.net/bugs/508008

Any frame addressed to link-local addresses should be processed by local
receive path. The earlier code would process them only if STP was enabled.
Since there are other frames like LACP for bonding, we should always
process them.

Signed-off-by: Stephen Hemminger <[hidden email]>
Signed-off-by: David S. Miller <[hidden email]>
(cherry picked from commit 43aa1920117801fe9ae3d1fad886b62511e09bee)

Signed-off-by: Tim Gardner <[hidden email]>
---
 net/bridge/br_input.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
index 0ee79a7..af7ac98 100644
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@@ -136,14 +136,11 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb)
  if (skb->protocol == htons(ETH_P_PAUSE))
  goto drop;
 
- /* Process STP BPDU's through normal netif_receive_skb() path */
- if (p->br->stp_enabled != BR_NO_STP) {
- if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
-    NULL, br_handle_local_finish))
- return NULL;
- else
- return skb;
- }
+ if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
+    NULL, br_handle_local_finish))
+ return NULL; /* frame consumed by filter */
+ else
+ return skb; /* continue processing */
  }
 
  switch (p->state) {
--
1.6.2.4


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: Hardy SRU LP508008

Stefan Bader-2
Finally had time to give it a better reading. Ok, so the whole part is inside of
a case for the local link destination. Which matches description and looks sensible.

Tim Gardner wrote:

> From 1259b51d3f18440083e2fdf14fd7e0b3d5d8e900 Mon Sep 17 00:00:00 2001
> From: Stephen Hemminger <[hidden email]>
> Date: Tue, 17 Jun 2008 16:09:45 -0700
> Subject: [PATCH] bridge: handle process all link-local frames
>
> BugLink: http://bugs.launchpad.net/bugs/508008
>
> Any frame addressed to link-local addresses should be processed by local
> receive path. The earlier code would process them only if STP was enabled.
> Since there are other frames like LACP for bonding, we should always
> process them.
>
> Signed-off-by: Stephen Hemminger <[hidden email]>
> Signed-off-by: David S. Miller <[hidden email]>
> (cherry picked from commit 43aa1920117801fe9ae3d1fad886b62511e09bee)
>
> Signed-off-by: Tim Gardner <[hidden email]>
Acked-by: Stefan Bader <[hidden email]>

> ---
>  net/bridge/br_input.c |   13 +++++--------
>  1 files changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
> index 0ee79a7..af7ac98 100644
> --- a/net/bridge/br_input.c
> +++ b/net/bridge/br_input.c
> @@ -136,14 +136,11 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb)
>   if (skb->protocol == htons(ETH_P_PAUSE))
>   goto drop;
>  
> - /* Process STP BPDU's through normal netif_receive_skb() path */
> - if (p->br->stp_enabled != BR_NO_STP) {
> - if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
> -    NULL, br_handle_local_finish))
> - return NULL;
> - else
> - return skb;
> - }
> + if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
> +    NULL, br_handle_local_finish))
> + return NULL; /* frame consumed by filter */
> + else
> + return skb; /* continue processing */
>   }
>  
>   switch (p->state) {


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: Hardy SRU LP508008

Amit Kucheria-6
In reply to this post by Tim Gardner-7
On 10 Jan 19, Tim Gardner wrote:

> From 1259b51d3f18440083e2fdf14fd7e0b3d5d8e900 Mon Sep 17 00:00:00 2001
> From: Stephen Hemminger <[hidden email]>
> Date: Tue, 17 Jun 2008 16:09:45 -0700
> Subject: [PATCH] bridge: handle process all link-local frames
>
> BugLink: http://bugs.launchpad.net/bugs/508008
>
> Any frame addressed to link-local addresses should be processed by local
> receive path. The earlier code would process them only if STP was enabled.
> Since there are other frames like LACP for bonding, we should always
> process them.
>
> Signed-off-by: Stephen Hemminger <[hidden email]>
> Signed-off-by: David S. Miller <[hidden email]>
> (cherry picked from commit 43aa1920117801fe9ae3d1fad886b62511e09bee)
>
> Signed-off-by: Tim Gardner <[hidden email]>
> ---
>  net/bridge/br_input.c |   13 +++++--------
>  1 files changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
> index 0ee79a7..af7ac98 100644
> --- a/net/bridge/br_input.c
> +++ b/net/bridge/br_input.c
> @@ -136,14 +136,11 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb)
>   if (skb->protocol == htons(ETH_P_PAUSE))
>   goto drop;
>  
> - /* Process STP BPDU's through normal netif_receive_skb() path */
> - if (p->br->stp_enabled != BR_NO_STP) {
> - if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
> -    NULL, br_handle_local_finish))
> - return NULL;
> - else
> - return skb;
> - }
> + if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
> +    NULL, br_handle_local_finish))
> + return NULL; /* frame consumed by filter */
> + else
> + return skb; /* continue processing */
>   }
>  
>   switch (p->state) {
> --
> 1.6.2.4

Removes the STP condition for netfilter hook processing. Code corresponds to
description and is already confirmed to fix the problem by the bug reporter.

Acked-off-by: Amit Kucheria <[hidden email]>

--
----------------------------------------------------------------------
Amit Kucheria, Kernel Engineer || [hidden email]
----------------------------------------------------------------------

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[APPLIED] Hardy SRU LP508008

Stefan Bader-2
In reply to this post by Tim Gardner-7
Applied and pushed

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team