Documentation ¶
Index ¶
- func GetInterfaceNamePrefix() string
- func New(stream *nspAPI.Stream, targetRegistryClient nspAPI.TargetRegistryClient, ...) (types.Stream, error)
- func NewTarget(nspTarget *nspAPI.Target, netUtils networking.Utils, ...) (types.Target, error)
- func SetInterfaceNamePrefix(ns string)
- type Defrag
- type LoadBalancer
- func (lb *LoadBalancer) AddTarget(target types.Target) error
- func (lb *LoadBalancer) Delete() error
- func (lb *LoadBalancer) GetTargets() []types.Target
- func (lb *LoadBalancer) InterfaceCreated(intf networking.Iface)
- func (lb *LoadBalancer) InterfaceDeleted(intf networking.Iface)
- func (lb *LoadBalancer) RemoveTarget(identifier int) error
- func (lb *LoadBalancer) Start(ctx context.Context) error
- func (lb *LoadBalancer) TargetExists(identifier int) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New( stream *nspAPI.Stream, targetRegistryClient nspAPI.TargetRegistryClient, configurationManagerClient nspAPI.ConfigurationManagerClient, nfqueue int, netUtils networking.Utils, lbFactory types.NFQueueLoadBalancerFactory, identifierOffset int, targetHitsMetrics *targetMetrics.HitsMetrics, ) (types.Stream, error)
func NewTarget ¶
func NewTarget(nspTarget *nspAPI.Target, netUtils networking.Utils, targetHitsMetrics *targetMetrics.HitsMetrics, identifierOffset int) (types.Target, error)
func SetInterfaceNamePrefix ¶
func SetInterfaceNamePrefix(ns string)
SetInterfaceNamePrefix - Derives the NSM v1.2-rc1 (same as v1.1.1) interface name prefix based on the Network Service name of the NSE.
Note: By letting NSM name the NSE interface there's no need for a custom interfacename.NewServer chain component.
Types ¶
type Defrag ¶
type Defrag struct {
// contains filtered or unexported fields
}
func NewDefrag ¶
NewDefrag - -Load kernel's defragmentation via conntrack. Needed by Flow rules to match L4 information - applied on packets arriving from outside world. -Do not allow defragmentation of packets from the direction of targets. Thus outbound IPv4 packets can leave the LB reflecting their originating source's PMTU information. -Forbid conntrack to do "book-keeping" in order to not "litter" memory.
type LoadBalancer ¶
type LoadBalancer struct { *nspAPI.Stream TargetRegistryClient nspAPI.TargetRegistryClient ConfigurationManagerClient nspAPI.ConfigurationManagerClient IdentifierOffset int // contains filtered or unexported fields }
LoadBalancer -
func (*LoadBalancer) AddTarget ¶
func (lb *LoadBalancer) AddTarget(target types.Target) error
AddTarget -
func (*LoadBalancer) Delete ¶
func (lb *LoadBalancer) Delete() error
func (*LoadBalancer) GetTargets ¶
func (lb *LoadBalancer) GetTargets() []types.Target
func (*LoadBalancer) InterfaceCreated ¶ added in v0.4.0
func (lb *LoadBalancer) InterfaceCreated(intf networking.Iface)
InterfaceCreated - When a new NSM interface of interest appears trigger processPendingTargets() to attempt configuring pending Targets (missing route could have become available)
func (*LoadBalancer) InterfaceDeleted ¶ added in v0.4.0
func (lb *LoadBalancer) InterfaceDeleted(intf networking.Iface)
InterfaceDeleted - When a NSM interface of interest disappears trigger processPendingTargets() to verify if configured Targets still have working routes
func (*LoadBalancer) RemoveTarget ¶
func (lb *LoadBalancer) RemoveTarget(identifier int) error
RemoveTarget -
func (*LoadBalancer) TargetExists ¶
func (lb *LoadBalancer) TargetExists(identifier int) bool
TargetExists -