Skip to content

Commit e828b47

Browse files
author
Aritra Basu
committed
Add mFIB entry for Solicited-Node Multicast
Signed-off-by: Aritra Basu <[email protected]>
1 parent 4cb438b commit e828b47

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

vpp-manager/vpp_runner.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -366,11 +366,13 @@ func (v *VppRunner) setupIPv6MulticastForHostTap(vrfID uint32, tapSwIfIndex uint
366366
// IPv6 multicast groups that need to be forwarded from the Linux host
367367
multicastGroups := []struct {
368368
addr string
369+
prefix int // CIDR prefix length
369370
comment string
370371
}{
371-
{"ff02::1:2", "DHCPv6 All Relay Agents and Servers (REQUIRED for DHCPv6)"},
372-
{"ff02::1", "All Nodes (for NDP)"},
373-
{"ff02::2", "All Routers (for NDP/RA)"},
372+
{"ff02::1:2", 128, "DHCPv6 All Relay Agents and Servers (REQUIRED for DHCPv6)"},
373+
{"ff02::1", 128, "All Nodes (for NDP)"},
374+
{"ff02::2", 128, "All Routers (for NDP/RA)"},
375+
{"ff02::1:ff00:0", 104, "Solicited-Node Multicast (REQUIRED for NDP Neighbor Solicitation)"},
374376
}
375377

376378
for _, group := range multicastGroups {
@@ -382,7 +384,7 @@ func (v *VppRunner) setupIPv6MulticastForHostTap(vrfID uint32, tapSwIfIndex uint
382384

383385
groupNet := &net.IPNet{
384386
IP: groupIP,
385-
Mask: net.CIDRMask(128, 128), // /128 - specific group
387+
Mask: net.CIDRMask(group.prefix, 128),
386388
}
387389

388390
err := v.vpp.MRouteAddForHostMulticast(vrfID, groupNet, tapSwIfIndex, uplinkSwIfIndex)

0 commit comments

Comments
 (0)