[openib-general] [PATCH] osm: Routing Tables are full of UNREACHABLE instead of real route

Hal Rosenstock halr at voltaire.com
Thu Dec 7 11:58:48 PST 2006


Hi Eitan,

On Thu, 2006-12-07 at 10:12, Eitan Zahavi wrote:
> Hi Hal,
> 
> I resolved the mystery behind the osm.fdbs that is now full of 
> UNREACHABLE instead of correct out ports.
> 
> The problem is a consequence of the new code that does not use the 
> switch LFT blocks for the intermediate LFT assignments:
> The idea of having incremental updates only relies on temporary buffer 
> that the routing algorithm fills.
> Then it is sent to the wire only if there is a diff between the switch 
> LFT tables (from the SMDB) and the temporary buffer.
> 
> So the switch LFT tables are not being directly updated by the routing 
> algorithm - but only by the GetResp obtained as
> reply to the setting. Until this stage of the description - everything 
> looks right.
> 
> But what is wrong is that the dump of LFT tables is invoked before the 
> GetResp is obtained.
> So if only a single sweep is invoked the resulting osm.fdbs show the 
> original state of the SMDB tables whicg is full of 0xFF = UNREACHABLE.
> 
> The patch below is taking the easy way and should be probably revisited. 
> Instead of having a separate algorithm step for dumping out the 
> resulting GetResp data after all LFT responses were obtained it just 
> copies the sent LFT blocks to the SMDB.

Any idea on why the LFT set failed ?

> I think we need to have at least this simple patch until we have the 
> dump move to a new algorithm step.

Good find.

Applied. Thanks.

We'll revisit a longer term solution to this issue.

-- Hal

> Thanks
> Eitan
> 
> Signed-off-by:  Eitan Zahavi <eitan at mellanox.co.il>






More information about the general mailing list