Documentation ¶
Index ¶
- func ParseIPv6(str string) (net.IP, error)
- type NamedPolicySegment
- type NamedSteering
- type SRv6Configurator
- func (plugin *SRv6Configurator) AddLocalSID(value *srv6.LocalSID) error
- func (plugin *SRv6Configurator) AddPolicy(policy *srv6.Policy) error
- func (plugin *SRv6Configurator) AddPolicySegment(segmentName string, policySegment *srv6.PolicySegment) error
- func (plugin *SRv6Configurator) AddSteering(name string, steering *srv6.Steering) error
- func (plugin *SRv6Configurator) Close() error
- func (plugin *SRv6Configurator) DeleteLocalSID(value *srv6.LocalSID) error
- func (plugin *SRv6Configurator) Init() (err error)
- func (plugin *SRv6Configurator) ModifyLocalSID(value *srv6.LocalSID, prevValue *srv6.LocalSID) error
- func (plugin *SRv6Configurator) ModifyPolicy(value *srv6.Policy, prevValue *srv6.Policy) error
- func (plugin *SRv6Configurator) ModifyPolicySegment(segmentName string, value *srv6.PolicySegment, prevValue *srv6.PolicySegment) error
- func (plugin *SRv6Configurator) ModifySteering(name string, value *srv6.Steering, prevValue *srv6.Steering) error
- func (plugin *SRv6Configurator) RemovePolicy(policy *srv6.Policy) error
- func (plugin *SRv6Configurator) RemovePolicySegment(segmentName string, policySegment *srv6.PolicySegment) error
- func (plugin *SRv6Configurator) RemoveSteering(name string, steering *srv6.Steering) error
- func (plugin *SRv6Configurator) Resync(localSids []*srv6.LocalSID, policies []*srv6.Policy, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type NamedPolicySegment ¶
type NamedPolicySegment struct { Name string /* unique identifiable name */ Segment *srv6.PolicySegment }
TODO move unique identifiable name into srv6 models
type NamedSteering ¶
type SRv6Configurator ¶
type SRv6Configurator struct { // injectable/public fields Log logging.Logger GoVppmux govppmux.API SwIfIndexes ifaceidx.SwIfIndex // SwIfIndexes from default plugins VppCalls vppcalls.SRv6Calls // channels Channel govppapi.Channel // channel to communicate with VPP // contains filtered or unexported fields }
SRv6Configurator runs in the background where it watches for any changes in the configuration of interfaces as modelled by the proto file "../model/srv6/srv6.proto" and stored in ETCD under the key "/vnf-agent/{vnf-agent}/vpp/config/v1/srv6".
func (*SRv6Configurator) AddLocalSID ¶
func (plugin *SRv6Configurator) AddLocalSID(value *srv6.LocalSID) error
AddLocalSID adds new Local SID into VPP using VPP's binary api
func (*SRv6Configurator) AddPolicy ¶
func (plugin *SRv6Configurator) AddPolicy(policy *srv6.Policy) error
AddPolicy adds new policy into VPP using VPP's binary api
func (*SRv6Configurator) AddPolicySegment ¶
func (plugin *SRv6Configurator) AddPolicySegment(segmentName string, policySegment *srv6.PolicySegment) error
AddPolicySegment adds policy segment <policySegment> with name <segmentName> into referenced policy in VPP using VPP's binary api.
func (*SRv6Configurator) AddSteering ¶
func (plugin *SRv6Configurator) AddSteering(name string, steering *srv6.Steering) error
AddSteering adds new steering into VPP using VPP's binary api
func (*SRv6Configurator) Close ¶
func (plugin *SRv6Configurator) Close() error
Close closes GOVPP channel
func (*SRv6Configurator) DeleteLocalSID ¶
func (plugin *SRv6Configurator) DeleteLocalSID(value *srv6.LocalSID) error
DeleteLocalSID removes Local SID from VPP using VPP's binary api
func (*SRv6Configurator) ModifyLocalSID ¶
func (plugin *SRv6Configurator) ModifyLocalSID(value *srv6.LocalSID, prevValue *srv6.LocalSID) error
ModifyLocalSID modifies Local SID from <prevValue> to <value> in VPP using VPP's binary api
func (*SRv6Configurator) ModifyPolicy ¶
ModifyPolicy modifies policy in VPP using VPP's binary api
func (*SRv6Configurator) ModifyPolicySegment ¶
func (plugin *SRv6Configurator) ModifyPolicySegment(segmentName string, value *srv6.PolicySegment, prevValue *srv6.PolicySegment) error
ModifyPolicySegment modifies existing policy segment with name <segmentName> from <prevValue> to <value> in referenced policy.
func (*SRv6Configurator) ModifySteering ¶
func (plugin *SRv6Configurator) ModifySteering(name string, value *srv6.Steering, prevValue *srv6.Steering) error
ModifySteering modifies existing steering in VPP using VPP's binary api
func (*SRv6Configurator) RemovePolicy ¶
func (plugin *SRv6Configurator) RemovePolicy(policy *srv6.Policy) error
RemovePolicy removes policy from VPP using VPP's binary api
func (*SRv6Configurator) RemovePolicySegment ¶
func (plugin *SRv6Configurator) RemovePolicySegment(segmentName string, policySegment *srv6.PolicySegment) error
RemovePolicySegment removes policy segment <policySegment> with name <segmentName> from referenced policy in VPP using VPP's binary api. In case of last policy segment in policy, policy segment is not removed, because policy can't exists in VPP without policy segment. Instead it is postponed until policy removal or addition of another policy segment happen.
func (*SRv6Configurator) RemoveSteering ¶
func (plugin *SRv6Configurator) RemoveSteering(name string, steering *srv6.Steering) error
RemoveSteering removes steering from VPP using VPP's binary api
func (*SRv6Configurator) Resync ¶
func (plugin *SRv6Configurator) Resync(localSids []*srv6.LocalSID, policies []*srv6.Policy, namedSegments []*NamedPolicySegment, namedSteerings []*NamedSteering) error
Resync writes missing segment routing configs to the VPP and removes obsolete ones.
Directories ¶
Path | Synopsis |
---|---|
Package cache contains caches for certain modeled types.
|
Package cache contains caches for certain modeled types. |
Package vppcalls contains wrappers over VPP binary APIs to simplify their usage
|
Package vppcalls contains wrappers over VPP binary APIs to simplify their usage |