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]] 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

Reply via email to