-
Notifications
You must be signed in to change notification settings - Fork 390
/
routing_policy.xsd
94 lines (82 loc) · 3.46 KB
/
routing_policy.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!--
Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
-->
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:smi="urn:ietf:params:xml:ns:opsawg:smi:base:1.0">
<xsd:element name='routing-policy' type='ifmap::IdentityType'/>
<xsd:element name='routing-policy-entries' type='PolicyStatementType'/>
<!--#IFMAP-SEMANTICS-IDL
Property('routing-policy-entries', 'routing-policy') -->
<xsd:complexType name='PolicyStatementType'>
<xsd:element name='term' type='PolicyTermType' maxOccurs='unbounded'/>
</xsd:complexType>
<xsd:simpleType name='ActionType'>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="reject"/>
<xsd:enumeration value="accept"/>
<xsd:enumeration value="next"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name='CommunityListType'>
<xsd:annotation>
<xsd:documentation>
List of Community attributes
This list indicates the attributes with which routes are tagged while
publishing. The attributes will be represented as bgp community in
the path attribute. Each attribute is indicated as string
1. String with two integer seperated by ':'. E.g. "64512:123"
2. Wellknown community as string. Possible values are
"no-export"
"accept-own"
"no-advertise"
"no-export-subconfed"
"no-reoriginate"
</xsd:documentation>
</xsd:annotation>
<xsd:element name='community' type='xsd:string' maxOccurs='unbounded'/>
</xsd:complexType>
<xsd:complexType name="ActionCommunityType">
<xsd:element name='add' type='CommunityListType'/>
<xsd:element name='remove' type='CommunityListType'/>
<xsd:element name='set' type='CommunityListType'/>
</xsd:complexType>
<xsd:complexType name="ActionUpdateType">
<xsd:element name="community" type="ActionCommunityType"/>
<xsd:element name="local-pref" type="xsd:integer"/>
<xsd:element name="med" type="xsd:integer"/>
</xsd:complexType>
<xsd:complexType name='TermActionListType'>
<xsd:element name='update' type='ActionUpdateType'/>
<xsd:element name='action' type='ActionType'/>
</xsd:complexType>
<xsd:simpleType name='PrefixType'>
<xsd:restriction base="xsd:string" default="exact">
<xsd:enumeration value="exact"/>
<xsd:enumeration value="longer"/>
<xsd:enumeration value="orlonger"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name='PathSourceType'>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="bgp"/>
<xsd:enumeration value="xmpp"/>
<xsd:enumeration value="static"/>
<xsd:enumeration value="service-chain"/>
<xsd:enumeration value="aggregate"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="PrefixMatchType">
<xsd:element name="prefix" type="xsd:string"/>
<xsd:element name="prefix-type" type="PrefixType"/>
</xsd:complexType>
<xsd:complexType name="TermMatchConditionType">
<xsd:element name="protocol" type="PathSourceType" maxOccurs="unbounded"/>
<xsd:element name="community" type="xsd:string"/>
<xsd:element name="prefix" type="PrefixMatchType" maxOccurs="unbounded"/>
</xsd:complexType>
<xsd:complexType name='PolicyTermType'>
<xsd:element name='term-match-condition' type='TermMatchConditionType'/>
<xsd:element name='term-action-list' type='TermActionListType'/>
</xsd:complexType>
</xsd:schema>