Hello all,
When trying to implement I2RS we are faced the following problem:
In draft-ietf-i2rs-rib-data-model-05#section-2.5 the RPC offer the
following Nexthop operations:
+---x nh-add
| +---w input
| | +---w rib-name string
| | +---w nexthop-id? uint32
| | +---w sharing-flag? boolean
| | +---w (nexthop-type)?
| | ...
| +--ro output
| +--ro result uint32
| +--ro reason? string
| +--ro nexthop-id? uint32
+---x nh-delete
+---w input
| +---w rib-name string
| +---w nexthop-id? uint32
| +---w sharing-flag? boolean
| +---w (nexthop-type)?
| ...
+--ro output
+--ro result uint32
+--ro reason? string
In these operations the Nexthop is directly connected to a RIB, but
in draft-ietf-i2rs-rib-info-model-08#section-2: RIB(s) contains Route(s)
and Route(s) contains Nexthop(s):
routing-instance
| |
| |
0..N | | 1..N
| |
interface(s) RIB(s)
|
|
| 0..N
|
route(s)
| | |
+---------+ | +----------+
| | |
0..N | | |
route-attribute match nexthop
|
...
Our questions are:
- How can we add a Nexthop without informing the parent Route?
- Looking at the RIB grammar (draft-ietf-i2rs-rib-info-model-08#section-6)
the Nexthop is also attached to a Route. Shouldn't Nexthop be part of RIB?
Maybe something like:
<rib> ::= <RIB_NAME> <rib-family>
[<route> ... ]
[<nexthop> ...]
[ENABLE_IP_RPF_CHECK]
routing-instance
| |
| |
0..N | | 1..N
| |
interface(s) RIB(s)
| | 0..N
| +--------------+
0..N | |
| |
route(s) ------> nexthop(s)
| | 1..N
+---------+ |
| |
0..N | |
route-attribute match
|
...
If we misunderstood the model, could someone please explain why our
understanding is incorrect?
Best Regards,
Edwin Cordeiro
_______________________________________________
i2rs mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/i2rs