Skip to content
Snippets Groups Projects
Commit 6ad74e74 authored by Daniel Czerwonk's avatar Daniel Czerwonk
Browse files

fsmAddressFamily now aware of add-path options per family

parent d6015a64
No related branches found
No related tags found
No related merge requests found
...@@ -29,6 +29,9 @@ type fsmAddressFamily struct { ...@@ -29,6 +29,9 @@ type fsmAddressFamily struct {
updateSender *UpdateSender updateSender *UpdateSender
addPathSend routingtable.ClientOptions
addPathRecv bool
initialized bool initialized bool
} }
...@@ -40,6 +43,8 @@ func newFSMAddressFamily(afi uint16, safi uint8, params *familyParameters, fsm * ...@@ -40,6 +43,8 @@ func newFSMAddressFamily(afi uint16, safi uint8, params *familyParameters, fsm *
rib: params.rib, rib: params.rib,
importFilter: params.importFilter, importFilter: params.importFilter,
exportFilter: params.exportFilter, exportFilter: params.exportFilter,
addPathRecv: params.addPathRecv,
addPathSend: params.addPathSend,
} }
} }
...@@ -51,17 +56,18 @@ func (f *fsmAddressFamily) init(n *routingtable.Neighbor) { ...@@ -51,17 +56,18 @@ func (f *fsmAddressFamily) init(n *routingtable.Neighbor) {
f.adjRIBIn.Register(f.rib) f.adjRIBIn.Register(f.rib)
f.adjRIBOut = adjRIBOut.New(n, f.exportFilter) f.adjRIBOut = adjRIBOut.New(n, f.exportFilter)
clientOptions := routingtable.ClientOptions{
BestOnly: true,
}
if f.fsm.options.AddPathRX {
clientOptions = f.fsm.peer.addPathSend
}
f.updateSender = newUpdateSender(f.fsm, f.afi, f.safi) f.updateSender = newUpdateSender(f.fsm, f.afi, f.safi)
f.updateSender.Start(time.Millisecond * 5) f.updateSender.Start(time.Millisecond * 5)
f.adjRIBOut.Register(f.updateSender) f.adjRIBOut.Register(f.updateSender)
clientOptions := routingtable.ClientOptions{
BestOnly: true,
}
if f.fsm.options.AddPathRX {
clientOptions = f.addPathSend
}
f.rib.RegisterWithOptions(f.adjRIBOut, clientOptions) f.rib.RegisterWithOptions(f.adjRIBOut, clientOptions)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment