[Bridge] physical interface on a bridge

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

 



Hi

Is there a way to either:
Find the real ifindex/ifname a mac-address is bound to
or
Find the real ifindex/ifname of an incoming packet
?

I am writing a dhcp server and need to know what real interface the dhcp request packet came from. An acceptable solution would be to get the interface by the mac-address, but that can be faked so I would rather get the interface by knowing where the data actually came from. Data is IP, UDP broadcast.
I _could_ use raw sockets. The problem is when I do that, the program is using ~8% cpu on a 3.2ghz xeon64 just reading packets without doing anything due to the amount of traffic passing through the box (~200mbit and increasing) so that doesn't look like a good idea.

brctl showmacs returns a list of port numbers, but they dont make much sense to me. They do not seem to be in the same order I added the interfaces? Is there a mapping here?

Example,
jorgen@ams41:/$ /tmp/brctl showmacs test0
port no mac addr                is local?       ageing timer
  2     00:04:e2:a8:3b:d7       no                 0.24
  1     00:08:a1:85:39:fd       no                17.31
133     00:0d:88:a3:61:4a       no                 9.90
  1     00:14:22:b0:cd:e0       yes                0.00
133     00:16:c7:f5:8f:e2       no                 0.48

Port 133 is the 901'th interface (0x385) I added to bridge test0. What does 133 point to?  The ifindex of this physical interface is 912 (0x390) (retrieved with SIOCGIFINDEX).

Secondly,
I seem to be unable to add more than around 1024 interfaces to a single bridge. Is there a way to increase this limit?

I am using linux kernel 2.6


Thanks a million,
Joergen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osdl.org/pipermail/bridge/attachments/20060221/c16fa824/attachment.htm

[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