2 Documentation Test suite to verify Inbound filtering functionality
3 Suite Setup Setup SXP Environment
4 Suite Teardown Clean SXP Environment
5 Test Setup Setup Topology Complex
6 Test Teardown Clean Nodes
7 Library RequestsLibrary
9 Library ../../../libraries/Sxp.py
10 Library ../../../libraries/Common.py
11 Resource ../../../libraries/SxpLib.robot
12 Resource ../../../libraries/Utils.robot
13 Resource ../../../libraries/KarafKeywords.robot
14 Resource ../../../variables/Variables.py
20 [Documentation] Test ACL filter behaviour during filter update
21 ${peers} Add Peers 127.0.0.2 127.0.0.4
22 Add PeerGroup GROUP ${peers}
24 ${entry1} Get Filter Entry 10 permit acl=10.10.10.0,0.0.0.255
25 ${entry2} Get Filter Entry 20 permit acl=10.0.0.0,0.254.0.0
26 ${entries} Combine Strings ${entry1} ${entry2}
27 Add Filter GROUP inbound ${entries}
28 Wait Until Keyword Succeeds 4 1 Check One Group 4-2
29 Delete Filter GROUP inbound
30 ${entries} Get Filter Entry 10 permit acl=10.0.0.0,0.255.255.255
31 Add Filter GROUP inbound ${entries}
32 Wait Until Keyword Succeeds 4 1 Check Two Group 4-2
33 Delete Filter GROUP inbound
34 ${entries} Get Filter Entry 10 deny acl=10.0.0.0,0.255.255.255
35 Add Filter GROUP inbound ${entries}
36 Wait Until Keyword Succeeds 4 1 Check Three Group 4-2
38 Access List Sgt Filtering
39 [Documentation] Test ACL and SGT filter behaviour during filter update
40 ${peers} Add Peers 127.0.0.3 127.0.0.5
41 Add PeerGroup GROUP ${peers}
43 ${entry1} Get Filter Entry 10 permit sgt=30 acl=10.10.10.0,0.0.0.255
44 ${entry2} Get Filter Entry 20 permit sgt=50 acl=10.0.0.0,0.254.0.0
45 ${entries} Combine Strings ${entry1} ${entry2}
46 Add Filter GROUP inbound ${entries}
47 Wait Until Keyword Succeeds 4 1 Check One Group 5-3
48 Delete Filter GROUP inbound
49 ${entries} Get Filter Entry 10 permit esgt=20,40 acl=10.0.0.0,0.255.255.255
50 Add Filter GROUP inbound ${entries}
51 Wait Until Keyword Succeeds 4 1 Check Two Group 5-3
54 [Documentation] Test Prefix List filter behaviour during filter update
55 ${peers} Add Peers 127.0.0.2 127.0.0.4
56 Add PeerGroup GROUP ${peers}
58 ${entry1} Get Filter Entry 10 permit pl=10.10.10.0/24
59 ${entry2} Get Filter Entry 20 permit epl=10.0.0.0/8,le,16
60 ${entries} Combine Strings ${entry1} ${entry2}
61 Add Filter GROUP inbound ${entries}
62 Wait Until Keyword Succeeds 4 1 Check One Group 4-2
63 Delete Filter GROUP inbound
64 ${entries} Get Filter Entry 10 permit pl=10.0.0.0/8
65 Add Filter GROUP inbound ${entries}
66 Wait Until Keyword Succeeds 4 1 Check Two Group 4-2
67 Delete Filter GROUP inbound
68 ${entries} Get Filter Entry 10 deny pl=10.0.0.0/8
69 Add Filter GROUP inbound ${entries}
70 Wait Until Keyword Succeeds 4 1 Check Three Group 4-2
72 Prefix List Sgt Filtering
73 [Documentation] Test Prefix List and SGT filter behaviour during filter update
74 ${peers} Add Peers 127.0.0.3 127.0.0.5
75 Add PeerGroup GROUP ${peers}
76 ${entry1} Get Filter Entry 10 permit sgt=30 pl=10.10.10.0/24
77 ${entry2} Get Filter Entry 20 permit pl=10.50.0.0/16
78 ${entries} Combine Strings ${entry1} ${entry2}
79 Add Filter GROUP inbound ${entries}
80 Wait Until Keyword Succeeds 4 1 Check One Group 5-3
81 Delete Filter GROUP inbound
82 ${entries} Get Filter Entry 10 permit esgt=20,40 pl=10.0.0.0/8
83 Add Filter GROUP inbound ${entries}
84 Wait Until Keyword Succeeds 4 1 Check Two Group 5-3
89 [Documentation] Check if only bindings matching filter from node 4 and 2 are propagated to SXP-DB other nodes
90 ... Database should contains only Bindings regarding to these matches:
91 ... permit ACL 10.10.10.0 0.0.0.255
92 ... permit ACL 10.0.0.0 0.254.0.0
93 ... Info regarding filtering https://wiki.opendaylight.org/view/SXP:Beryllium:Developer_Guide
94 ${resp} Get Bindings Master Database 127.0.0.5
95 Should Contain Binding ${resp} 10 10.10.10.10/32 sxp
96 Should Contain Binding ${resp} 10 10.10.10.0/24 sxp
97 Should Contain Binding ${resp} 10 10.10.0.0/16 sxp
98 Should Contain Binding ${resp} 10 10.0.0.0/8 sxp
99 Should Contain Binding ${resp} 20 10.10.10.20/32 sxp
100 Should Not Contain Binding ${resp} 20 10.10.20.0/24 sxp
101 Should Contain Binding ${resp} 20 10.20.0.0/16 sxp
102 Should Not Contain Binding ${resp} 20 20.0.0.0/8 sxp
103 Should Contain Binding ${resp} 30 10.10.10.30/32 sxp
104 Should Contain Binding ${resp} 30 10.10.30.0/24 sxp
105 Should Contain Binding ${resp} 30 10.30.0.0/16 sxp
106 Should Contain Binding ${resp} 30 30.0.0.0/8 sxp
107 Should Contain Binding ${resp} 40 10.10.10.40/32 sxp
108 Should Not Contain Binding ${resp} 40 10.10.40.0/24 sxp
109 Should Contain Binding ${resp} 40 10.40.0.0/16 sxp
110 Should Not Contain Binding ${resp} 40 40.0.0.0/8 sxp
112 ${resp} Get Bindings Master Database 127.0.0.3
113 Should Contain Binding ${resp} 50 10.10.10.50/32 sxp
114 Should Contain Binding ${resp} 50 10.10.50.0/24 sxp
115 Should Contain Binding ${resp} 50 10.50.0.0/16 sxp
116 Should Contain Binding ${resp} 50 50.0.0.0/8 sxp
119 [Documentation] Check if only bindings matching filter from node 4 and 2 are propagated to SXP-DB of other nodes
120 ... Database should contains only Bindings regarding to these matches:
121 ... permit ACL 10.0.0.0 0.255.255.255
122 ... Info regarding filtering https://wiki.opendaylight.org/view/SXP:Beryllium:Developer_Guide
123 ${resp} Get Bindings Master Database 127.0.0.5
124 Should Contain Binding ${resp} 10 10.10.10.10/32 sxp
125 Should Contain Binding ${resp} 10 10.10.10.0/24 sxp
126 Should Contain Binding ${resp} 10 10.10.0.0/16 sxp
127 Should Contain Binding ${resp} 10 10.0.0.0/8 sxp
128 Should Contain Binding ${resp} 20 10.10.10.20/32 sxp
129 Should Contain Binding ${resp} 20 10.10.20.0/24 sxp
130 Should Contain Binding ${resp} 20 10.20.0.0/16 sxp
131 Should Not Contain Binding ${resp} 20 20.0.0.0/8 sxp
132 Should Contain Binding ${resp} 30 10.10.10.30/32 sxp
133 Should Contain Binding ${resp} 30 10.10.30.0/24 sxp
134 Should Contain Binding ${resp} 30 10.30.0.0/16 sxp
135 Should Contain Binding ${resp} 30 30.0.0.0/8 sxp
136 Should Contain Binding ${resp} 40 10.10.10.40/32 sxp
137 Should Contain Binding ${resp} 40 10.10.40.0/24 sxp
138 Should Contain Binding ${resp} 40 10.40.0.0/16 sxp
139 Should Not Contain Binding ${resp} 40 40.0.0.0/8 sxp
141 ${resp} Get Bindings Master Database 127.0.0.3
142 Should Contain Binding ${resp} 50 10.10.10.50/32 sxp
143 Should Contain Binding ${resp} 50 10.10.50.0/24 sxp
144 Should Contain Binding ${resp} 50 10.50.0.0/16 sxp
145 Should Contain Binding ${resp} 50 50.0.0.0/8 sxp
147 Check Three Group 4-2
148 [Documentation] Check if only bindings matching filter from node 4 and 2 are propagated to SXP-DB of other nodes
149 ... Database should contains only Bindings regarding to these matches:
150 ... deny ACL 10.0.0.0 0.255.255.255
151 ... Info regarding filtering https://wiki.opendaylight.org/view/SXP:Beryllium:Developer_Guide
152 ${resp} Get Bindings Master Database 127.0.0.5
153 Should Contain Binding ${resp} 10 10.10.10.10/32 sxp
154 Should Contain Binding ${resp} 10 10.10.10.0/24 sxp
155 Should Contain Binding ${resp} 10 10.10.0.0/16 sxp
156 Should Contain Binding ${resp} 10 10.0.0.0/8 sxp
157 Should Not Contain Binding ${resp} 20 10.10.10.20/32 sxp
158 Should Not Contain Binding ${resp} 20 10.10.20.0/24 sxp
159 Should Not Contain Binding ${resp} 20 10.20.0.0/16 sxp
160 Should Not Contain Binding ${resp} 20 20.0.0.0/8 sxp
161 Should Contain Binding ${resp} 30 10.10.10.30/32 sxp
162 Should Contain Binding ${resp} 30 10.10.30.0/24 sxp
163 Should Contain Binding ${resp} 30 10.30.0.0/16 sxp
164 Should Contain Binding ${resp} 30 30.0.0.0/8 sxp
165 Should Not Contain Binding ${resp} 40 10.10.10.40/32 sxp
166 Should Not Contain Binding ${resp} 40 10.10.40.0/24 sxp
167 Should Not Contain Binding ${resp} 40 10.40.0.0/16 sxp
168 Should Not Contain Binding ${resp} 40 40.0.0.0/8 sxp
171 [Documentation] Check if only bindings matching filter from node 5 and 3 are propagated to SXP-DB of other nodes
172 ... Database should contains only Bindings regarding to these matches:
173 ... permit SGT 30 ACL 10.10.10.0 0.0.0.255
174 ... permit SGT 50 ACL 10.0.0.0 0.254.0.0
175 ... Info regarding filtering https://wiki.opendaylight.org/view/SXP:Beryllium:Developer_Guide
176 ${resp} Get Bindings Master Database 127.0.0.4
177 Should Contain Binding ${resp} 10 10.10.10.10/32 sxp
178 Should Contain Binding ${resp} 10 10.10.10.0/24 sxp
179 Should Contain Binding ${resp} 10 10.10.0.0/16 sxp
180 Should Contain Binding ${resp} 10 10.0.0.0/8 sxp
181 Should Contain Binding ${resp} 20 10.10.10.20/32 sxp
182 Should Contain Binding ${resp} 20 10.10.20.0/24 sxp
183 Should Contain Binding ${resp} 20 10.20.0.0/16 sxp
184 Should Contain Binding ${resp} 20 20.0.0.0/8 sxp
185 Should Contain Binding ${resp} 30 10.10.10.30/32 sxp
186 Should Not Contain Binding ${resp} 30 10.10.30.0/24 sxp
187 Should Not Contain Binding ${resp} 30 10.30.0.0/16 sxp
188 Should Not Contain Binding ${resp} 30 30.0.0.0/8 sxp
189 Should Not Contain Binding ${resp} 50 10.10.10.50/32 sxp
190 Should Not Contain Binding ${resp} 50 10.10.50.0/24 sxp
191 Should Contain Binding ${resp} 50 10.50.0.0/16 sxp
192 Should Not Contain Binding ${resp} 50 50.0.0.0/8 sxp
194 ${resp} Get Bindings Master Database 127.0.0.2
195 Should Contain Binding ${resp} 40 10.10.10.40/32 sxp
196 Should Contain Binding ${resp} 40 10.10.40.0/24 sxp
197 Should Contain Binding ${resp} 40 10.40.0.0/16 sxp
198 Should Contain Binding ${resp} 40 40.0.0.0/8 sxp
202 [Documentation] Check if only bindings matching filter from node 5 and 3 are propagated to SXP-DB of other nodes
203 ... Database should contains only Bindings regarding to these matches:
204 ... permit ESGT 20,40 ACL 10.0.0.0 0.255.255.255
205 ... Info regarding filtering https://wiki.opendaylight.org/view/SXP:Beryllium:Developer_Guide
206 ${resp} Get Bindings Master Database 127.0.0.4
207 Should Contain Binding ${resp} 10 10.10.10.10/32 sxp
208 Should Contain Binding ${resp} 10 10.10.10.0/24 sxp
209 Should Contain Binding ${resp} 10 10.10.0.0/16 sxp
210 Should Contain Binding ${resp} 10 10.0.0.0/8 sxp
211 Should Contain Binding ${resp} 20 10.10.10.20/32 sxp
212 Should Contain Binding ${resp} 20 10.10.20.0/24 sxp
213 Should Contain Binding ${resp} 20 10.20.0.0/16 sxp
214 Should Contain Binding ${resp} 20 20.0.0.0/8 sxp
215 Should Contain Binding ${resp} 30 10.10.10.30/32 sxp
216 Should Contain Binding ${resp} 30 10.10.30.0/24 sxp
217 Should Contain Binding ${resp} 30 10.30.0.0/16 sxp
218 Should Not Contain Binding ${resp} 30 30.0.0.0/8 sxp
219 Should Not Contain Binding ${resp} 50 10.10.10.50/32 sxp
220 Should Not Contain Binding ${resp} 50 10.10.50.0/24 sxp
221 Should Not Contain Binding ${resp} 50 10.50.0.0/16 sxp
222 Should Not Contain Binding ${resp} 50 50.0.0.0/8 sxp
224 ${resp} Get Bindings Master Database 127.0.0.2
225 Should Contain Binding ${resp} 40 10.10.10.40/32 sxp
226 Should Contain Binding ${resp} 40 10.10.40.0/24 sxp
227 Should Contain Binding ${resp} 40 10.40.0.0/16 sxp
228 Should Contain Binding ${resp} 40 40.0.0.0/8 sxp
231 Clean Connections 127.0.0.1
232 Clean Connections 127.0.0.2
233 Clean Connections 127.0.0.3
234 Clean Connections 127.0.0.4
235 Clean Connections 127.0.0.5
236 Clean Peer Groups 127.0.0.1
237 Clean Bindings 127.0.0.1
238 Clean Bindings 127.0.0.2
239 Clean Bindings 127.0.0.3
240 Clean Bindings 127.0.0.4
241 Clean Bindings 127.0.0.5