Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConfigDataplane ¶
ConfigDataplane configures the data-plane with the new configuration.
func DeriveHFMacKey ¶
DeriveHFMacKey derives the MAC key from the given key.
Types ¶
type Config ¶
type Config struct {
// Topo contains the names of all local infrastructure elements, a map
// of interface IDs to routers, and the actual topology.
Topo topology.Topology
// IA is the current ISD-AS.
IA addr.IA
// BR is the topology information of this router.
BR *topology.BRInfo
// MasterKeys holds the local AS master keys.
MasterKeys keyconf.Master
}
Config stores the runtime configuration state of an ISD-AS context.
func LoadConfig ¶
LoadConfig sets up the configuration, loading it from the supplied config directory.
type Dataplane ¶
type Dataplane interface {
CreateIACtx(ia addr.IA) error
AddInternalInterface(ia addr.IA, local net.UDPAddr) error
AddExternalInterface(localIfID common.IFIDType, info LinkInfo, owned bool) error
AddSvc(ia addr.IA, svc addr.HostSVC, ip net.IP) error
DelSvc(ia addr.IA, svc addr.HostSVC, ip net.IP) error
SetKey(ia addr.IA, index int, key common.RawBytes) error
SetRevocation(ia addr.IA, ifid common.IFIDType, rev common.RawBytes) error
DelRevocation(ia addr.IA, ifid common.IFIDType) error
}
Dataplane is the interface that a dataplane has to support to be controlled by this controller.
type IACtx ¶
type IACtx struct {
// Config is the router topology configuration
Config *Config
// DP is the underlying data plane.
DP Dataplane
// Discoverer is used to dynamically discover healthy service instances. If
// nil, service health watching is disabled.
Discoverer svchealth.Discoverer
// Stop channel, used for ISD-AS context cleanup
Stop chan struct{}
// contains filtered or unexported fields
}
IACtx is the context for the router for a given IA.
Click to show internal directories.
Click to hide internal directories.