@@ -19,6 +19,7 @@ import (
19
19
"fmt"
20
20
"net"
21
21
"strings"
22
+ "time"
22
23
23
24
. "github.com/onsi/ginkgo/v2"
24
25
. "github.com/onsi/gomega"
@@ -207,6 +208,18 @@ var _ = Describe("vrf plugin", func() {
207
208
// Add IP addresses for network reachability
208
209
netlink .AddrAdd (link , & netlink.Addr {IPNet : ipv4 })
209
210
netlink .AddrAdd (link , & netlink.Addr {IPNet : ipv6 })
211
+ // Wait for the corresponding route to be addeded
212
+ Eventually (func () bool {
213
+ ipv6RouteDst := & net.IPNet {
214
+ IP : ipv6 .IP ,
215
+ Mask : net.IPMask {0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff },
216
+ }
217
+ routes , _ := netlink .RouteListFiltered (netlink .FAMILY_ALL , & netlink.Route {
218
+ Dst : ipv6RouteDst ,
219
+ Table : 0 ,
220
+ }, netlink .RT_FILTER_DST | netlink .RT_FILTER_TABLE )
221
+ return err == nil && len (routes ) >= 1
222
+ }, time .Second , 500 * time .Millisecond ).Should (BeTrue ())
210
223
211
224
ipAddrs , err := netlink .AddrList (link , netlink .FAMILY_V4 )
212
225
Expect (err ).NotTo (HaveOccurred ())
@@ -304,6 +317,18 @@ var _ = Describe("vrf plugin", func() {
304
317
// Add IP addresses for network reachability
305
318
netlink .AddrAdd (link , & netlink.Addr {IPNet : ipv4 })
306
319
netlink .AddrAdd (link , & netlink.Addr {IPNet : ipv6 })
320
+ // Wait for the corresponding route to be addeded
321
+ Eventually (func () bool {
322
+ ipv6RouteDst := & net.IPNet {
323
+ IP : ipv6 .IP ,
324
+ Mask : net.IPMask {0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff },
325
+ }
326
+ routes , _ := netlink .RouteListFiltered (netlink .FAMILY_ALL , & netlink.Route {
327
+ Dst : ipv6RouteDst ,
328
+ Table : 0 ,
329
+ }, netlink .RT_FILTER_DST | netlink .RT_FILTER_TABLE )
330
+ return err == nil && len (routes ) >= 1
331
+ }, time .Second , 500 * time .Millisecond ).Should (BeTrue ())
307
332
308
333
ipAddrs , err := netlink .AddrList (link , netlink .FAMILY_V4 )
309
334
Expect (err ).NotTo (HaveOccurred ())
@@ -362,6 +387,18 @@ var _ = Describe("vrf plugin", func() {
362
387
// Add IP addresses for network reachability
363
388
netlink .AddrAdd (link , & netlink.Addr {IPNet : ipv4 })
364
389
netlink .AddrAdd (link , & netlink.Addr {IPNet : ipv6 })
390
+ // Wait for the corresponding route to be addeded
391
+ Eventually (func () bool {
392
+ ipv6RouteDst := & net.IPNet {
393
+ IP : ipv6 .IP ,
394
+ Mask : net.IPMask {0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff , 0xff },
395
+ }
396
+ routes , _ := netlink .RouteListFiltered (netlink .FAMILY_ALL , & netlink.Route {
397
+ Dst : ipv6RouteDst ,
398
+ Table : 0 ,
399
+ }, netlink .RT_FILTER_DST | netlink .RT_FILTER_TABLE )
400
+ return err == nil && len (routes ) >= 1
401
+ }, time .Second , 500 * time .Millisecond ).Should (BeTrue ())
365
402
366
403
ipAddrs , err := netlink .AddrList (link , netlink .FAMILY_V4 )
367
404
Expect (err ).NotTo (HaveOccurred ())
0 commit comments