Subject: [netmod] I-D Action: draft-ietf-netmod-routing-cfg-08.txt

From: [email-masked]
Date: Mon, 11 Feb 2013 07:57:37 -0800

A New Internet-Draft is available from the on-line Internet-Drafts directories.
 This draft is a work item of the NETCONF Data Modeling Language Working Group of the IETF.

	Title           : A YANG Data Model for Routing Management
	Author(s)       : Ladislav Lhotka
	Filename        : draft-ietf-netmod-routing-cfg-08.txt
	Pages           : 68
	Date            : 2013-02-11

Abstract:
   This document contains a specification of three YANG modules.
   Together they form the core routing data model which serves as a
   framework for configuring and managing a routing subsystem.  It is
   expected that these modules will be augmented by additional YANG
   modules defining data models for individual routing protocols and
   other related functions.  The core routing data model provides common
   building blocks for such extensions - router instances, routes,
   routing tables, routing protocols and route filters.

The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-netmod-routing-cfg

There's also a htmlized version available at:
http://tools.ietf.org/html/draft-ietf-netmod-routing-cfg-08

A diff from the previous version is available at:
http://www.ietf.org/rfcdiff?url2=draft-ietf-netmod-routing-cfg-08

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

---

From: Ladislav Lhotka <[email-masked]>
Date: Mon, 11 Feb 2013 17:00:43 +0100

Sorry, I forgot to change the normative reference from RFC6021 to the 6021bis I-D, so I posted the -08 revision fixing this.

Lada

Begin forwarded message:

> From: [email-masked]
> Subject: [netmod] I-D Action: draft-ietf-netmod-routing-cfg-08.txt
> Date: February 11, 2013 4:57:37 PM GMT+01:00
> To: [email-masked]
> Cc: [email-masked]
> 
> 
> _______________________________________________
> netmod mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netmod

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C

---

From: Martin Bjorklund <[email-masked]>
Date: Tue, 12 Feb 2013 22:00:01 +0100 (CET)

Hi,

I think the majestic must expression for the connected-routing-table
might be wrong.  The problem is that it checks that:

   not (*some* preceding-sibling has same afi
        AND
        *some* preceding-sibling has same safi)

So this instance document snippet does not validate, although I
believe it is correct:

    <rt:routing-protocols>
     <rt:routing-protocol>
      <rt:name>st0</rt:name>
      <rt:type>rt:static</rt:type>
      <rt:connected-routing-tables>
        <rt:connected-routing-table>
          <rt:name>tab-1</rt:name>
        </rt:connected-routing-table>
        <rt:connected-routing-table>
          <rt:name>tab-2</rt:name>
        </rt:connected-routing-table>
        <rt:connected-routing-table>
          <rt:name>tab-3</rt:name>
        </rt:connected-routing-table>
      </rt:connected-routing-tables>
     </rt:routing-protocol>
    </rt:routing-protocols>
   ...
   <rt:routing-tables>
    <rt:routing-table>
     <rt:name>tab-1</rt:name>
     <rt:address-family>ipv6</rt:address-family>
     <rt:safi>nlri-unicast</rt:safi>
    </rt:routing-table>

    <rt:routing-table>
     <rt:name>tab-2</rt:name>
     <rt:address-family>ipv4</rt:address-family>
     <rt:safi>nlri-multicast</rt:safi>
    </rt:routing-table>

    <rt:routing-table>
     <rt:name>tab-3</rt:name>
     <rt:address-family>ipv4</rt:address-family>
     <rt:safi>nlri-unicast</rt:safi>
    </rt:routing-table>
   </rt:routing-tables>

/martin

---

From: Ladislav Lhotka <[email-masked]>
Date: Wed, 13 Feb 2013 09:42:37 +0100

>         *some* preceding-sibling has same safi)

Good catch, the logic is indeed broken. The following 'must' should work better (and is even less majestic, good:-):

    must "not(/routing/routing-tables/"
       + "routing-table[name=current()/"
       + "preceding-sibling::connected-routing-table/"
       + "name and address-family=/routing/routing-tables/"
       + "routing-table[name=current()/name]/"
       + "address-family and safi=/routing/routing-tables/"
       + "routing-table[name=current()/name]/safi])" {
      error-message "Duplicate address family for "
                  + "connected routing tables.";
      description
        "For each AFN/SAFI pair there MUST NOT be more than
         one connected routing table.";
    }

To the chairs: Should I post a new revision of the draft with this fix now?

Thanks, Lada

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Wed, 13 Feb 2013 14:34:59 +0100

> To the chairs: Should I post a new revision of the draft with this fix now?

Lets wait some someone to ack that the fix is correct before you post
a new I-D.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1, 28759 Bremen, Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

---

From: Martin Bjorklund <[email-masked]>
Date: Wed, 13 Feb 2013 14:55:37 +0100 (CET)

> Lets wait some someone to ack that the fix is correct before you post

I think the new expression is correct.

/martin

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Wed, 13 Feb 2013 17:45:49 +0100

> I think the new expression is correct.

Thanks.

/js