Skip to content

Commit 61a1f44

Browse files
committed
Disable IPv6 RA from VPP for tunnel ip.
Signed-off-by: Ed Warnicke <[email protected]>
1 parent a575fe0 commit 61a1f44

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

internal/vppinit/vppinit.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import (
3131
interfaces "github.com/edwarnicke/govpp/binapi/interface"
3232
"github.com/edwarnicke/govpp/binapi/interface_types"
3333
"github.com/edwarnicke/govpp/binapi/ip"
34+
"github.com/edwarnicke/govpp/binapi/ip6_nd"
3435
"github.com/edwarnicke/govpp/binapi/ip_neighbor"
3536
"github.com/pkg/errors"
3637
"github.com/vishvananda/netlink"
@@ -92,6 +93,22 @@ func LinkToAfPacket(ctx context.Context, vppConn api.Connection, tunnelIP net.IP
9293
return nil, err
9394
}
9495

96+
now := time.Now()
97+
if tunnelIP.To4() == nil {
98+
ip6_nd.NewServiceClient(vppConn).IP6ndSendRouterSolicitation(ctx, &ip6_nd.IP6ndSendRouterSolicitation{
99+
SwIfIndex: swIfIndex,
100+
Stop: true,
101+
})
102+
if err != nil {
103+
return nil, err
104+
}
105+
log.FromContext(ctx).
106+
WithField("swIfIndex", swIfIndex).
107+
WithField("stop", true).
108+
WithField("duration", time.Since(now)).
109+
WithField("vppapi", "IP6ndSendRouterSolicitation").Debug("completed")
110+
}
111+
95112
if mtuErr := setMtu(ctx, vppConn, link, swIfIndex); err != nil {
96113
return nil, mtuErr
97114
}
@@ -100,7 +117,7 @@ func LinkToAfPacket(ctx context.Context, vppConn api.Connection, tunnelIP net.IP
100117
return nil, aclErr
101118
}
102119

103-
now := time.Now()
120+
now = time.Now()
104121
_, err = interfaces.NewServiceClient(vppConn).SwInterfaceSetFlags(ctx, &interfaces.SwInterfaceSetFlags{
105122
SwIfIndex: swIfIndex,
106123
Flags: interface_types.IF_STATUS_API_FLAG_ADMIN_UP,

0 commit comments

Comments
 (0)