Hi Nitin,
Please see zzh> below.
o tunnel encap: This can be an encap representing an IP tunnel or
MPLS tunnel or others as defined in this document. An optional
egress interface can be specified to indicate which interface to
send the packet out on. The egress interface is useful when the
network device contains Ethernet interfaces and one needs to
perform address resolution for the IP packet.
I don't think an egress interface should be part of the tunnel encap. The
egress interface and optionally a nbr address should be in a separate chain
member.
NB> What the above paragraph is referring to is the below statement in the
grammar:
<nexthop-chain-member> :: ...
(<tunnel-encap>
[<EGRESS_INTERFACE>]) |
The goal here was to clearly specify what combination of options make sense.
Zzh> The same comment still applies. A chain is a list of chain-members; a
chain-member could be an <egress-interface> [<address>]; so from the grammar
pov, <egress-interface> should not be there. If you want to specify what
combination of options make sense, how do you say <logical-tunnel><rib_name>
(and many others) does not make sense?
<nexthop-base> ::= <nexthop-special> | <nexthop-chain>
<nexthop-chain> ::= <nexthop-chain-member> ...
<nexthop-chain-identifier> ::= <NEXTHOP_CHAIN_NAME> |
<NEXTHOP_CHAIN_ID>
When would you use "chain_name"? What's the difference/relationship between
<NEXTHOP_CHAIN_ID> and nexthop-identifier?
NB> Removed CHAIN_NAME. CHAIN_NAME and CHAIN_ID were one and the same thing.
Nexthop-identifier (as referenced in Section 4) is really something like a
<NEXTHOP_IDENTIFIER> that identifies a particular <nexthop>. I have changed
"nexthop-identifier" to "nexthop identifier" to remove confusion that it is a
special term. <NEXTHOP_CHAIN_ID> is something that identifies a <nexthop-chain>.
Zzh> Can you clarify "nexthop-identifier ... is ... like a
<NEXTHOP_IDENTIFIER>". <NEXTHOP_IDENTIFIER> is not defined in the spec. If you
say "<NEXTHOP_IDENTIFIER> is nexthop identifier as referenced in section 4"
then it's clear :)
Zzh> I don't understand why you say "<NEXTHOP_CHAIN_ID> is something that
identifies a <nexthop-chain>". <NEXTHOP_CHAIN_ID> is part of the following, so
why would it identify a chain (vs. a chain member) .
<nexthop-chain> ::= <nexthop-chain-member> ...
<nexthop-chain-identifier> ::= <NEXTHOP_CHAIN_NAME> |
<NEXTHOP_CHAIN_ID>
<nexthop-chain-member> ::= <nexthop-chain-member-identifier> |
------------------------
<mpls-header> ::= (<mpls-label-operation> ...)
<mpls-label-operation> ::= (<MPLS_PUSH> <MPLS_LABEL> [<S_BIT>]
[<TOS_VALUE>] [<TTL_VALUE>]) |
(<MPLS_POP> [<TTL_ACTION>])
<mpls-header> is part of <tunnel-encap> - so <MPLS_POP> does not make sense?
NB> There was no easy place to put the POP operation. One option would have
been to define <tunnel-decap>.
Zzh> I think that option is better.
_______________________________________________
i2rs mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/i2rs