Tzachi Dar wrote: > The endpoints are really internal ipoib structures that windows does > not know anything about. > Each endpoint is in the port lists and cannot move from one port to > another. As a result this checkin seems fine by me. > > Thanks > Tzachi
Done in 2952. > >> -----Original Message----- >> From: [email protected] [mailto:ofw- >> [email protected]] On Behalf Of Smith, Stan >> Sent: Monday, September 27, 2010 9:08 PM >> To: Alex Naslednikov >> Cc: [email protected] >> Subject: Re: [ofw] [PATCH] IPoIB_NDIS6_CM - initialize >> p_endpt->p_ifc once and early. >> >> Alex Naslednikov wrote: >>> Hello Stan, >>> Some questions and remarks. >>> 1. Have you tested it when we have 2 adapters within the same >>> subnet ? What will happen when one adapters suddenly goes down and >>> NDIS decides to send the NBL via the second one ? >>> I suppose that in that case adapter interface should be set >>> dynamically, while preserving all other fields. >> >> Good question, I have not tested multiple HCAs. >> I suspect that if IBAL (aka ibbus) is giving out IBAL interface >> vectors which contain different IF routine addresses then we have a >> much larger problem to deal with. :-) >> >> Point being, the IBAL interface routine addresses will be the same >> between any adapter. HCA interface pointers are a different subject; >> IBAL is the acting agent for all HCAs w.r.t. IPoIB. >> >> I'm not really understanding your concerns w.r.t. IPoIB adapter going >> down and NDIS choosing a different adapter? >> The 2nd adapter initialization and operational state are independent >> of any other IPoIB adapter. >> >> Technically the IBAL IF pointer should not really be an adapter >> element but more of a global driver element that is set @ IPoIB >> DriverEntry and cleared @ driver unload; independent of how many >> adapters come or go. I suspect placing the IBAL IF pointer in the >> adapter struct was an easy/convenient place for it to land long ago. >> >> W.r.t. NDIS and switching adapters on the fly, the IBAL IF routine >> pointers will be the same. NDIS makes the Adapter choice far above >> IPoIB driver and will choose only an 'enabled' IPoIB which will have >> a different endpoint struct (based on Ethernet MAC and each port >> will have a different MAC). >> >>> >>> 2. This flow should be same for IPoIB and IPoIB_NDIS6_CM trees. >> >> Yes - final patch should be applied to both src trees. >> >>> >>> XaleX >>> >>> -----Original Message----- >>> From: Smith, Stan [mailto:[email protected]] >>> Sent: Thursday, September 23, 2010 7:14 PM >>> To: Alex Naslednikov >>> Cc: [email protected] >>> Subject: [PATCH] IPoIB_NDIS6_CM - initialize p_endpt->p_ifc once >>> and early. >>> >>> >>> Initialize the endpoint pointer to IBAL interfaces 'p_endpt->p_ifc' >>> only once during endpoint creation so the pointer field is valid for >>> the life of the endpoint. Tested in winOFED 2.3 RC3 validation (svr >>> 2008:x86 & x64); no observed problems. >>> >>> signed-off-by: stan smith <[email protected]> >>> >>> --- A/ulp/ipoib_NDIS6_CM/kernel/ipoib_endpoint.cpp Thu Sep 23 >>> 10:04:26 2010 +++ B/ulp/ipoib_NDIS6_CM/kernel/ipoib_endpoint.cpp >>> Thu Sep 23 10:03:57 2010 @@ -179,6 +179,7 @@ >>> p_endpt->dgid = *p_dgid; >>> p_endpt->dlid = dlid; >>> p_endpt->qpn = qpn; >>> + p_endpt->p_ifc = p_port->p_adapter->p_ifc; >>> >>> IPOIB_EXIT( IPOIB_DBG_ENDPT ); >>> return p_endpt; >>> >>> >>> --- A/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp Thu Sep 23 10:05:12 >>> 2010 +++ B/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp Thu Sep 23 >>> 10:03:23 2010 @@ -6808,7 +6808,6 @@ >>> } >>> /* set reference to transport to be used while is not >>> attached to the port */ p_endpt->is_mcast_listener = TRUE; >>> - p_endpt->p_ifc = p_port->p_adapter->p_ifc; >>> status = ipoib_endpt_set_mcast( p_endpt, >>> >>> >>> p_port->ib_mgr.h_pd, p_port->port_num, @@ -7954,7 +7953,6 @@ >>> } >>> >>> p_endpt = PARENT_STRUCT( p_item, ipoib_endpt_t, gid_item ); >>> - p_endpt->p_ifc = p_port->p_adapter->p_ifc; >>> >>> /* Setup the endpoint for use. */ >>> status = ipoib_endpt_set_mcast( p_endpt, >> >> _______________________________________________ >> ofw mailing list >> [email protected] >> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
