module: ietf-routing-policy

 

  +--rw routing-policy

 

     +--rw defined-sets

 

     |  +--rw prefix-sets

 

     |  |  +--rw prefix-set* [name mode]

 

     |  |     +--rw name        string

 

     |  |     +--rw mode        enumeration

 

     |  |     +--rw prefixes

 

     |  |        +--rw prefix-list* [ip-prefix mask-length-lower mask-length-upper]

 

     |  |           +--rw ip-prefix            inet:ip-prefix

 

     |  |           +--rw mask-length-lower    uint8

 

     |  |           +--rw mask-length-upper    uint8

 

     |  +--rw neighbor-sets

 

     |  |  +--rw neighbor-set* [name]

 

     |  |     +--rw name       string

 

     |  |     +--rw address*   inet:ip-address

 

     |  +--rw tag-sets

 

     |  |  +--rw tag-set* [name]

 

     |  |     +--rw name         string

 

     |  |     +--rw tag-value*   tag-type

 

     |  +--rw bp:bgp-defined-sets

 

     |     +--rw bp:as-path-sets

 

     |     |  +--rw bp:as-path-set* [name]

 

     |     |     +--rw bp:name      string

 

     |     |     +--rw bp:member*   string

 

     |     +--rw bp:community-sets

 

     |     |  +--rw bp:community-set* [name]

 

     |     |     +--rw bp:name      string

 

     |     |     +--rw bp:member*   union

 

     |     +--rw bp:ext-community-sets

 

     |     |  +--rw bp:ext-community-set* [name]

 

     |     |     +--rw bp:name      string

 

     |     |     +--rw bp:member*   union

 

     |     +--rw bp:ipv6-ext-community-sets

 

     |     |  +--rw bp:ipv6-ext-community-set* [name]

 

     |     |     +--rw bp:name      string

 

     |     |     +--rw bp:member*   union

 

     |     +--rw bp:large-community-sets

 

     |     |  +--rw bp:large-community-set* [name]

 

     |     |     +--rw bp:name      string

 

     |     |     +--rw bp:member*   union

 

     |     +--rw bp:next-hop-sets

 

     |        +--rw bp:next-hop-set* [name]

 

     |           +--rw bp:name        string

 

     |           +--rw bp:next-hop*   bgp-next-hop-type

 

     +--rw policy-definitions

 

        +--ro match-modified-attributes?   boolean

 

        +--rw policy-definition* [name]

 

           +--rw name          string

 

           +--rw statements

 

              +--rw statement* [name]

 

                 +--rw name          string

 

                 +--rw conditions

 

                 |  +--rw call-policy?          -> ../../../../../../rt-pol:policy-definitions/rt-pol:policy-definition/rt-pol:name

 

                 |  +--rw source-protocol?      identityref

 

                 |  +--rw match-interface

 

                 |  |  +--rw interface?   if:interface-ref

 

                 |  +--rw match-prefix-set

 

                 |  |  +--rw prefix-set?          -> ../../../../../../../defined-sets/prefix-sets/prefix-set/name

 

                 |  |  +--rw match-set-options?   match-set-options-type

 

                 |  +--rw match-neighbor-set

 

                 |  |  +--rw neighbor-set?   -> ../../../../../../../defined-sets/neighbor-sets/neighbor-set/name

 

                 |  +--rw match-tag-set

 

                 |  |  +--rw tag-set?             -> ../../../../../../../defined-sets/tag-sets/tag-set/name

 

                 |  |  +--rw match-set-options?   match-set-options-type

 

                 |  +--rw match-route-type

 

                 |  |  +--rw route-type*   identityref

 

                 |  +--rw bp:bgp-conditions

 

                 |     +--rw bp:local-pref

 

                 |     |  +--rw bp:value?         uint32

 

                 |     |  +--rw (bp:operation)?

 

                 |     |     +--:(bp:eq)

 

                 |     |     |  +--rw bp:eq?   empty

 

                 |     |     +--:(bp:lt-or-eq)

 

                 |     |     |  +--rw bp:lt-or-eq?   empty

 

                 |     |     +--:(bp:gt-or-eq)

 

                 |     |        +--rw bp:gt-or-eq?   empty

 

                 |     +--rw bp:med

 

                 |     |  +--rw bp:value?         uint32

 

                 |     |  +--rw (bp:operation)?

 

                 |     |     +--:(bp:eq)

 

                 |     |     |  +--rw bp:eq?   empty

 

                 |     |     +--:(bp:lt-or-eq)

 

                 |     |     |  +--rw bp:lt-or-eq?   empty

 

                 |     |     +--:(bp:gt-or-eq)

 

                 |     |        +--rw bp:gt-or-eq?   empty

 

                 |     +--rw bp:origin-eq?                      bt:bgp-origin-attr-type

 

                 |     +--rw bp:match-afi-safi

 

                 |     |  +--rw bp:afi-safi-in*         identityref

 

                 |     |  +--rw bp:match-set-options?   match-set-options-type

 

                 |     +--rw bp:match-neighbor

 

                 |     |  +--rw bp:neighbor-eq*         inet:ip-address

 

                 |     |  +--rw bp:match-set-options?   match-set-options-type

 

                 |     +--rw bp:route-type?                     enumeration

 

                 |     +--rw bp:community-count

 

                 |     |  +--rw bp:community-count?   uint32

 

                 |     |  +--rw (bp:operation)?

 

                 |     |     +--:(bp:eq)

 

                 |     |     |  +--rw bp:eq?   empty

 

                 |     |     +--:(bp:lt-or-eq)

 

                 |     |     |  +--rw bp:lt-or-eq?   empty

 

                 |     |     +--:(bp:gt-or-eq)

 

                 |     |        +--rw bp:gt-or-eq?   empty

 

                 |     +--rw bp:as-path-length

 

                 |     |  +--rw bp:as-path-length?   uint32

 

                 |     |  +--rw (bp:operation)?

 

                 |     |     +--:(bp:eq)

 

                 |     |     |  +--rw bp:eq?   empty

 

                 |     |     +--:(bp:lt-or-eq)

 

                 |     |     |  +--rw bp:lt-or-eq?   empty

 

                 |     |     +--:(bp:gt-or-eq)

 

                 |     |        +--rw bp:gt-or-eq?   empty

 

                 |     +--rw bp:match-community-set

 

                 |     |  +--rw bp:community-set?       -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/community-sets/community-set/name

 

                 |     |  +--rw bp:match-set-options?   match-set-options-type

 

                 |     +--rw bp:match-ext-community-set

 

                 |     |  +--rw bp:ext-community-set?          -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/ext-community-sets/ext-community-set/name

 

                 |     |  +--rw bp:ext-community-match-kind?   enumeration

 

                 |     |  +--rw bp:match-set-options?          match-set-options-type

 

                 |     +--rw bp:match-ipv6-ext-community-set

 

                 |     |  +--rw bp:ipv6-ext-community-set?          -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/ipv6-ext-community-sets/ipv6-ext-community-set/name

 

                 |     |  +--rw bp:ipv6-ext-community-match-kind?   enumeration

 

                 |     |  +--rw bp:match-set-options?               match-set-options-type

 

                 |     +--rw bp:match-large-community-set

 

                 |     |  +--rw bp:large-community-set?   -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/large-community-sets/large-community-set/name

 

                 |     |  +--rw bp:match-set-options?     match-set-options-type

 

                 |     +--rw bp:match-as-path-set

 

                 |     |  +--rw bp:as-path-set?         -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/as-path-sets/as-path-set/name

 

                 |     |  +--rw bp:match-set-options?   match-set-options-type

 

                 |     +--rw bp:match-next-hop-set

 

                 |        +--rw bp:next-hop-set?        -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/next-hop-sets/next-hop-set/name

 

                 |        +--rw bp:match-set-options?   match-set-options-type

 

                 +--rw actions

 

                    +--rw policy-result?          policy-result-type

 

                    +--rw set-metric

 

                    |  +--rw metric-modification?   metric-modification-type

 

                    |  +--rw metric?                uint32

 

                    +--rw set-metric-type

 

                    |  +--rw metric-type?   identityref

 

                    +--rw set-route-level

 

                    |  +--rw route-level?   identityref

 

                    +--rw set-route-preference?   uint16

 

                    +--rw set-tag?                tag-type

 

                    +--rw set-application-tag?    tag-type

 

                    +--rw bp:bgp-actions

 

                       +--rw bp:set-route-origin?         bt:bgp-origin-attr-type

 

                       +--rw bp:set-local-pref?           uint32

 

                       +--rw bp:set-next-hop?             bgp-next-hop-type

 

                       +--rw bp:set-med?                  bgp-set-med-type

 

                       +--rw bp:set-as-path-prepend

 

                       |  +--rw bp:repeat-n?   uint8

 

                       |  +--rw bp:asn*        inet:as-number

 

                       +--rw bp:set-community

 

                       |  +--rw bp:options?    bgp-set-community-option-type

 

                       |  +--rw (bp:method)?

 

                       |     +--:(bp:inline)

 

                       |     |  +--rw bp:communities*   union

 

                       |     +--:(bp:reference)

 

                       |        +--rw bp:community-set-ref?   -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/community-sets/community-set/name

 

                       +--rw bp:set-ext-community

 

                       |  +--rw bp:options?    bgp-set-community-option-type

 

                       |  +--rw (bp:method)?

 

                       |     +--:(bp:inline)

 

                       |     |  +--rw bp:communities*   bct:bgp-ext-community-type

 

                       |     +--:(bp:reference)

 

                       |        +--rw bp:ext-community-set-ref?   -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/ext-community-sets/ext-community-set/name

 

                       +--rw bp:set-ipv6-ext-community

 

                       |  +--rw bp:options?    bgp-set-community-option-type

 

                       |  +--rw (bp:method)?

 

                       |     +--:(bp:inline)

 

                       |     |  +--rw bp:communities*   bct:bgp-ipv6-ext-community-type

 

                       |     +--:(bp:reference)

 

                       |        +--rw bp:ipv6-ext-community-set-ref?   -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/ipv6-ext-community-sets/ipv6-ext-community-set/name

 

                       +--rw bp:set-large-community

 

                          +--rw bp:options?    bgp-set-community-option-type

 

                          +--rw (bp:method)?

 

                             +--:(bp:inline)

 

                             |  +--rw bp:communities*   bct:bgp-large-community-type

 

                             +--:(bp:reference)

 

                                +--rw bp:large-community-set-ref?   -> /rt-pol:routing-policy/rt-pol:defined-sets/bgp-defined-sets/large-community-sets/large-community-set/name