diff options
-rw-r--r-- | server/zclient.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/server/zclient.go b/server/zclient.go index 2e2c0187..93cdac1b 100644 --- a/server/zclient.go +++ b/server/zclient.go @@ -506,7 +506,13 @@ func (z *zebraClient) loop() { } case *WatchEventUpdate: if body, isWithdraw := newNexthopRegisterBody(msg.PathList, z.nhtManager); body != nil { - z.client.SendNexthopRegister(0, body, isWithdraw) + vrfId := uint16(0) + for _, vrf := range z.server.GetVrf() { + if vrf.Name == msg.Neighbor.Config.Vrf { + vrfId = uint16(vrf.Id) + } + } + z.client.SendNexthopRegister(vrfId, body, isWithdraw) } } } |