On Tue, 2006-03-28 at 09:50 -0800, Sean Hefty wrote: > >>The app _usually_ doesn't care. See NFS discussion for a > >>client app that does care. Also, providers DO care. Because > >>of this issue, the chelsio iwarp provider right now has to > >>allocate its own ephemeral ports at connect time. This logic > >>should be moved into the IWCM or maybe the CMA and an > >>explicit bind() operation be exported by the iwarp providers > >>to allow the IWCM or CMA to track all port allocations. > > Somehow I didn't receive Steve's response. Anyway, I'm referring to apps > that > don't specify which port to use as the one's that don't care, versus those > that > do want to know their port. > > In reality, the port space for RDMA connections over IB is distinct from the > TCP > port space. No attempt is made to coordinate between the two, and I am not > convinced that those two port spaces should be one and the same. This is > where > I believe there's disconnect.
Whether it's a separate port space or not is as simple as defining a different hash_info structure. struct inet_hashinfo __cachline_aligned ib_hashinfo = { .lhash_lock = RW_LOCK_UNLOCKED, .lhash_users = ATOMIC_INIT(0), .lhash_wait = _WAIT_QUEUE_HEAD_INITIALIZER(ib_hashinfo.lhash_wait); }; #ifndef I_WANT_SHARED_TCP_PORTSPACE struct inet_hashinfo __cachline_aligned __iw_hashinfo = { .lhash_lock = RW_LOCK_UNLOCKED, .lhash_users = ATOMIC_INIT(0), .lhash_wait = _WAIT_QUEUE_HEAD_INITIALIZER(ib_hashinfo.lhash_wait); }; struct inet_hashinfo *iw_hashinfo = &__iw_hashinfo; #else struct inet_hashinfo *iw_hashinfo = &tcp_hashinfo; #endif struct sock dummy { /* initialized for REUSE port, etc... */ }; struct sock *ib_sock = &dummy; int ib_get_port(unsigned short snum) { return inet_csk_get_port(&ib_hashinfo, ib_sock, snum) } int iw_get_port(unsigned short snum) { return inet_csk_get_port(&iw_hashinfo, iw_sock, snum); } > > - Sean > _______________________________________________ > openib-general mailing list > openib-general@openib.org > http://openib.org/mailman/listinfo/openib-general > > To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general