[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Failure Detection (was Re: soft state (was Re: shim6 and bit errors in data packet headers



marcelo bagnulo braun wrote:

My understanding of how such mechanism would work is the following:

The shim layer observes the amount of traffic exchanged during the last T seconds, being Tx the number of packets transmitted and Rx the number of packets received during the last T seconds.
If Tx>0 and Rx>0, then no problem
If Tx=0, then no problem

In those two cases it is really "not my problem", since there might be a problem, but the peer will have to detect it.


If Tx>0 and Rx=0, then perform a reachability test to verify the current locator pair, and eventually a path exploration exchange

Upon the reception of a path exploration by the peer, the node must perform a reachability test to verify the current locator pair.

ok

My opinion about these two are the following:

About 1: i guess this mechanism would improve the efficiency of the solution because it would reduce the number of reachability test exchanged to verify the current locator pair in the case of and UDP bidirectional flow (or any other bidirectional flow where the ULP does not provide positive feedback)

Yes, I think it will reduce the number of probes in this case.

About 2: this mechanism optimizes the case of bidirectional flow that belongs to ULPs that not provide positive feedback (e.g. UDP)
However, this mechanism only work in the case where at least one path with bidirectional connectivity is available. This mechanism fails in the case where the only paths available are two different unidirectional paths. This means, that if we want to support such case (i.e. if we want to be able to preserve the communication in this case), then we need to be able to detect and overrule such case.

I don't understand why you think this is limited to the bidirectional locator pair case. If A is using <A1, B1> and B is using <B2, A1>, then the optimization to suppress probes works just as well as when B is using <B2, A1>. The probes just serve to verify the current locator pair, hence the response to a probe would presumably use the current locator pair in the reverse direction.


One other factor to take into account is that for the optimization to work the receiver has to count the Rx packets for a ULID pair. But, before there is any failure i.e. when the locators are the ULIDs, the receiver wouldn't otherwise have a need to lookup the locator pair; it would just like today's IP code
- look at IP destination to determine if "packet for me"
- look at IP nexthdr to see what to do (e.g., pass to UDP code)


Rx counting would add to that code path
 - lookup IP <src, dst> to find counter; increment Rx counter

[Note that once the locators are no longer the ULIDs the receiver have to find the shim context, thus there wouldn't be any additional lookup to count Rx packets. But assuming most packets arrive using ULIDs=locators, we need to worry about the performance of an implementation in that case.]

  Erik