[Openib-windows] IPoIB issue with system ARP table

Guy Corem guyc at voltaire.com
Mon Dec 19 06:53:41 PST 2005


Hi Fab,

I don't understand your answer.
MiniportInitialize is running in PASSIVE_LEVEL, so theoretically, there shouldn't be any IRQL problem in allocating IB resources up front. Right ?

Thanks,
Guy

-----Original Message-----
From: Fab Tillier [mailto:ftillier at silverstorm.com] 
Sent: ב 12 דצמבר 2005 19:49
To: Guy Corem; openib-windows at openib.org
Subject: RE: [Openib-windows] IPoIB issue with system ARP table

Hi Guy,

> From: Guy Corem [mailto:guyc at voltaire.com]
> Sent: Monday, December 12, 2005 9:16 AM
> 
> Hi Fab & All,
> 
> We've encountered the following problem with IPoIB:
> In case of link down event, and fast (< about 2 seconds) after that link up
> event, the TCP/IP stack doesn't response to the interface down & up event.
> As a result the system ARP table isn't being flushed, and no gratuitous arp is
> being sent.

IPoIB is properly generating the link events, right?

> So, pings from the machine to another host which has a line in the system arp
> table doesn't work, and also vice versa.
> 
> Any suggestions?

I think the solution is to allocate the IB resources up front (QP, CQ, etc) so
that the QPN stays for the lifetime of the adapter instance.  I would guess that
on a fast link down/up transition, the TCP/IP stack figures it was just a
temporary loss, and there's no need to flush the ARP table.

Changing the IB resource allocations is a somewhat cumbersome task since I was
taking advantage of the IBAL PnP callback (which runs at passive IRQL ) to
allocate all these.  We'll have to find another way to get into a passive thread
context (have I mentioned I hate the passive IRQL limitation of the verbs?)

- Fab 




More information about the ofw mailing list