Ethernet Bridge development
 help / color / mirror / Atom feed
* [Bridge] linux brigde query
@ 2015-05-04 10:04 ratheesh kannoth
  2015-05-08 16:57 ` Stephen Hemminger
  0 siblings, 1 reply; 2+ messages in thread
From: ratheesh kannoth @ 2015-05-04 10:04 UTC (permalink / raw)
  To: bridge

             br0
              |
--------------------------------------------
 |                   |                   |
eth0              eth1             eth2
 |                                        |
Machine A                       machine B

suppose there is a UDP bidirectional traffic between machine A and B.
Then there will be bridge port
info in "brctl showmacs br0"  command output. After some time, UDP
traffic becomes only uni directional( say
only from machine A to B , there is no traffic from B to A ). Then
before bridge ages out , B got removed ; but link eth2
is not going down ( no link down message at eth2, it can be achieved
if  eth2 to a harware switch , and machine
was connected to one port of that switch ). Then traffic will flood or
will black hole till ageing timer expire.


As from code , i can see that br_handle_frame_finish() will call
br_forward() as there is an fdb entry. right ?  so traffic will black
hole ?!!

Thanks,
Ratheesh

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

* Re: [Bridge] linux brigde query
  2015-05-04 10:04 [Bridge] linux brigde query ratheesh kannoth
@ 2015-05-08 16:57 ` Stephen Hemminger
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2015-05-08 16:57 UTC (permalink / raw)
  To: ratheesh kannoth; +Cc: bridge

On Mon, 4 May 2015 15:34:17 +0530
ratheesh kannoth <ratheesh.ksz@gmail.com> wrote:

>              br0
>               |
> --------------------------------------------
>  |                   |                   |
> eth0              eth1             eth2
>  |                                        |
> Machine A                       machine B
> 
> suppose there is a UDP bidirectional traffic between machine A and B.
> Then there will be bridge port
> info in "brctl showmacs br0"  command output. After some time, UDP
> traffic becomes only uni directional( say
> only from machine A to B , there is no traffic from B to A ). Then
> before bridge ages out , B got removed ; but link eth2
> is not going down ( no link down message at eth2, it can be achieved
> if  eth2 to a harware switch , and machine
> was connected to one port of that switch ). Then traffic will flood or
> will black hole till ageing timer expire.

When eth2 is removed or goes down then, all forwarding table
entries related to eth2 are removed. All packets for Ethernet
address of machine B will then be processed according to the
standard flooding model BUM (Broadcast, Unknown, Mulicast_)

This is standard learning switch behavior described in IEEE standard
and lots of text books.

In real world, it is possible that machine B is often re-connected
to another switch (eth1 for example), and this allows transparent
rediscovery.

With recent (like last 2 years) version of Linux switch there
are flags to control allow disabling flooding and learning behavior
which are often used in virtualization environments to control
packet leakage.

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

end of thread, other threads:[~2015-05-08 16:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-04 10:04 [Bridge] linux brigde query ratheesh kannoth
2015-05-08 16:57 ` Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox