I2RS WG and draft authors,
I created two more issues related to draft-ietf-i2rs-rib-data-model on the I2RS 
Wiki:
http://trac.tools.ietf.org/wg/i2rs/trac/wiki/IssuesRibDataModel
They are copied below as well.
Thanks,
Chris

Issue 2: Make definition of route state "active" more precise:
Current definition in section 2.3 (repeated in 2.6)

  *   ACTIVE: Indicates whether a route is fully resolved and is a candidate 
for selection.
Propose to replace with:

  *   ACTIVE: Indicates whether a route has at least one fully resolved nexthop 
and is therefore eligible for installation in the FIB.
Issue 3: route-change notification
The current route-change notification seems to have many of the right 
components. However, the usage is ambiguous. Below is proposed text to clarify 
the usage as well as some modifications of the data model to make this usage 
clearer.
An implementation of this RIB data model MUST support sending route-change 
notifications whenever a route transitions between the following states:

  *   from the active state to the inactive state
  *   from the inactive state to the active state
  *   from the installed state to the uninstalled state
  *   from the uninstalled state to the installed state
A single notification MAY be used when a route transitions from 
inactive/uninstalled to active/installed or in the other direction.
________________________________
The following changes to the yang model affecting the route-change 
notification, in particular the route-change-reasons should also be considered. 
It may also make sense to make the route-change-reason a list in order to 
return multiple route-change0reasons. This would be useful for the the case 
where a nexthop becoming resolved makes a route A active which is of better 
preference than a currently active route B, which results in the route A being 
installed. Or the text should clarify that this case requires two 
notifications. Or the text should clarify which single reason should be given 
in this case.
     notification route-change {
       description
         "Route change notification.";
       leaf rib-name {
         type string;
         mandatory true;
         description
           "A reference to the name of a rib.";
       }
       leaf rib-family {
         type rib-family-def;
         mandatory true;
         description
           "A reference to address family of a rib.";
       }
       uses route-prefix;
       leaf route-installed-state {
         type route-installed-state-def;
         mandatory true;
         description
           "Indicates whether the route is currently installed in the FIB or 
uninstalled.";
       }
       leaf route-state {
         type route-state-def;
         mandatory true;
         description
           "Indicates whether a route is active or inactive.";
       }
       leaf route-change-reason {
         type route-change-reason-def;
         mandatory true;
         description
           "Return the reason that caused the route change.";
       }
     }

     identity route-change-reason {
       description
         "Base identify from which all route change
          reasons are derived.";
     }

     identity lower-route-preference {
       base "route-change-reason";
       description
         "This route was installed in the FIB because it had a lower route 
preference value (and thus a higher route preference) than the route it 
replaced.";
     }

     identity higher-route-preference {
       base "route-change-reason";
       description
         "This route was uninstalled from the FIB because it had a higher route 
preference value (and thus a lower route preference) than the route that 
replaced it.";
     }

# Based on the current data model, which does not appear to define a route 
metric,
# it is not clear what scenario will result in higher metric being the route 
change reason.
     identity higher-metric {
       base "route-change-reason";
       description
         "Higher metric ";
     }

     identity resolved-nexthop {
       base "route-change-reason";
       description
         "This route was made active because at least one of its nexthops was 
resolved.";
     }

     identity unresolved-nexthop {
       base "route-change-reason";
       description
         "This route was made inactive because all of its nexthops are 
unresolved.";
     }

     typedef route-change-reason-def {
       type identityref {
         base "route-change-reason";
       }
       description
         "Route change reason def.";
     }


_______________________________________________
i2rs mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/i2rs

Reply via email to