2 Documentation Deep inspection of HTTP traffic on asymmetric chain.
3 ... Nodes are located on the same VM.
6 Resource ../../../../../libraries/GBP/OpenFlowUtils.robot
7 Resource ../../../../../libraries/GBP/ConnUtils.robot
8 Resource ../Variables.robot
9 Resource ../Connections.robot
11 Suite Setup Start Connections
12 Suite Teardown Close Connections
16 Start HTTP on h36_2 on Port 80
17 [Documentation] Starting HTTP service on docker container.
20 ... client_ip=10.0.35.2
22 ... server_ip=10.0.36.2
27 Switch Connection GPSFC1_CONNECTION
28 Start HTTP Service on Docker ${SERVER_NAME} ${SERVICE_PORT}
31 [Documentation] Test HTTP request from a docker container to serving docker container.
32 Curl from Docker ${CLIENT_NAME} ${SERVER_IP} ${SERVICE_PORT}
34 Start Endless Curl on h35_2 on port 80
35 [Documentation] Starting endless HTTP session for traffic inspection.
36 Start Endless Curl from Docker ${CLIENT_NAME} ${SERVER_IP} ${SERVICE_PORT} sleep=1
38 On GBPSFC1 Send HTTP req h35_2-h36_2 to GBPSFC2
39 [Documentation] HTTP traffic inspection.
40 Switch Connection GPSFC1_CONNECTION
41 ${flow} Inspect Classifier Outbound
43 ... out_port=${VXLAN_GPE_PORT}
44 ... eth_type=${ETHER_TYPE}
45 ... inner_src_ip=${CLIENT_IP}
46 ... inner_dst_ip=${SERVER_IP}
47 ... next_hop_ip=${GBPSFC2}
50 ... dst_port=${SERVICE_PORT}
51 ${nsp_35_2-nsp_36_2} GET NSP Value From Flow ${flow}
52 Set Global Variable ${NSP} ${nsp_35_2-nsp_36_2}
54 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC3
55 [Documentation] HTTP traffic inspection.
56 Switch Connection GPSFC2_CONNECTION
57 Inspect Service Function Forwarder
58 ... in_port=${VXLAN_GPE_PORT}
59 ... out_port=${VXLAN_GPE_PORT}
60 ... outer_src_ip=${GBPSFC1}
61 ... outer_dst_ip=${GBPSFC2}
62 ... eth_type=${ETHER_TYPE}
63 ... inner_src_ip=${CLIENT_IP}
64 ... inner_dst_ip=${SERVER_IP}
65 ... next_hop_ip=${GBPSFC3}
70 On GBPSFC3 Send HTTP req h35_2-h36_2 to GBPSFC2
71 [Documentation] HTTP traffic inspection.
72 Switch Connection GPSFC3_CONNECTION
73 Inspect Service Function
74 ... in_port=${VXLAN_GPE_PORT}
75 ... out_port=${VXLAN_GPE_PORT}
76 ... outer_src_ip=${GBPSFC2}
77 ... outer_dst_ip=${GBPSFC3}
78 ... eth_type=${ETHER_TYPE}
79 ... inner_src_ip=${CLIENT_IP}
80 ... inner_dst_ip=${SERVER_IP}
81 ... next_hop_ip=${GBPSFC2}
85 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC4
86 [Documentation] HTTP traffic inspection.
87 Switch Connection GPSFC2_CONNECTION
88 Inspect Service Function Forwarder
89 ... in_port=${VXLAN_GPE_PORT}
90 ... out_port=${VXLAN_GPE_PORT}
91 ... outer_src_ip=${GBPSFC3}
92 ... outer_dst_ip=${GBPSFC2}
93 ... eth_type=${ETHER_TYPE}
94 ... inner_src_ip=${CLIENT_IP}
95 ... inner_dst_ip=${SERVER_IP}
96 ... next_hop_ip=${GBPSFC4}
101 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC5
102 [Documentation] HTTP traffic inspection.
103 Switch Connection GPSFC4_CONNECTION
104 Inspect Service Function Forwarder
105 ... in_port=${VXLAN_GPE_PORT}
106 ... out_port=${VXLAN_GPE_PORT}
107 ... outer_src_ip=${GBPSFC2}
108 ... outer_dst_ip=${GBPSFC4}
109 ... eth_type=${ETHER_TYPE}
110 ... inner_src_ip=${CLIENT_IP}
111 ... inner_dst_ip=${SERVER_IP}
112 ... next_hop_ip=${GBPSFC5}
117 On GBPSFC5 Send HTTP req h35_2-h36_2 to GBPSFC4
118 [Documentation] HTTP traffic inspection.
119 Switch Connection GPSFC5_CONNECTION
120 Inspect Service Function
121 ... in_port=${VXLAN_GPE_PORT}
122 ... out_port=${VXLAN_GPE_PORT}
123 ... outer_src_ip=${GBPSFC4}
124 ... outer_dst_ip=${GBPSFC5}
125 ... eth_type=${ETHER_TYPE}
126 ... inner_src_ip=${CLIENT_IP}
127 ... inner_dst_ip=${SERVER_IP}
128 ... next_hop_ip=${GBPSFC4}
132 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC1
133 [Documentation] HTTP traffic inspection.
134 Switch Connection GPSFC4_CONNECTION
135 Inspect Service Function Forwarder
136 ... in_port=${VXLAN_GPE_PORT}
137 ... out_port=${VXLAN_GPE_PORT}
138 ... outer_src_ip=${GBPSFC5}
139 ... outer_dst_ip=${GBPSFC4}
140 ... eth_type=${ETHER_TYPE}
141 ... inner_src_ip=${CLIENT_IP}
142 ... inner_dst_ip=${SERVER_IP}
143 ... next_hop_ip=${GBPSFC1}
148 On GBPSFC1 Send HTTP req h35_2-h36_2 to h36_2
149 [Documentation] HTTP traffic inspection.
150 Switch Connection GPSFC1_CONNECTION
151 Inspect Classifier Inbound
152 ... in_port=${VXLAN_GPE_PORT}
154 ... eth_type=${ETHER_TYPE}
155 ... inner_src_ip=${CLIENT_IP}
156 ... inner_dst_ip=${SERVER_IP}
157 ... outer_src_ip=${GBPSFC4}
158 ... outer_dst_ip=${GBPSFC1}
163 On GBPSFC1 Send HTTP resp h36_2-h35_2 to h35_2
164 [Documentation] HTTP traffic inspection.
165 Switch Connection GPSFC1_CONNECTION
166 ${flow} Inspect Classifier Outbound
169 ... eth_type=${ETHER_TYPE}
170 ... inner_src_ip=${SERVER_IP}
171 ... inner_dst_ip=${CLIENT_IP}
173 ... src_port=${SERVICE_PORT}
175 Stop Endless Curl on h36_2 on port 80
176 [Documentation] Stopping endless HTTP session after traffic inspection finishes.
177 Stop Endless Curl from Docker ${CLIENT_NAME}
179 Stop HTTP on h36_2 on Port 80
180 [Documentation] Stopping HTTP service on the docker container.
181 Stop HTTP Service on Docker ${SERVER_NAME}