@@ -467,8 +467,8 @@ ipv6_fdb_grp_fcnal()
467
467
log_test $? 0 " Get Fdb nexthop group by id"
468
468
469
469
# fdb nexthop group can only contain fdb nexthops
470
- run_cmd " $IP nexthop add id 63 via 2001:db8:91::4"
471
- run_cmd " $IP nexthop add id 64 via 2001:db8:91::5"
470
+ run_cmd " $IP nexthop add id 63 via 2001:db8:91::4 dev veth1 "
471
+ run_cmd " $IP nexthop add id 64 via 2001:db8:91::5 dev veth1 "
472
472
run_cmd " $IP nexthop add id 103 group 63/64 fdb"
473
473
log_test $? 2 " Fdb Nexthop group with non-fdb nexthops"
474
474
@@ -494,6 +494,26 @@ ipv6_fdb_grp_fcnal()
494
494
run_cmd " $IP nexthop add id 69 encap mpls 101 via 2001:db8:91::8 dev veth1 fdb"
495
495
log_test $? 2 " Fdb Nexthop with encap"
496
496
497
+ # Replace FDB nexthop to non-FDB and vice versa
498
+ run_cmd " $IP nexthop add id 70 via 2001:db8:91::2 fdb"
499
+ run_cmd " $IP nexthop replace id 70 via 2001:db8:91::2 dev veth1"
500
+ log_test $? 0 " Replace FDB nexthop to non-FDB nexthop"
501
+ run_cmd " $IP nexthop replace id 70 via 2001:db8:91::2 fdb"
502
+ log_test $? 0 " Replace non-FDB nexthop to FDB nexthop"
503
+
504
+ # Replace FDB nexthop address while in a group
505
+ run_cmd " $IP nexthop add id 71 group 70 fdb"
506
+ run_cmd " $IP nexthop replace id 70 via 2001:db8:91::3 fdb"
507
+ log_test $? 0 " Replace FDB nexthop address while in a group"
508
+
509
+ # Cannot replace FDB nexthop to non-FDB and vice versa while in a group
510
+ run_cmd " $IP nexthop replace id 70 via 2001:db8:91::2 dev veth1"
511
+ log_test $? 2 " Replace FDB nexthop to non-FDB nexthop while in a group"
512
+ run_cmd " $IP nexthop add id 72 via 2001:db8:91::2 dev veth1"
513
+ run_cmd " $IP nexthop add id 73 group 72"
514
+ run_cmd " $IP nexthop replace id 72 via 2001:db8:91::2 fdb"
515
+ log_test $? 2 " Replace non-FDB nexthop to FDB nexthop while in a group"
516
+
497
517
run_cmd " $IP link add name vx10 type vxlan id 1010 local 2001:db8:91::9 remote 2001:db8:91::10 dstport 4789 nolearning noudpcsum tos inherit ttl 100"
498
518
run_cmd " $BRIDGE fdb add 02:02:00:00:00:13 dev vx10 nhid 102 self"
499
519
log_test $? 0 " Fdb mac add with nexthop group"
@@ -547,15 +567,15 @@ ipv4_fdb_grp_fcnal()
547
567
log_test $? 0 " Get Fdb nexthop group by id"
548
568
549
569
# fdb nexthop group can only contain fdb nexthops
550
- run_cmd " $IP nexthop add id 14 via 172.16.1.2"
551
- run_cmd " $IP nexthop add id 15 via 172.16.1.3"
570
+ run_cmd " $IP nexthop add id 14 via 172.16.1.2 dev veth1 "
571
+ run_cmd " $IP nexthop add id 15 via 172.16.1.3 dev veth1 "
552
572
run_cmd " $IP nexthop add id 103 group 14/15 fdb"
553
573
log_test $? 2 " Fdb Nexthop group with non-fdb nexthops"
554
574
555
575
# Non fdb nexthop group can not contain fdb nexthops
556
576
run_cmd " $IP nexthop add id 16 via 172.16.1.2 fdb"
557
577
run_cmd " $IP nexthop add id 17 via 172.16.1.3 fdb"
558
- run_cmd " $IP nexthop add id 104 group 14/15 "
578
+ run_cmd " $IP nexthop add id 104 group 16/17 "
559
579
log_test $? 2 " Non-Fdb Nexthop group with fdb nexthops"
560
580
561
581
# fdb nexthop cannot have blackhole
@@ -574,6 +594,26 @@ ipv4_fdb_grp_fcnal()
574
594
run_cmd " $IP nexthop add id 17 encap mpls 101 via 172.16.1.2 dev veth1 fdb"
575
595
log_test $? 2 " Fdb Nexthop with encap"
576
596
597
+ # Replace FDB nexthop to non-FDB and vice versa
598
+ run_cmd " $IP nexthop add id 18 via 172.16.1.2 fdb"
599
+ run_cmd " $IP nexthop replace id 18 via 172.16.1.2 dev veth1"
600
+ log_test $? 0 " Replace FDB nexthop to non-FDB nexthop"
601
+ run_cmd " $IP nexthop replace id 18 via 172.16.1.2 fdb"
602
+ log_test $? 0 " Replace non-FDB nexthop to FDB nexthop"
603
+
604
+ # Replace FDB nexthop address while in a group
605
+ run_cmd " $IP nexthop add id 19 group 18 fdb"
606
+ run_cmd " $IP nexthop replace id 18 via 172.16.1.3 fdb"
607
+ log_test $? 0 " Replace FDB nexthop address while in a group"
608
+
609
+ # Cannot replace FDB nexthop to non-FDB and vice versa while in a group
610
+ run_cmd " $IP nexthop replace id 18 via 172.16.1.2 dev veth1"
611
+ log_test $? 2 " Replace FDB nexthop to non-FDB nexthop while in a group"
612
+ run_cmd " $IP nexthop add id 20 via 172.16.1.2 dev veth1"
613
+ run_cmd " $IP nexthop add id 21 group 20"
614
+ run_cmd " $IP nexthop replace id 20 via 172.16.1.2 fdb"
615
+ log_test $? 2 " Replace non-FDB nexthop to FDB nexthop while in a group"
616
+
577
617
run_cmd " $IP link add name vx10 type vxlan id 1010 local 10.0.0.1 remote 10.0.0.2 dstport 4789 nolearning noudpcsum tos inherit ttl 100"
578
618
run_cmd " $BRIDGE fdb add 02:02:00:00:00:13 dev vx10 nhid 102 self"
579
619
log_test $? 0 " Fdb mac add with nexthop group"
@@ -582,7 +622,7 @@ ipv4_fdb_grp_fcnal()
582
622
run_cmd " $BRIDGE fdb add 02:02:00:00:00:14 dev vx10 nhid 12 self"
583
623
log_test $? 255 " Fdb mac add with nexthop"
584
624
585
- run_cmd " $IP ro add 172.16.0.0/22 nhid 15 "
625
+ run_cmd " $IP ro add 172.16.0.0/22 nhid 16 "
586
626
log_test $? 2 " Route add with fdb nexthop"
587
627
588
628
run_cmd " $IP ro add 172.16.0.0/22 nhid 103"
0 commit comments