@@ -12,6 +12,10 @@ docker network rm test2 || true
1212
1313docker plugin install jacekkow/pyipam:latest || true
1414
15+
16+ # #########################
17+ # Test address assignment
18+
1519docker network create \
1620 --internal \
1721 --driver " ${PLUGIN} " \
5660docker network rm test1
5761
5862
63+ # #####################
64+ # Test routing config
65+
5966docker network create \
6067 --driver " ${PLUGIN} " \
6168 --ipam-driver jacekkow/pyipam:latest \
@@ -85,3 +92,104 @@ if ! echo "${ROUTES}" | grep 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff; then
8592fi
8693
8794docker network rm test2
95+
96+
97+ # #############
98+ # Test nogw=1
99+
100+ docker network create \
101+ --driver " ${PLUGIN} " \
102+ --opt nogw=1 \
103+ --ipam-driver jacekkow/pyipam:latest \
104+ --ipv6 \
105+ --subnet 192.168.255.0/24 \
106+ --subnet 2001:db8::/32 \
107+ test2
108+
109+ ROUTES=$( docker run --rm --network test2 \
110+ alpine \
111+ /sbin/ip route show
112+ )
113+ if echo " ${ROUTES} " | grep 192.168.255.254; then
114+ echo " ERROR: IPv4 route assigned with nogw=1"
115+ exit 1
116+ fi
117+
118+ ROUTES=$( docker run --rm --network test2 \
119+ alpine \
120+ /sbin/ip -6 route show
121+ )
122+ if echo " ${ROUTES} " | grep 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff; then
123+ echo " ERROR: IPv6 route assigned with nogw=1"
124+ exit 1
125+ fi
126+
127+ docker network rm test2
128+
129+
130+ # ##############
131+ # Test nogw4=1
132+
133+ docker network create \
134+ --driver " ${PLUGIN} " \
135+ --opt nogw4=1 \
136+ --ipam-driver jacekkow/pyipam:latest \
137+ --ipv6 \
138+ --subnet 192.168.255.0/24 \
139+ --subnet 2001:db8::/32 \
140+ --gateway 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff \
141+ test2
142+
143+ ROUTES=$( docker run --rm --network test2 \
144+ alpine \
145+ /sbin/ip route show
146+ )
147+ if echo " ${ROUTES} " | grep 192.168.255.254; then
148+ echo " ERROR: IPv4 route assigned with nogw4=1"
149+ exit 1
150+ fi
151+
152+ ROUTES=$( docker run --rm --network test2 \
153+ alpine \
154+ /sbin/ip -6 route show
155+ )
156+ if ! echo " ${ROUTES} " | grep 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff; then
157+ echo " ERROR: IPv6 route not assigned with nogw4=1"
158+ exit 1
159+ fi
160+
161+ docker network rm test2
162+
163+
164+ # ###############
165+ # Test nogw6=1
166+
167+ docker network create \
168+ --driver " ${PLUGIN} " \
169+ --opt nogw6=1 \
170+ --ipam-driver jacekkow/pyipam:latest \
171+ --ipv6 \
172+ --subnet 192.168.255.0/24 \
173+ --gateway 192.168.255.254 \
174+ --subnet 2001:db8::/32 \
175+ test2
176+
177+ ROUTES=$( docker run --rm --network test2 \
178+ alpine \
179+ /sbin/ip route show
180+ )
181+ if ! echo " ${ROUTES} " | grep 192.168.255.254; then
182+ echo " ERROR: IPv4 route not assigned with nogw6=1"
183+ exit 1
184+ fi
185+
186+ ROUTES=$( docker run --rm --network test2 \
187+ alpine \
188+ /sbin/ip -6 route show
189+ )
190+ if echo " ${ROUTES} " | grep 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff; then
191+ echo " ERROR: IPv6 route assigned with nogw6=1"
192+ exit 1
193+ fi
194+
195+ docker network rm test2
0 commit comments