Hi Jack (and CASPER list!)
The switches that we use are layer-2, so they don't care about IP
addresses and only consider MAC addresses (ok, they're layer 2+, but
explanation stands). Basically, a switch will not forward a packet
destined for the same machine from which it was sent. I am not sure if
this is port-specific, or MAC address specific (ie if it matches the
incoming port to the outgoing port and then decides to drop it if
they're the same, or if it matches incoming MAC to outgoing MAC and
drops it if they're the same).
The correlator sends all packets to the switch, but the switch drops
any packet destined for that packet's sender. So we keep a local copy
of all packets destined for ourselves.
You can see this mechanism in action: If you look at the switch's
traffic report page, you'll notice that the links report being used
asymmetrically. More data is received by the switch than is resent.
Short of using two 10GbE cores (which is precisely what we're trying
to avoid doing), I don't see an obvious way around this problem.
Jason
On 30 Apr 2010, at 20:18, Jack Hickish wrote:
Hi Jason
1) Hope SA is treating you well
2) Sorry to send this to you and not the maillist, but I thought
before I demonstrate my complete lack of knowledge about ethernet/
switches to the world, I should float the idea with you first.
Quick correlator question --
Am I right in thinking the loopback system in the X-engine design is
to avoid upsetting the switch by sending it packets with the same
source and destination address? If this is the case, is it possible
in principal to set up the 10gbe cores to have two IP addresses, one
for outbound and one for inbound traffic, so that the loopback
buffers/mux/etc aren't needed? Or is this a terrible, terrible idea?
Cheers,
Jack