Documentation ¶
Index ¶
- Constants
- func LeafCPInitAllVer(ctx context.Context, leaf *model.Node, bfrtclient *bfrtC.Client, ...)
- func ManagerInitAllVer(ctx context.Context, bfrtclient *bfrtC.Client)
- func NewAsicEndPoint(ifName string, leaves []*leafController, spines []*spineController, ...) *asicEndPoint
- func NewBareLeafController(ctrlID uint16, pipeID uint32, cfg *rootConfig, opts ...TopologyOption) *leafController
- func NewSpineController(ctrlID uint16, pipeID uint32, topoFp string, cfg *rootConfig) *spineController
- func NewSwitchManager(topoFp, cfgFp string, opts ...SwitchManagerOption) *switchManager
- func OnServerChangeAllVer(ctx context.Context, leaf *model.Node, updated []*model.Node, ...)
- func ReadConfigFile(configName string, configPaths ...string) *rootConfig
- func SpineCPInitAllVer(ctx context.Context, bfrtclient *bfrtC.Client, spine *model.Node, ...)
- func SpineCPOnLeafChangeAllVer(ctx context.Context, bfrtclient *bfrtC.Client, spine *model.Node, ...)
- type BfrtLeafCP_V1
- type BfrtLeafCP_V2
- type BfrtManagerCP_V1
- type BfrtManagerCP_V2
- type BfrtSpineCP_V1
- type BfrtSpineCP_V2
- type BfrtUpdateFn
- type FakeLeafCP
- type FakeManagerCP
- type FakeSpineCP
- type LeafBus
- type LeafBusChan
- type LeafCP
- type ManagerCP
- type SpineBus
- type SpineBusChan
- type SpineCP
- type StatsObject
- type SwitchManagerOption
- type TopologyOption
Constants ¶
View Source
const INVALID_VAL_16bit uint64 = (0x7FFF)
Variables ¶
This section is empty.
Functions ¶
func LeafCPInitAllVer ¶
func NewAsicEndPoint ¶
func NewBareLeafController ¶
func NewBareLeafController(ctrlID uint16, pipeID uint32, cfg *rootConfig, opts ...TopologyOption) *leafController
func NewSpineController ¶
func NewSwitchManager ¶
func NewSwitchManager(topoFp, cfgFp string, opts ...SwitchManagerOption) *switchManager
func OnServerChangeAllVer ¶
func ReadConfigFile ¶
func SpineCPInitAllVer ¶
Types ¶
type BfrtLeafCP_V1 ¶
func NewBfrtLeafCP_V1 ¶
func (*BfrtLeafCP_V1) Cleanup ¶
func (cp *BfrtLeafCP_V1) Cleanup(leafID uint16)
* Parham: This function is only needed when multiple leaves are *emulated* using one switch. * The failed switch state should be cleaned up and same memory location is reused by the next added leaf. * Cleanup() Resets the linkeage state and aggregate queue len state of the *failed* leaf.
func (*BfrtLeafCP_V1) Init ¶
func (cp *BfrtLeafCP_V1) Init()
func (*BfrtLeafCP_V1) OnServerChange ¶
func (cp *BfrtLeafCP_V1) OnServerChange(updated []*model.Node, added bool)
type BfrtLeafCP_V2 ¶
func NewBfrtLeafCP_V2 ¶
func (*BfrtLeafCP_V2) Cleanup ¶
func (cp *BfrtLeafCP_V2) Cleanup(leafID uint16)
func (*BfrtLeafCP_V2) Init ¶
func (cp *BfrtLeafCP_V2) Init()
func (*BfrtLeafCP_V2) OnServerChange ¶
func (cp *BfrtLeafCP_V2) OnServerChange(updated []*model.Node, added bool)
type BfrtManagerCP_V1 ¶
type BfrtManagerCP_V1 struct {
// contains filtered or unexported fields
}
func NewBfrtManagerCP_V1 ¶
func NewBfrtManagerCP_V1(client *bfrtC.Client) *BfrtManagerCP_V1
func (*BfrtManagerCP_V1) DumpFinalStats ¶
func (cp *BfrtManagerCP_V1) DumpFinalStats(_ context.Context)
func (*BfrtManagerCP_V1) Init ¶
func (cp *BfrtManagerCP_V1) Init()
func (*BfrtManagerCP_V1) InitRandomAdjustTables ¶
func (cp *BfrtManagerCP_V1) InitRandomAdjustTables()
func (*BfrtManagerCP_V1) MonitorStats ¶
func (cp *BfrtManagerCP_V1) MonitorStats(ctx context.Context)
type BfrtManagerCP_V2 ¶
type BfrtManagerCP_V2 struct {
// contains filtered or unexported fields
}
func NewBfrtManagerCP_V2 ¶
func NewBfrtManagerCP_V2(client *bfrtC.Client) *BfrtManagerCP_V2
func (*BfrtManagerCP_V2) DumpFinalStats ¶
func (cp *BfrtManagerCP_V2) DumpFinalStats(context.Context)
func (*BfrtManagerCP_V2) Init ¶
func (cp *BfrtManagerCP_V2) Init()
func (*BfrtManagerCP_V2) InitRandomAdjustTables ¶
func (cp *BfrtManagerCP_V2) InitRandomAdjustTables()
func (*BfrtManagerCP_V2) MonitorStats ¶
func (cp *BfrtManagerCP_V2) MonitorStats(context.Context)
type BfrtSpineCP_V1 ¶
func NewBfrtSpineCP_V1 ¶
func (*BfrtSpineCP_V1) Init ¶
func (cp *BfrtSpineCP_V1) Init()
func (*BfrtSpineCP_V1) InitRandomAdjustTables ¶
func (cp *BfrtSpineCP_V1) InitRandomAdjustTables()
func (*BfrtSpineCP_V1) MonitorStats ¶
func (cp *BfrtSpineCP_V1) MonitorStats()
func (*BfrtSpineCP_V1) OnLeafChange ¶
func (cp *BfrtSpineCP_V1) OnLeafChange(leafID uint64, index uint64, added bool)
type BfrtSpineCP_V2 ¶
func NewBfrtSpineCP_V2 ¶
func (*BfrtSpineCP_V2) Init ¶
func (cp *BfrtSpineCP_V2) Init()
func (*BfrtSpineCP_V2) InitRandomAdjustTables ¶
func (cp *BfrtSpineCP_V2) InitRandomAdjustTables()
func (*BfrtSpineCP_V2) MonitorStats ¶
func (cp *BfrtSpineCP_V2) MonitorStats()
func (*BfrtSpineCP_V2) OnLeafChange ¶
func (cp *BfrtSpineCP_V2) OnLeafChange(leafID uint64, index uint64, added bool)
type BfrtUpdateFn ¶
type BfrtUpdateFn func(context.Context, *pb.TableEntry) error
type FakeLeafCP ¶
func NewFakeLeafCP ¶
func NewFakeLeafCP(leaf *model.Node, spines []_SpineConfig, topology *model.Topology) *FakeLeafCP
func (*FakeLeafCP) Cleanup ¶
func (cp *FakeLeafCP) Cleanup(leafID uint16)
func (*FakeLeafCP) Init ¶
func (cp *FakeLeafCP) Init()
func (*FakeLeafCP) OnServerChange ¶
func (cp *FakeLeafCP) OnServerChange([]*model.Node, bool)
type FakeManagerCP ¶
type FakeManagerCP struct { }
func NewFakeManagerCP ¶
func NewFakeManagerCP() *FakeManagerCP
func (*FakeManagerCP) DumpFinalStats ¶
func (cp *FakeManagerCP) DumpFinalStats(context.Context)
func (*FakeManagerCP) Init ¶
func (cp *FakeManagerCP) Init()
func (*FakeManagerCP) InitRandomAdjustTables ¶
func (cp *FakeManagerCP) InitRandomAdjustTables()
func (*FakeManagerCP) MonitorStats ¶
func (cp *FakeManagerCP) MonitorStats(context.Context)
type FakeSpineCP ¶
func NewFakeSpineCP ¶
func NewFakeSpineCP(spine *model.Node, topology *model.Topology) *FakeSpineCP
func (*FakeSpineCP) Init ¶
func (cp *FakeSpineCP) Init()
func (*FakeSpineCP) InitRandomAdjustTables ¶
func (cp *FakeSpineCP) InitRandomAdjustTables()
func (*FakeSpineCP) MonitorStats ¶
func (cp *FakeSpineCP) MonitorStats()
func (*FakeSpineCP) OnLeafChange ¶
func (cp *FakeSpineCP) OnLeafChange(uint64, uint64, bool)
type LeafBus ¶
type LeafBus struct { *LeafBusChan DoneChan chan bool // contains filtered or unexported fields }
LeafBus ...
func NewBareLeafBus ¶
func NewBareLeafBus(ctrlID uint16, busChan *LeafBusChan, cp LeafCP) *LeafBus
NewLeafBus ...
func (*LeafBus) SetHealthManager ¶
func (e *LeafBus) SetHealthManager(healthMgr *core.LeafHealthManager)
func (*LeafBus) SetTopology ¶
func (*LeafBus) SetVCManager ¶
type LeafBusChan ¶
type LeafBusChan struct {
// contains filtered or unexported fields
}
LeafBusChan ...
func NewLeafBusChan ¶
func NewLeafBusChan(hmIngressActiveNode chan *core.LeafHealthMsg, updatedServersRPC chan *core.LeafHealthMsg, newServersRPC chan *horus_net.ServerAddedMessage, newVCsRPC chan *horus_net.VCUpdatedMessage, asicIngress chan []byte, asicEgress chan []byte) *LeafBusChan
NewLeafBusChan ...
type SpineBus ¶
type SpineBus struct { *SpineBusChan // contains filtered or unexported fields }
SpineBus ...
func NewSpineBus ¶
func NewSpineBus(ctrlID uint16, busChan *SpineBusChan, topology *model.Topology, vcm *core.VCManager, healthMgr *core.LeafHealthManager, cp SpineCP) *SpineBus
NewSpineBus ...
type SpineBusChan ¶
type SpineBusChan struct {
// contains filtered or unexported fields
}
SpineBusChan ...
func NewSpineBusChan ¶
func NewSpineBusChan(hmIngressActiveNode chan *core.LeafHealthMsg, rpcFailedLeaves chan *horus_net.LeafFailedMessage, rpcFailedServers chan *horus_net.ServerFailedMessage, newLeaves chan *horus_net.LeafAddedMessage, newServers chan *horus_net.ServerAddedMessage, newVCs chan *horus_net.VCUpdatedMessage, asicIngress chan []byte, asicEgress chan []byte) *SpineBusChan
NewSpineBusChan ...
type StatsObject ¶
type SwitchManagerOption ¶
type SwitchManagerOption func(*switchManager)
type TopologyOption ¶
func WithExtraLeaf ¶
func WithExtraLeaf(leafInfo *horus_pb.LeafInfo) TopologyOption
func WithoutLeaves ¶
func WithoutLeaves() TopologyOption
Click to show internal directories.
Click to hide internal directories.