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]