Re: [PATCH RFC] iw_cxgb3: Support "iwarp-only" interfaces to avoid4-tuple conflicts with the host stack.

From: Steve Wise
Date: Wed Sep 05 2007 - 13:27:24 EST




Steve Wise wrote:


Roland Dreier wrote:
> > What's wrong with my suggestion of having the iwarp driver create an
> > "iwX" interface to go with the normal "ethX" interface? It seems
> > simpler to me, and there's a somewhat similar precedent with how
> > mac80211 devices create both wlan0 and wmaster0 interfaces.
> > - R.
> > It seemed much more painful for me to implement. :-)
> > I'll look into this, but I think for this to be done, the changes must
> be in the cxgb3 driver, not the rdma driver, because the guts of the
> netdev struct are all private to cxgb3. Remember that this interface
> needs to still do non TCP traffic (like ARP and UDP)...
> > Maybe you have something in mind here that I'm not thinking about?

No, I was just spouting off.


At least someone is looking at my patch. ;-)

But the whole "create a magic alias" seems kind of unfriendly to the
user. Maybe as you said, the cxgb3 net driver could create the alias
for the iw_cxgb3 driver?

I agree that it is not very user friendly.

My current patch just utilizes the IP address alias logic in the IP stack. So when you do 'ifconfig ethxx:blah ipaddr up' it creates a struct in_ifaddr which contains a ptr to the real struct net_device that services this alias. However, from what I can tell, I cannot just create one of these without binding an address. So the driver cannot create the alias interface until it knows the ipaddr/netmask/etc. IE: if you say 'ifconfig ethxx:blah up' it fails... You must supply an address to get one of these created.

To have the cxgb3 driver create something like 'iw0', I think it would need to create a full net_device struct. This makes the change much more complex. But perhaps its the right thing to do...

Steve.


Also, I could defer registering the device with the rdma core until the alias interface is created by the user. Thus the T3 device wouldn't be available for use until the ethxx:iw interface is created.

And I could log a WARN or INFO message if the iw_cxgb3 module is loaded and no ethxx:iw alias exists. This would help clue in the user...

Steve.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/