[Bridge] physical interface on a bridge

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 23 Feb 2006 09:39:18 +0100
Jørgen Hovland <jorgen@xxxxxxxxxx> wrote:

> (sorry about the empty last email)
> 
> ----- Original Message ----- 
> From: "Stephen Hemminger" <shemminger@xxxxxxxx>
> 
> > On Wed, 22 Feb 2006 09:42:49 +0100
> > Jørgen Hovland <jorgen@xxxxxxxxxx> wrote:
> >
> >> So there is no way to get the physical interface from a mac address?
> >
> > You can read the forwarding database (see brctl sources for how).
> > But the value can change as result of traffic.
> >
> 
> 
> I did actually look at the code before I emailed the list. Sorry if I am 
> missing something, but a fdb_entry maps a hardware address to a port number. 
> This arbitary port number points to the port_info structure which seems to 
> only hold information about what bridge it belongs to. And the bridge_info 
> structure doesn't contain any information either.
> The only place I can find something that might be useful is in 
> linux/netdevice.h and the "struct net_bridge_port  *br_port" under the 
> net_device structure. This is inside the kernel as it needs __KERNEL__ 
> defined in order to use it, or is this what I am looking for?
> 
> Thank you once again
> 
> Joergen 

The old way is to do ioctl() SIOCDEV_PRIVATE with BRCTL_GET_BRIDGES
and that gives a table of ifindices, you can use that to map port -> ifindex -> etherdevice

Newer way is to look in directory:
	/sys/class/net/brX/brif
It has symlinks to the devices that are being bridged.
	/sys/class/net/eth0/brport/port_id
contains the portid of eth0 in what ever bridge it is in.

[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux