Hi Edwin, Could you elaborate more about the mean of “nexthops should be handled separated to routes” ?
In my understanding, the nexthop-add/delete RPC s are designed to operate the nexthop separately. Of cause, a nexthop list node should be added to the rib, hence to maintain the added nexthops. Best regards, Mach From: Edwin Cordeiro [mailto:[email protected]] Sent: Saturday, June 25, 2016 3:25 PM To: Mach Chen Cc: i2rs Subject: Re: [i2rs] Problem using rib-data-model RPC with rib-info-model Information (draft-ietf-i2rs-rib-data-model-05 + draft-ietf-i2rs-rib-info-model-08) Hi Mach, Thanks for the explanation. We thought that nexthops should be handled separated to routes, but that wasn't reflected in the draft. Best Regards, Edwin Cordeiro On Fri, Jun 24, 2016 at 5:08 AM, Mach Chen <[email protected]<mailto:[email protected]>> wrote: Hi Edwin, Thanks for your great question! I think this is a bug of the current model, there should be a list in a rib to maintain the nexthops of the rib. Regarding your question: “How can we add a Nexthop without informing the parent Route?” Yes, a nexthop can be created without informing the parent routes. In the current design, the nexthop is decoupled from the routes. A nexthop can be shared by multiple routes or is dedicated to a single route. Best regards, Mach From: i2rs [mailto:[email protected]<mailto:[email protected]>] On Behalf Of Edwin Cordeiro Sent: Wednesday, June 22, 2016 3:44 PM To: i2rs Subject: [i2rs] Problem using rib-data-model RPC with rib-info-model Information (draft-ietf-i2rs-rib-data-model-05 + draft-ietf-i2rs-rib-info-model-08) 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
