Sean Hefty wrote: > Fab Tillier wrote: >>> Just listen on the Service ID / Port and let the ULP sort them out >>> by destination IP address. >> >> That only works if there is a single kernel module providing the >> extra checks. Multiple user-mode ULPs cannot do the checking in >> user-mode - the checking must be done in the kernel to figure out >> which user-mode client to hand the request to. >> >> I think putting in restrictions to the comparisons possible is fine, >> as the functionality of having the CM facilitate some sort of >> filtering is useful. > > My concern with pushing this to the ULP is that it requires > the ULP to track service IDs for reference counting purposes > and adds additional synchronization to the ULP that could have been > handled by the CM. > > I'm looking at what the full effect of implementing this in the ULP > would be. > > - Sean
I'm still missing something. My understanding is that there are two scenarios where differentiating on the Destination IP address to subqualify a listen is required: 1) When virtualization is in effect and the device is shared by multiple kernels that are not aware of each other. In this case a Destination Address (which could be the IP Address, or the Ethernet MAC, or the GID) determines which kernel is the destination for all packets, and which connections can be set up for which kernels. 2) When the daemon itself is virtualizing multiple instances of the same service, such as a virtual web or ftp sites. The same httpd/ftpd is reached in all cases, but the virtual root maps to a different root in the local file system (i.e., the instance data is different). I don't see how filtering in the CM is of benefit in either case. The work either belongs in the Hypervisor or in the Daemon, not the CM. _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
