Documentation
¶
Index ¶
- func ParseAreaAddresses(areaAddressesStrs []*string) [][]byte
- func ParseSystemId(systemIdStr string) [packet.SYSTEM_ID_LENGTH]byte
- func Serve(path, format string, configCh chan *IsisConfig)
- type AddressFamily
- type AddressFamilyConfig
- type Authentication
- type AuthenticationConfig
- type AuthenticationLevel1
- type AuthenticationLevel2
- type AutoCost
- type AutoCostConfig
- type Bfd
- type BfdConfig
- type Config
- type DefaultMetric
- type DefaultMetricConfig
- type DefaultMetricLevel1
- type DefaultMetricLevel2
- type FastReroute
- type FastRerouteConfig
- type GracefulRestart
- type GracefulRestartConfig
- type HelloInterval
- type HelloIntervalConfig
- type HelloIntervalLevel1
- type HelloIntervalLevel2
- type HelloMultiplier
- type HelloMultiplierConfig
- type HelloMultiplierLevel1
- type HelloMultiplierLevel2
- type HelloPadding
- type HelloPaddingConfig
- type IetfSpfDelay
- type IetfSpfDelayConfig
- type Interface
- type InterfaceAddressFamily
- type InterfaceAddressFamilyConfig
- type InterfaceConfig
- type InterfaceFastReroute
- type InterfaceLdp
- type InterfaceLdpConfig
- type InterfaceMpls
- type InterfaceTopology
- type InterfaceTopologyConfig
- type IsisConfig
- type Ldp
- type LdpConfig
- type Lfa
- type LfaConfig
- type LfaLevel1
- type LfaLevel2
- type Metric
- type MetricConfig
- type MetricLevel1
- type MetricLevel2
- type MetricType
- type MetricTypeConfig
- type MetricTypeLevel1
- type MetricTypeLevel2
- type Mpls
- type NodeTag
- type NodeTagConfig
- type Nsr
- type NsrConfig
- type Overload
- type OverloadConfig
- type OverloadMaxMetric
- type OverloadMaxMetricConfig
- type Preference
- type PreferenceConfig
- type Priority
- type PriorityConfig
- type PriorityLevel1
- type PriorityLevel2
- type RemoteLfa
- type RemoteLfaConfig
- type SpfControl
- type SpfControlConfig
- type TeRid
- type TeRidConfig
- type Topology
- type TopologyConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseAreaAddresses ¶
func ParseSystemId ¶
func ParseSystemId(systemIdStr string) [packet.SYSTEM_ID_LENGTH]byte
func Serve ¶
func Serve(path, format string, configCh chan *IsisConfig)
Types ¶
type AddressFamily ¶
type AddressFamily struct {
Config AddressFamilyConfig `mapstructure:"config" json:"config,omitempty"`
}
type AddressFamilyConfig ¶
type Authentication ¶
type Authentication struct { Config AuthenticationConfig `mapstructure:"config" json:"config,omitempty"` Level1 AuthenticationLevel1 `mapstructure:"level-1"` Level2 AuthenticationLevel2 `mapstructure:"level-2"` }
type AuthenticationConfig ¶
type AuthenticationLevel1 ¶
type AuthenticationLevel1 struct {
Config AuthenticationConfig `mapstructure:"config" json:"config,omitempty"`
}
type AuthenticationLevel2 ¶
type AuthenticationLevel2 struct {
Config AuthenticationConfig `mapstructure:"config" json:"config,omitempty"`
}
type AutoCost ¶
type AutoCost struct {
Config AutoCostConfig `mapstructure:"config" json:"config,omitempty"`
}
type AutoCostConfig ¶
type BfdConfig ¶
type BfdConfig struct { Enable *bool `mapstructure:"enable"` LocalMultiplier *string `mapstructure:"local-multiplier"` DesiredMinTxInterval *uint32 `mapstructure:"desired-min-tx-interval"` RequiredMinRxInterval *uint32 `mapstructure:"required-min-rx-interval"` MinInterval *uint32 `mapstructure:"min-interval"` }
type Config ¶
type Config struct { Enable *bool `mapstructure:"enable"` LevelType *string `mapstructure:"level-type"` SystemId *string `mapstructure:"system-id"` MaximumAreaAddresses *uint8 `mapstructure:"maximum-area-addresses"` AreaAddress []*string `mapstructure:"area-address-list"` LspMtu *uint16 `mapstructure:"lsp-mtu"` LspLifetime *uint16 `mapstructure:"lsp-lifetime"` LspRefresh *uint16 `mapstructure:"lsp-refresh"` PoiTlv *bool `mapstructure:"poi-tlv"` }
type DefaultMetric ¶
type DefaultMetric struct { Config DefaultMetricConfig `mapstructure:"config" json:"config,omitempty"` Level1 DefaultMetricLevel1 `mapstructure:"level-1"` Level2 DefaultMetricLevel2 `mapstructure:"level-2"` }
type DefaultMetricConfig ¶
type DefaultMetricConfig struct {
Value *uint32 `mapstructure:"value"`
}
type DefaultMetricLevel1 ¶
type DefaultMetricLevel1 struct {
Config DefaultMetricConfig `mapstructure:"config" json:"config,omitempty"`
}
type DefaultMetricLevel2 ¶
type DefaultMetricLevel2 struct {
Config DefaultMetricConfig `mapstructure:"config" json:"config,omitempty"`
}
type FastReroute ¶
type FastReroute struct {
Config FastRerouteConfig `mapstructure:"config" json:"config,omitempty"`
}
type FastRerouteConfig ¶
type FastRerouteConfig struct { }
type GracefulRestart ¶
type GracefulRestart struct {
Config GracefulRestartConfig `mapstructure:"config" json:"config,omitempty"`
}
type GracefulRestartConfig ¶
type HelloInterval ¶
type HelloInterval struct { Config HelloIntervalConfig `mapstructure:"config" json:"config,omitempty"` Level1 HelloIntervalLevel1 `mapstructure:"level-1"` Level2 HelloIntervalLevel2 `mapstructure:"level-2"` }
type HelloIntervalConfig ¶
type HelloIntervalConfig struct {
Value *uint16 `mapstructure:"value"`
}
type HelloIntervalLevel1 ¶
type HelloIntervalLevel1 struct {
Config HelloIntervalConfig `mapstructure:"config" json:"config,omitempty"`
}
type HelloIntervalLevel2 ¶
type HelloIntervalLevel2 struct {
Config HelloIntervalConfig `mapstructure:"config" json:"config,omitempty"`
}
type HelloMultiplier ¶
type HelloMultiplier struct { Config HelloMultiplierConfig `mapstructure:"config" json:"config,omitempty"` Level1 HelloMultiplierLevel1 `mapstructure:"level-1"` Level2 HelloMultiplierLevel2 `mapstructure:"level-2"` }
type HelloMultiplierConfig ¶
type HelloMultiplierConfig struct {
Value *uint16 `mapstructure:"value"`
}
type HelloMultiplierLevel1 ¶
type HelloMultiplierLevel1 struct {
Config HelloMultiplierConfig `mapstructure:"config" json:"config,omitempty"`
}
type HelloMultiplierLevel2 ¶
type HelloMultiplierLevel2 struct {
Config HelloMultiplierConfig `mapstructure:"config" json:"config,omitempty"`
}
type HelloPadding ¶
type HelloPadding struct {
Config HelloPaddingConfig `mapstructure:"config" json:"config,omitempty"`
}
type HelloPaddingConfig ¶
type HelloPaddingConfig struct {
Enable *bool `mapstructure:"enable"`
}
type IetfSpfDelay ¶
type IetfSpfDelay struct {
Config IetfSpfDelayConfig `mapstructure:"config" json:"config,omitempty"`
}
type IetfSpfDelayConfig ¶
type Interface ¶
type Interface struct { Config InterfaceConfig `mapstructure:"config" json:"config,omitempty"` HelloPadding HelloPadding `mapstructure:"hello-padding"` HelloAuthentication Authentication `mapstructure:"hello-authentication"` HelloInterval HelloInterval `mapstructure:"hello-interval"` HelloMultiplier HelloMultiplier `mapstructure:"hello-multiplier"` Priority Priority `mapstructure:"priority"` Metric Metric `mapstructure:"metric"` Bfd Bfd `mapstructure:"bfd"` AddressFamilies []*InterfaceAddressFamily `mapstructure:"address-families"` Mpls InterfaceMpls `mapstructure:"mpls"` FastReroute InterfaceFastReroute `mapstructure:"fast-reroute"` Topologies []*InterfaceTopology `mapstructure:"topologies"` }
func (*Interface) InterfaceAddressFamiliesDefaults ¶
func (config *Interface) InterfaceAddressFamiliesDefaults(isisConfig *IsisConfig)
type InterfaceAddressFamily ¶
type InterfaceAddressFamily struct {
Config InterfaceAddressFamilyConfig `mapstructure:"config" json:"config,omitempty"`
}
type InterfaceAddressFamilyConfig ¶
type InterfaceAddressFamilyConfig struct {
AddressFamily *string `mapstructure:"address-family"`
}
type InterfaceConfig ¶
type InterfaceConfig struct { Name *string `mapstructure:"name"` LevelType *string `mapstructure:"level-type"` LspPacingInterval *uint32 `mapstructure:"lsp-pacing-interval"` LspRetransmitInterval *uint16 `mapstructure:"lsp-retransmit-interval"` Passive *bool `mapstructure:"passive"` CsnpInterval *uint16 `mapstructure:"csnp-interval"` MeshGroupEnable *string `mapstructure:"mesh-group-enable"` MeshGroup *uint8 `mapstructure:"mesh-group"` InterfaceType *string `mapstructure:"interface-type"` Enable *bool `mapstructure:"enable"` Tag []*uint32 `mapstructure:"tag-list"` Tag64 []*uint64 `mapstructure:"tag64-list"` NodeFlag *bool `mapstructure:"node-flag"` }
type InterfaceFastReroute ¶
type InterfaceFastReroute struct {
Lfa Lfa `mapstructure:"lfa"`
}
type InterfaceLdp ¶
type InterfaceLdp struct {
Config InterfaceLdpConfig `mapstructure:"config" json:"config,omitempty"`
}
type InterfaceLdpConfig ¶
type InterfaceLdpConfig struct {
IgpSync *bool `mapstructure:"igp-sync"`
}
type InterfaceMpls ¶
type InterfaceMpls struct {
InterfaceLdp InterfaceLdp `mapstructure:"ldp"`
}
type InterfaceTopology ¶
type InterfaceTopology struct { Config InterfaceTopologyConfig `mapstructure:"config" json:"config,omitempty"` Metric Metric `mapstructure:"metric"` }
type InterfaceTopologyConfig ¶
type InterfaceTopologyConfig struct {
Name *string `mapstructure:"name"`
}
type IsisConfig ¶
type IsisConfig struct { Config Config `mapstructure:"config" json:"config,omitempty"` GracefulRestart GracefulRestart `mapstructure:"graceful-restart"` Nsr Nsr `mapstructure:"nsr"` NodeTags []*NodeTag `mapstructure:"node-tags"` MetricType MetricType `mapstructure:"metric-type"` DefaultMetric DefaultMetric `mapstructure:"default-metric"` AutoCost AutoCost `mapstructure:"auto-cost"` Authentication Authentication `mapstructure:"authentication"` AddressFamilies []*AddressFamily `mapstructure:"address-families"` Mpls Mpls `mapstructure:"mpls"` SpfControl SpfControl `mapstructure:"spf-control"` FastReroute FastReroute `mapstructure:"fast-reroute"` Preference Preference `mapstructure:"preference"` Overload Overload `mapstructure:"overload"` OverloadMaxMetric OverloadMaxMetric `mapstructure:"overload-max-metric"` Topologies []*Topology `mapstructure:"topologies"` Interfaces []*Interface `mapstructure:"interfaces"` }
func NewIsisConfig ¶
func NewIsisConfig() *IsisConfig
func (*IsisConfig) AddressFamiliesDefaults ¶
func (config *IsisConfig) AddressFamiliesDefaults()
type Metric ¶
type Metric struct { Config MetricConfig `mapstructure:"config" json:"config,omitempty"` Level1 MetricLevel1 `mapstructure:"level-1"` Level2 MetricLevel2 `mapstructure:"level-2"` }
type MetricConfig ¶
type MetricConfig struct {
Value *uint32 `mapstructure:"value"`
}
type MetricLevel1 ¶
type MetricLevel1 struct {
Config MetricConfig `mapstructure:"config" json:"config,omitempty"`
}
type MetricLevel2 ¶
type MetricLevel2 struct {
Config MetricConfig `mapstructure:"config" json:"config,omitempty"`
}
type MetricType ¶
type MetricType struct { Config MetricTypeConfig `mapstructure:"config" json:"config,omitempty"` Level1 MetricTypeLevel1 `mapstructure:"level-1"` Level2 MetricTypeLevel2 `mapstructure:"level-2"` }
type MetricTypeConfig ¶
type MetricTypeConfig struct {
Value *string `mapstructure:"value"`
}
type MetricTypeLevel1 ¶
type MetricTypeLevel1 struct {
Config MetricTypeConfig `mapstructure:"config" json:"config,omitempty"`
}
type MetricTypeLevel2 ¶
type MetricTypeLevel2 struct {
Config MetricTypeConfig `mapstructure:"config" json:"config,omitempty"`
}
type NodeTag ¶
type NodeTag struct {
Config NodeTagConfig `mapstructure:"config" json:"config,omitempty"`
}
type NodeTagConfig ¶
type NodeTagConfig struct {
Tag *uint32 `mapstructure:"tag"`
}
type Overload ¶
type Overload struct {
Config OverloadConfig `mapstructure:"config" json:"config,omitempty"`
}
type OverloadConfig ¶
type OverloadConfig struct {
Status *bool `mapstructure:"status"`
}
type OverloadMaxMetric ¶
type OverloadMaxMetric struct {
Config OverloadMaxMetricConfig `mapstructure:"config" json:"config,omitempty"`
}
type OverloadMaxMetricConfig ¶
type OverloadMaxMetricConfig struct {
Timeout *uint16 `mapstructure:"timeout"`
}
type Preference ¶
type Preference struct {
Config PreferenceConfig `mapstructure:"config" json:"config,omitempty"`
}
type PreferenceConfig ¶
type Priority ¶
type Priority struct { Config PriorityConfig `mapstructure:"config" json:"config,omitempty"` Level1 PriorityLevel1 `mapstructure:"level-1"` Level2 PriorityLevel2 `mapstructure:"level-2"` }
type PriorityConfig ¶
type PriorityConfig struct {
Value *uint8 `mapstructure:"value"`
}
type PriorityLevel1 ¶
type PriorityLevel1 struct {
Config PriorityConfig `mapstructure:"config" json:"config,omitempty"`
}
type PriorityLevel2 ¶
type PriorityLevel2 struct {
Config PriorityConfig `mapstructure:"config" json:"config,omitempty"`
}
type RemoteLfa ¶
type RemoteLfa struct {
Config RemoteLfaConfig `mapstructure:"config" json:"config,omitempty"`
}
type RemoteLfaConfig ¶
type RemoteLfaConfig struct {
Enable *bool `mapstructure:"enable"`
}
type SpfControl ¶
type SpfControl struct { Config SpfControlConfig `mapstructure:"config" json:"config,omitempty"` IetfSpfDelay IetfSpfDelay `mapstructure:"ietf-spf-delay"` }
type SpfControlConfig ¶
type SpfControlConfig struct {
Paths *uint16 `mapstructure:"paths"`
}
type TeRid ¶
type TeRid struct {
Config TeRidConfig `mapstructure:"config" json:"config,omitempty"`
}
type TeRidConfig ¶
type Topology ¶
type Topology struct { Config TopologyConfig `mapstructure:"config" json:"config,omitempty"` DefaultMetric DefaultMetric `mapstructure:"default-metric"` NodeTags []*NodeTag `mapstructure:"node-tags"` }
type TopologyConfig ¶
Click to show internal directories.
Click to hide internal directories.