[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Isis-wg] [rbridge] Why is MTU discovery important?
Another reason I think people are getting confused is the use of the
term "use vanilla IS-IS".
"Vanilla IS-IS",
where MTU discovery is all interlinked with choosing DRs, and where the
result can be
multiple DRs, will not work, as has been said many times on this thread,
and people don't
know what "just use vanilla IS-IS" means.
So, do not use the phrase "use vanilla IS-IS" as a shorthand for
any part of the solution. It only confuses people. Certainly
*I* have no idea what anyone means when they use that phrase, especially
since
it's clear that we can't "just use vanilla IS-IS".
Now, to try to get us back on track:
There are three problems TRILL needs to solve, (given that
it's pretty clear people don't want to defer or ignore the MTU issue),
and the discussion should
be around how to solve each problem.
The three problems that must be solved:
a) on a link, choosing one and only one DRB, who will be assigning
designated
forwarders, dictating which VLAN is the designated VLAN, naming the
pseudonode, etc.
b) having all RBridges agree on what the campus-wide MTU size should be,
say S.
c) having all RBridges test, for each link and each neighbor, which ones
can handle
size S, and removing those that don't from the topology, so routes are
not calculated through links that can't handle size S.
The solution to a) is what is in the TRILL spec today. It uses unpadded
IS-IS Hellos,
and has a lot of explanation of what VLANs to send unpadded Hellos on, and
unlike IS-IS, has slightly different logic to ensure there are not
multiple DRBs
in the face of one-way connectivity, MTU mismatches, etc.
The solution to b) is with adding a TLV into the LSP, where not
including the
TLV is the same as specifying "1450", and the TLV, if specified must
have S > 1450.
There are only three plausible ways of using this TLV, I think:
1) look through all the LSPs in your database, and choose the largest
size S any RBridge specifies, as the
campus-wide S
2) choose the smallest size S any RBridge specifies as the campus-wide S
3) look at the LSP of the highest priority RBridge in the campus, and
use the S specified in its LSP as
the campus-wide S. (by the way, I prefer this one -- seems simplest and
most stable)
The solution to c) (testing MTU size), has to be done with padded
packets of some sort.
It could certainly be done using the same format as padded IS-IS Hellos,
though
I'd prefer some clear distinction between the MTU-testing packets and
the DRB election/
VLAN specifying, etc., packets so that the logic of solving problems a)
and c) don't
get intermingled.
The MTU-testing packet should include a TLV specifying "S", the size
being tested, and should
be padded to S. We could have unicast acks to this padded packet, or do
the same sort
of IS-IS-like two-way connectivity announcements, by having R2, in its
S-padded packet,
list all RBridge neighbors on the link from which it has (recently
enough) received packets of at least
size S. It would be nice to have some careful thoughtful discussion on
the mailing list about
what the best way to solve this would be. (e.g., optional, mandatory,
periodic, once and
assume things won't change, unicast acks vs listing "I heard size S from
this list"). But
whatever it is would have nothing to do with choosing a DRB, naming the
pseudonode,
or any mechanisms usually associated with "Hellos".
Radia