Re: Network Interface bonding and ARP

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

 



Hi,

> > --------> My question is more intended towards a scheme like 2 linux
> > boxes back to back connected (without a switch inbetween) and
> > RR scheduling algorithm which can send packets of a single session over
> > multiple cards.
> >
> > Let us consider the sending case (outbound packets).
> >
> > If my understanding is correct, ethernet cards have a fixed MAC address
> > which we cannot change...
>
>Incorrect.  All cards have an Ethernet address stored in an EEPROM.
>
>The driver reads the Ethernet station ("MAC") address from the card's
>EEPROM when the card is first identified.  Each time the interface is
>started the driver copies the station address to the Ethernet chip.
>
>The EEPROM contents may be permanently changed (see my diag programs) but
>you shouldn't do that.  One of the few valid cases is when you have a
>software license keyed to a specific station address, and have to
>replace a failed card.  Another case is having a hot spare or duplicate
>system where the requirement is exact compatibility.
>
> > - so, when we say that all bonded cards have
> > same HW address, I think we are talking about just the software state
> > at the driver.  Please let me know if I am correct?
>
>Not only the software state of the driver, but also the hardware receive
>filter register settings.
>

----------> Thanks - I now understand that the MAC address of a card
can be changed "programmatically" (using special diag programs - though, u 
use it in only in certain special situations).

I was trying to figure out how the "hardware receive filter settings" of the 
card are also changed.

I looked at the drivers/net/bonding.c and see that there are couple of 
IOCTLS - bond_enslave and bond_setwhataddr - but, I see them updating some 
entries in software data structures like "slave", "bond", netdevice dev 
structure etc.

I am still not able to figure out where/how a slave  card's original notion 
of it's MAC address (say, what it had downloaded from EEPROM at boot time) 
is changed to that of the master's. (Because, unless something really 
happens at the card level, a (slave) card will simply discard any packets it 
reveives with the (master's) MAC unless it is in promiscuous mode).

A slightly different (but related) question I have is
"Can we have a Linux box with multiple cards (distinct MAC) with same IP 
address?"

if yes, does the (Linux) ARP cache on other machines maintain one (IP) to 
many (MAC) mappings?

Thanks in advance for all the help.

             Murthy.


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux