Re: [netmod] Address Family versus Address Family

Ladislav Lhotka <> Wed, 21 November 2018 12:13 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B6B2212F18C for <>; Wed, 21 Nov 2018 04:13:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 5-Qm8niEIXFf for <>; Wed, 21 Nov 2018 04:13:33 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id A0E8A1298C5 for <>; Wed, 21 Nov 2018 04:13:28 -0800 (PST)
Received: by (Postfix, from userid 109) id 64E9A182113D; Wed, 21 Nov 2018 13:20:56 +0100 (CET)
Received: from localhost (unknown []) by (Postfix) with ESMTPSA id 60156182113A; Wed, 21 Nov 2018 13:20:42 +0100 (CET)
From: Ladislav Lhotka <>
To: tom petch <>, "" <>
In-Reply-To: <033101d4818e$08689dc0$>
References: <033101d4818e$08689dc0$>
Mail-Followup-To: tom petch <>, "netmod\" <>
Date: Wed, 21 Nov 2018 13:13:07 +0100
Message-ID: <>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <>
Subject: Re: [netmod] Address Family versus Address Family
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 21 Nov 2018 12:13:38 -0000

tom petch <> writes:

> I have always thought of Address Family as something that BGP created
> and that others have used.  In fact, I find that there is an IANA
> registry of Address Families which RFC8294 has turned into a YANG
> module, but one using enumeration and not identity, which would seem to
> limit its utility.

In draft-lhotka-dnsop-iana-class-type-yang-00 we also use enumerations
representing DNS classes and resource records types. However, in
addition to the enumeration type that reflects the corresponding IANA
registries, we also added a union type that allows for using either the
mnemonic name or assigned number:

typedef rr-type {
  type union {
    type uint16;
    type rr-type-name;

(and similarly for DNS classes). The numeric value corresponding to each
mnemonic name is given by the "value" statement inside each enum.

Actually, this approach was suggested by RFC 3597 that introduced the
general possibility of representing DNS classes and RR types
numerically. For example, RR type "AAAA" can be equivalently represented
as "TYPE28".

Perhaps this approach could be used for address families as well. In
fact, the use of identities also has its share of problems.


> Indeed, while the lsr WG uses that module, I2RS does not with
>  draft-ietf-i2rs-rib-data-model
> defining
>    identity address-family {description  "Base identity from which all
> RIB      address families are derived.";  }
> identity - good; RYO definition - um.
> BGP also goes its own way with
>   identity AFI_SAFI_TYPE { description
>          "Base identity type for AFI,SAFI tuples for BGP-4";
>        reference "RFC4760 - multi-protocol extensions for BGP-4";  }
> And then there is RFC8349 with
>   identity address-family {
>     description  "Base identity from which identities describing address
>           families are derived.";      }
> and which defines ipv4 and ipv6, and which ties the concept firmly to a
> RIB in a 1:1 correspondence.
> When I raised this on the rtgwg list, the response was that the concept
> of an address family is particular to a protocol, so there is no reason
> for ospf and BGP to share anything, which is how it seems.
> So, is there any reason for anyone to use the definition in RFC8349? or
> the IANA module?
> Tom Petch
> _______________________________________________
> netmod mailing list

Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67