Lines Matching full:ip
18 # IP*_1 <=> IP*_2 <=> IP*_3 <=> IP*_4 (the top route)
21 # NS1/NS2 are configured to route packets to IPv*_GRE via IP*_8
27 # from IP*_SRC to IP*_DST can work is via IPv*_GRE
30 # that encaps the packets with an IP/GRE header to route to IPv*_GRE
36 # that encaps the packets with an IP/GRE header to route to IPv*_GRE
111 ip netns add "${NS1}"
112 ip netns add "${NS2}"
113 ip netns add "${NS3}"
115 ip link add veth1 type veth peer name veth2
116 ip link add veth3 type veth peer name veth4
117 ip link add veth5 type veth peer name veth6
118 ip link add veth7 type veth peer name veth8
120 ip netns exec ${NS2} sysctl -wq net.ipv4.ip_forward=1
121 ip netns exec ${NS2} sysctl -wq net.ipv6.conf.all.forwarding=1
123 ip link set veth1 netns ${NS1}
124 ip link set veth2 netns ${NS2}
125 ip link set veth3 netns ${NS2}
126 ip link set veth4 netns ${NS3}
127 ip link set veth5 netns ${NS1}
128 ip link set veth6 netns ${NS2}
129 ip link set veth7 netns ${NS2}
130 ip link set veth8 netns ${NS3}
133 ip -netns ${NS1} link add red type vrf table 1001
134 ip -netns ${NS1} link set red up
135 ip -netns ${NS1} route add table 1001 unreachable default metric 8192
136 ip -netns ${NS1} -6 route add table 1001 unreachable default metric 8192
137 ip -netns ${NS1} link set veth1 vrf red
138 ip -netns ${NS1} link set veth5 vrf red
140 ip -netns ${NS2} link add red type vrf table 1001
141 ip -netns ${NS2} link set red up
142 ip -netns ${NS2} route add table 1001 unreachable default metric 8192
143 ip -netns ${NS2} -6 route add table 1001 unreachable default metric 8192
144 ip -netns ${NS2} link set veth2 vrf red
145 ip -netns ${NS2} link set veth3 vrf red
146 ip -netns ${NS2} link set veth6 vrf red
147 ip -netns ${NS2} link set veth7 vrf red
151 ip -netns ${NS1} addr add ${IPv4_1}/24 dev veth1
152 ip -netns ${NS2} addr add ${IPv4_2}/24 dev veth2
153 ip -netns ${NS2} addr add ${IPv4_3}/24 dev veth3
154 ip -netns ${NS3} addr add ${IPv4_4}/24 dev veth4
155 ip -netns ${NS1} -6 addr add ${IPv6_1}/128 nodad dev veth1
156 ip -netns ${NS2} -6 addr add ${IPv6_2}/128 nodad dev veth2
157 ip -netns ${NS2} -6 addr add ${IPv6_3}/128 nodad dev veth3
158 ip -netns ${NS3} -6 addr add ${IPv6_4}/128 nodad dev veth4
161 ip -netns ${NS1} addr add ${IPv4_5}/24 dev veth5
162 ip -netns ${NS2} addr add ${IPv4_6}/24 dev veth6
163 ip -netns ${NS2} addr add ${IPv4_7}/24 dev veth7
164 ip -netns ${NS3} addr add ${IPv4_8}/24 dev veth8
165 ip -netns ${NS1} -6 addr add ${IPv6_5}/128 nodad dev veth5
166 ip -netns ${NS2} -6 addr add ${IPv6_6}/128 nodad dev veth6
167 ip -netns ${NS2} -6 addr add ${IPv6_7}/128 nodad dev veth7
168 ip -netns ${NS3} -6 addr add ${IPv6_8}/128 nodad dev veth8
170 ip -netns ${NS1} link set dev veth1 up
171 ip -netns ${NS2} link set dev veth2 up
172 ip -netns ${NS2} link set dev veth3 up
173 ip -netns ${NS3} link set dev veth4 up
174 ip -netns ${NS1} link set dev veth5 up
175 ip -netns ${NS2} link set dev veth6 up
176 ip -netns ${NS2} link set dev veth7 up
177 ip -netns ${NS3} link set dev veth8 up
179 # configure routes: IP*_SRC -> veth1/IP*_2 (= top route) default;
184 ip -netns ${NS1} route add ${IPv4_2}/32 dev veth1 ${VRF}
185 ip -netns ${NS1} route add default dev veth1 via ${IPv4_2} ${VRF} # go top by default
186 ip -netns ${NS1} -6 route add ${IPv6_2}/128 dev veth1 ${VRF}
187 ip -netns ${NS1} -6 route add default dev veth1 via ${IPv6_2} ${VRF} # go top by default
189 ip -netns ${NS1} route add ${IPv4_6}/32 dev veth5 ${VRF}
190 ip -netns ${NS1} route add ${IPv4_7}/32 dev veth5 via ${IPv4_6} ${VRF}
191 ip -netns ${NS1} route add ${IPv4_8}/32 dev veth5 via ${IPv4_6} ${VRF}
192 ip -netns ${NS1} -6 route add ${IPv6_6}/128 dev veth5 ${VRF}
193 ip -netns ${NS1} -6 route add ${IPv6_7}/128 dev veth5 via ${IPv6_6} ${VRF}
194 ip -netns ${NS1} -6 route add ${IPv6_8}/128 dev veth5 via ${IPv6_6} ${VRF}
198 ip -netns ${NS2} route add ${IPv4_1}/32 dev veth2 ${VRF}
199 ip -netns ${NS2} route add ${IPv4_4}/32 dev veth3 ${VRF}
200 ip -netns ${NS2} -6 route add ${IPv6_1}/128 dev veth2 ${VRF}
201 ip -netns ${NS2} -6 route add ${IPv6_4}/128 dev veth3 ${VRF}
203 ip -netns ${NS2} route add ${IPv4_5}/32 dev veth6 ${VRF}
204 ip -netns ${NS2} route add ${IPv4_8}/32 dev veth7 ${VRF}
205 ip -netns ${NS2} -6 route add ${IPv6_5}/128 dev veth6 ${VRF}
206 ip -netns ${NS2} -6 route add ${IPv6_8}/128 dev veth7 ${VRF}
210 ip -netns ${NS3} route add ${IPv4_3}/32 dev veth4
211 ip -netns ${NS3} route add ${IPv4_1}/32 dev veth4 via ${IPv4_3}
212 ip -netns ${NS3} route add ${IPv4_2}/32 dev veth4 via ${IPv4_3}
213 ip -netns ${NS3} -6 route add ${IPv6_3}/128 dev veth4
214 ip -netns ${NS3} -6 route add ${IPv6_1}/128 dev veth4 via ${IPv6_3}
215 ip -netns ${NS3} -6 route add ${IPv6_2}/128 dev veth4 via ${IPv6_3}
217 ip -netns ${NS3} route add ${IPv4_7}/32 dev veth8
218 ip -netns ${NS3} route add ${IPv4_5}/32 dev veth8 via ${IPv4_7}
219 ip -netns ${NS3} route add ${IPv4_6}/32 dev veth8 via ${IPv4_7}
220 ip -netns ${NS3} -6 route add ${IPv6_7}/128 dev veth8
221 ip -netns ${NS3} -6 route add ${IPv6_5}/128 dev veth8 via ${IPv6_7}
222 ip -netns ${NS3} -6 route add ${IPv6_6}/128 dev veth8 via ${IPv6_7}
225 ip -netns ${NS3} tunnel add gre_dev mode gre remote ${IPv4_1} local ${IPv4_GRE} ttl 255
226 ip -netns ${NS3} link set gre_dev up
227 ip -netns ${NS3} addr add ${IPv4_GRE} dev gre_dev
228 ip -netns ${NS1} route add ${IPv4_GRE}/32 dev veth5 via ${IPv4_6} ${VRF}
229 ip -netns ${NS2} route add ${IPv4_GRE}/32 dev veth7 via ${IPv4_8} ${VRF}
233 ip -netns ${NS3} -6 tunnel add name gre6_dev mode ip6gre remote ${IPv6_1} local ${IPv6_GRE} ttl 255
234 ip -netns ${NS3} link set gre6_dev up
235 ip -netns ${NS3} -6 addr add ${IPv6_GRE} nodad dev gre6_dev
236 ip -netns ${NS1} -6 route add ${IPv6_GRE}/128 dev veth5 via ${IPv6_6} ${VRF}
237 ip -netns ${NS2} -6 route add ${IPv6_GRE}/128 dev veth7 via ${IPv6_8} ${VRF}
240 ip netns exec ${NS1} sysctl -wq net.ipv4.conf.all.rp_filter=0
241 ip netns exec ${NS2} sysctl -wq net.ipv4.conf.all.rp_filter=0
242 ip netns exec ${NS3} sysctl -wq net.ipv4.conf.all.rp_filter=0
256 ip netns del ${NS1} 2> /dev/null
257 ip netns del ${NS2} 2> /dev/null
258 ip netns del ${NS3} 2> /dev/null
265 ip -netns ${NS1} route del ${IPv4_GRE} dev veth5 ${VRF}
266 ip -netns ${NS2} route del ${IPv4_GRE} dev veth7 ${VRF}
267 ip -netns ${NS1} -6 route del ${IPv6_GRE}/128 dev veth5 ${VRF}
268 ip -netns ${NS2} -6 route del ${IPv6_GRE}/128 dev veth7 ${VRF}
273 ip -netns ${NS1} route add unreachable ${IPv4_GRE}/32 ${VRF}
274 ip -netns ${NS2} route add unreachable ${IPv4_GRE}/32 ${VRF}
275 ip -netns ${NS1} -6 route add unreachable ${IPv6_GRE}/128 ${VRF}
276 ip -netns ${NS2} -6 route add unreachable ${IPv6_GRE}/128 ${VRF}
286 ip netns exec ${NS1} ping -c 1 -W 1 -I veth1 ${IPv4_DST} 2>&1 > /dev/null
289 ip netns exec ${NS1} ping6 -c 1 -W 6 -I veth1 ${IPv6_DST} 2>&1 > /dev/null
320 ip netns exec ${NS3} bash -c \
324 ip netns exec ${NS3} bash -c \
334 ip netns exec ${NS1} bash -c \
357 ip -netns ${NS2} route del ${IPv4_DST}/32 dev veth3 ${VRF}
358 ip -netns ${NS2} -6 route del ${IPv6_DST}/128 dev veth3 ${VRF}
364 ip -netns ${NS1} route add ${IPv4_DST} encap bpf xmit obj \
366 ip -netns ${NS1} -6 route add ${IPv6_DST} encap bpf xmit obj \
369 ip -netns ${NS1} route add ${IPv4_DST} encap bpf xmit obj \
371 ip -netns ${NS1} -6 route add ${IPv6_DST} encap bpf xmit obj \
381 # source IP/device, which is easy to do with ping and hard with dd/nc.
415 ip -netns ${NS2} route del ${IPv4_DST}/32 dev veth3 ${VRF}
416 ip -netns ${NS2} -6 route del ${IPv6_DST}/128 dev veth3 ${VRF}
422 ip -netns ${NS2} route add ${IPv4_DST} encap bpf in obj \
424 ip -netns ${NS2} -6 route add ${IPv6_DST} encap bpf in obj \
427 ip -netns ${NS2} route add ${IPv4_DST} encap bpf in obj \
429 ip -netns ${NS2} -6 route add ${IPv6_DST} encap bpf in obj \