Hi, one open issue regarding the routing-cfg document (where even the co-authors cannot reach agreement) is the assignment of interfaces to routing instances, see slides 7 and 8 in
https://www.ietf.org/proceedings/93/slides/slides-93-netmod-6.pdf The discussion is only about configuration, in state data we already have links in both directions: interface -> routing instance and routing instance -> interfaces. For configuring the assignment, there are essentially two options: 1. A leaf-list of leafref type under rt:routing-instance containing references to interfaces assigned to the routing instance (this is the current solution in -19). 2. A leaf of leafref type under if:interface containing a reference to the routing instance to which the interface is assigned. I think the advantage of #1 is that it helps enforce two important constraints: A. Routing protocols, route filters etc. of a routing instance should refer only to interfaces assigned to the routing instance. B. Interfaces assigned to a routing instance should be L3. Constraint A can be represented via an XPath expression in both variants #1 and #2 but the point is that interfaces need to be referenced many times from a routing instance, e.g. every routing protocol instance typically has some interface configuration. It is then IMO more effective and cleaner to have just one set of references from rt:routing-instance to if:interface where constraint A is stated and validated. Other references from within the routing instance to interfaces would use the assigned interfaces under rt:routing-instance and constraint A is then trivially satisfied through containment hierarchy. With option #2 it would be necessary to add a corresponding "must" statement to every leafref pointing to if:interface. Constraint B is difficult to validate formally because layering information is not explicitly present in the flat if:interface list. But even then I believe it is cleaner to have a list of all interfaces assigned to a routing instance in one place rather than having this information scattered thoughout if:interface - it is easier to check that all these interfaces are in fact L3. Acee advocates option #2 because it is more logical to assign IP address space (which is done under if:interface) in conjuction with assigning the interface to a routing instance. Finally, let me note that either option is just a matter of internal data model organisation in that user interfaces can use the other alternative if their designers wish to do so - the mapping is actually quite easy. So please indicate your preference and add more arguments in favour of either option. We would like to have this issue finally resolved. Thanks, Lada -- Ladislav Lhotka, CZ.NIC Labs PGP Key ID: E74E8C0C _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
