Internet Draft Network Working Group Bernard Aboba INTERNET-DRAFT Microsoft Category: Informational <draft-aboba-rpsl-00.txt> 21 November 1997 Lightweight Directory Access Protocol (v3): Schema for the Routing Policy Specification Language (RPSL) 1. Status of this Memo This document is an Internet-Draft. Internet-Drafts are working docu- ments of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute work- ing documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference mate- rial or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). The distribution of this memo is unlimited. It is filed as, and expires June 1, 1998. Please send comments to the authors. 2. Abstract This document defines a schema for the Routing Policy Specification Language (RPSL). It is expected that this schema will be useful in providing a standardized format for representation of RPSL within LDAP-based directory services. 3. Introduction The Routing Policy Specification Language (RPSL), described in [6]-[8], provides a means for the high-level specification of routing policies. To date, efforts at representing routing policies, as descrbed in [9]-[10], have relied on proprietary schemas. This docu- ment describes how routing policies may be represented in LDAP-based directory services. Aboba [Page 1] INTERNET-DRAFT 21 November 1997 4. Object definitions The RPSL schema includes definition of the following objects: RPSL Person Class RPSL Entry Class Dictionary object Maintainer object (mntner) Autonomous system number objects (autNum) Route objects (route) Set objects (asSet, routeSet) Router objects (inetRtr) Tunnel objects (inetTunnel) 4.1. RPSL Person Class ( rpslPersonClass 1 NAME 'rpslOrgPerson' SUP organizationalPerson STRUCTURAL MUST nicHdl ) 4.2. RPSL Entry ( rpsl rpslEntry 1 NAME 'rpslEntry' SUP top ABSTRACT MUST ( cn $ descr $ techC $ adminC $ mntBy $ changed $ source ) MAY ( remarks $ notify ) ) 4.3. Dictionary object ( rpsl rpslDictionary 1 NAME 'rpslDictionary' SUP rpslEntry STRUCTURAL MUST ( dictionaryName ) MAY ( rpAttribute $ typeDef $ protocol ) Aboba [Page 2] INTERNET-DRAFT 21 November 1997 ) 4.4. Maintainer Object Class ( rpsl mntner 1 NAME 'mntner' SUP rpslEntry STRUCTURAL MUST ( mntnerName $ auth $ updTo ) MAY ( mntNfy ) ) 4.5. Autonomous System Number Object Class ( rpsl autNum 1 NAME 'autNum' SUP rpslEntry STRUCTURAL MUST ( asNumber $ asName $ autNumGuardian ) MAY ( memberOf $ asIn $ asOut $ default $ igpToEgp $ egpToIgp ) ) 4.6. Route Object Class ( rpsl route 1 NAME 'route' SUP rpslEntry STRUCTURAL MUST ( addressPrefix $ origin ) MAY ( withdrawn $ memberOf $ injectAt $ aggregateBy $ exportComponents $ holes ) ) 4.7. AS-Set Object Class ( rpsl asSet 1 NAME 'asSet' Aboba [Page 3] INTERNET-DRAFT 21 November 1997 SUP rpslEntry STRUCTURAL MUST ( asSetName ) MAY ( asSetMembers $ asSetMembersByReferral ) ) 4.8. Route-Set Object Class ( rpsl routeSet 1 NAME 'routeSet' SUP rpslEntry STRUCTURAL MUST ( routeSetName ) MAY ( routeSetMembers $ routeSetMembersByReferral ) ) 4.9. Router Object Class ( rpsl inetRtr 1 NAME 'inetRtr' SUP rpslEntry STRUCTURAL MUST ( rtrName $ localAs $ ifAddr $ inetRtrGuardian ) MAY ( alias $ peer ) ) 4.10. Tunnel Object Class ( rpsl inetTunnel 1 NAME 'inetTunnel' SUP rpslEntry STRUCTURAL MUST ( TunnelName $ tunnelSource $ tunnelSink $ tunneProtocol $ tunnelIn $ tunnelOut $ inetTunnelGuardian ) ) Aboba [Page 4] INTERNET-DRAFT 21 November 1997 5. Attribute definitions 5.1. New Attribute Types Used in the RPSL Person Class ( rpsl rpslPersonClass 2 NAME 'nicHdl' DESC 'the handle by which a person is referred to by the NIC' EQUALITY caseIgnoreMatch SUBSTRINGS caseIgnoreSubstringsMatch SYNTAX 'DirectoryString' SINGLE-VALUE ) 5.2. New Attribute Types Used in the RPSL Entry Object Class ( rpsl rpslEntry 2 NAME 'descr' DESC 'a description of the object' EQUALITY caseIgnoreMatch SUBSTRINGS caseIgnoreSubstringsMatch SYNTAX 'DirectoryString' SINGLE-VALUE ) ( rpsl rpslEntry 3 NAME 'techC' DESC 'the technical contact of the resource' EQUALITY caseIgnoreMatch SUBSTRINGS caseIgnoreSubstringsMatch SYNTAX 'DirectoryString' ) ( rpsl rpslEntry 4 NAME 'adminC' DESC 'the administrative contact of the resource' EQUALITY caseIgnoreMatch SUBSTRINGS caseIgnoreSubstringsMatch SYNTAX 'DirectoryString' ) ( rpsl rpslEntry 5 NAME 'remarks' DESC 'An explanation or clarification' EQUALITY caseIgnoreMatch SUBSTRINGS caseIgnoreSubstringsMatch SYNTAX 'DirectoryString' ) ( rpsl rpslEntry 6 NAME 'notify' DESC 'the email address of the entity to notify in case of Problems with the resource' Aboba [Page 5]