Steve Wise wrote:
Jason Gunthorpe wrote:
On Wed, Jun 23, 2010 at 03:11:27PM -0500, Steve Wise wrote:
The IP address assigned for the cxgb3i iscsi device is _not_
assigned to a netdev interface via ifconfig, as far as I understand
it (by looking at the cxgb3i code). So the host stack doesn't know
about this address. There is an administrative requirement, I
assume, that the secret iscsi ipaddr is within a subnet that is
bound to the T3 ethX interface. Otherwise the routing lookup
wouldn't work.
So who responds to neighbor queries, and how do outgoing queries get
sent with the right IP? Sounds odd...
The iscsi hba is only an initiator, so it doesn't need to respond to
arp queries. I guess the Source Protocol Address in the outgoing ARP
request will be the ipaddr of the outgoing interface. Its ok though
because what is needed is the next-hop peer's hwaddr. So the ARP
reply comes in, updates the host neigh entry, and a NEIGH_EVENT
callout is performed to the offload device drivers. It is a little
hackish, but that's the only way the netdev maintainers would allow
iscsi offload in. They originally tried to use the src address from
the ethX interface for the offload iscsi connections and that was
rejected.
In case you're interested...Here is the tail end of the cxgb3i original
submission thread showing the use of a "private IP address which is
unkown to the OS".
http://marc.info/?l=linux-netdev&m=121944339211552
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html