On 3/25/2016 7:25 AM, [email protected] wrote:
I'm quite sure you have deployed implementations, from several
prominent vendors, that will not properly handle this case.
I'm waiting for this/these implementation(s) to make a public statement in this
thread / IETF WGs. Then we can discuss whether the issue comes from RFCF3107 or
from the implementation.
If none make a public statement, we should assume that all implementations are
capable of receiving multiple labels, as per RFC 3107.
I strongly disagree with this. We should not ignore the facts just
because you don't like the way the facts were gathered.
A better approach would be to have operators state whether they have any
deployments in which the "multiple labels" feature is used in a
multi-vendor environment. It is very useful when working on a "bis"
draft to determine which features have been proven to work in a
multi-vendor environment and which have not.
Any non-compliant implementation may create interoperability issues and
unpredictable results.
From an IETF standpoint, the question is whether a RFC 3107 implementation
would create interoperability issues, up to shutting down the BGP session.
There are deployed 3107 implementations which always assume that the
NLRI contains a single label. If you tried to interwork these with 3107
implementations that send multiple labels , you will experience the kind
of disruption. 3107bis tries to allow the use of multiple labels while
preventing this sort of disruption from occurring.
If you mean that some non-compliant implementation do not work, well let's fix
them.
The situation is that there is a commonly deployed "bug" in old
implementations, but it is not seen because the bug is in a feature that
no one has been using. If new implementations use that feature, the bug
will be seen, and network disruption will occur. One could say "fix all
the old implementations", but it seems wiser to have new implementations
avoid tickling the bug. The Capability is not proposed for the
purpose of helping the vendors, it's there to help the operators.
I'm not sure why you think there would be BGP session drops due to
3107bis; if a 3107 implementation sends multiple labels to a 3107bis
implementation, I think the 3107bis implementation would do
"treat-as-withdraw" rather than "drop the session".
Perhaps a reasonable approach for 3107bis would be the following:
- A 3107bis implementation will not send multiple labels to a peer
unless the Capability has been received from that peer. (This prevents
3107bis implementations from tickling the 'bug' in 3107 implementations.)
- A 3107bis implementation will accept multiple labels from a peer even
in the absence of the Capability.
Another approach would be to have a knob that determines whether the
Capability needs to be used before multiple labels are advertised.
_______________________________________________
BESS mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/bess