ovs

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OvnNbCtl    = "ovn-nbctl"
	OvnSbCtl    = "ovn-sbctl"
	MayExist    = "--may-exist"
	IfExists    = "--if-exists"
	Policy      = "--policy"
	PolicyDstIP = "dst-ip"
	PolicySrcIP = "src-ip"
)

Variables

View Source
var (
	ErrNoAddr   = errors.New("no address")
	ErrNotFound = errors.New("not found")
)

Functions

func CheckAlive added in v0.10.2

func CheckAlive() error

CheckAlive check if kube-ovn-controller can access ovn-nb from nbctl-daemon

func CleanDuplicatePort added in v0.9.0

func CleanDuplicatePort(ifaceID string)

Find and remove any existing OVS port with this iface-id. Pods can have multiple sandboxes if some are waiting for garbage collection, but only the latest one should have the iface-id set. See: https://github.com/ovn-org/ovn-kubernetes/pull/869

func CleanLostInterface

func CleanLostInterface()

CleanLostInterface will clean up related ovs port, interface and qos When reboot node, the ovs internal interface will be deleted.

func ClearPodBandwidth

func ClearPodBandwidth(podName, podNamespace string) error

ClearPodBandwidth remove qos related to this pod. Only used when remove pod.

func ExpandExcludeIPs added in v0.6.0

func ExpandExcludeIPs(excludeIPs []string, cidr string) []string

ExpandExcludeIPs parse ovn exclude_ips to ip slice

func PodNameToLocalnetName added in v1.2.0

func PodNameToLocalnetName(subnet string) string

func PodNameToPortName

func PodNameToPortName(pod, namespace string) string

PodNameToPortName return the ovn port name for a given pod

func SetPodBandwidth

func SetPodBandwidth(podName, podNamespace, ingress, egress string) error

SetPodBandwidth set ingress/egress qos for given pod

func SetPortTag added in v1.2.0

func SetPortTag(port, tag string) error

func StartOvnNbctlDaemon added in v0.6.0

func StartOvnNbctlDaemon(nbHost string, nbPort int) (string, error)

StartOvnNbctlDaemon start a daemon and set OVN_NB_DAEMON env

Types

type Client

type Client struct {
	OvnNbAddress           string
	OvnTimeout             int
	OvnSbAddress           string
	ClusterRouter          string
	ClusterTcpLoadBalancer string
	ClusterUdpLoadBalancer string
	NodeSwitch             string
	NodeSwitchCIDR         string
}

Client is the ovn client

func NewClient

func NewClient(ovnNbHost string, ovnNbPort int, ovnNbTimeout int, ovnSbHost string, ovnSbPort int, clusterRouter, clusterTcpLoadBalancer, clusterUdpLoadBalancer, nodeSwitch, nodeSwitchCIDR string) *Client

NewClient init an ovn client

func (Client) AddStaticRoute added in v0.9.1

func (c Client) AddStaticRoute(policy, cidr, nextHop, router string) error

AddStaticRoute add a static route rule in ovn

func (Client) CleanLogicalSwitchAcl

func (c Client) CleanLogicalSwitchAcl(ls string) error

CleanLogicalSwitchAcl clean acl of a switch

func (Client) CreateAddressSet added in v0.5.0

func (c Client) CreateAddressSet(asName string) error

func (Client) CreateEgressACL added in v0.5.0

func (c Client) CreateEgressACL(pgName, asEgressName, asExceptName, protocol string, npp []netv1.NetworkPolicyPort) error

func (Client) CreateIngressACL added in v0.5.0

func (c Client) CreateIngressACL(pgName, asIngressName, asExceptName, protocol string, npp []netv1.NetworkPolicyPort) error

func (Client) CreateLoadBalancer

func (c Client) CreateLoadBalancer(lb, protocol string) error

CreateLoadBalancer create loadbalancer in ovn

func (Client) CreateLoadBalancerRule

func (c Client) CreateLoadBalancerRule(lb, vip, ips, protocol string) error

CreateLoadBalancerRule create loadbalancer rul in ovn

func (Client) CreateLocalnetPort added in v1.2.0

func (c Client) CreateLocalnetPort(ls, port, providerName, vlanID string) error

func (Client) CreateLogicalRouter

func (c Client) CreateLogicalRouter(lr string) error

CreateLogicalRouter create logical router in ovn

func (Client) CreateLogicalSwitch

func (c Client) CreateLogicalSwitch(ls, protocol, subnet, gateway string, excludeIps []string, underlayGateway bool) error

CreateLogicalSwitch create logical switch in ovn, connect it to router and apply tcp/udp lb rules

func (Client) CreatePort

func (c Client) CreatePort(ls, port, ip, cidr, mac, tag string) error

CreatePort create logical switch port in ovn

func (Client) CreatePortGroup added in v0.5.0

func (c Client) CreatePortGroup(pgName, npNs, npName string) error

func (Client) DeleteACL added in v0.5.0

func (c Client) DeleteACL(pgName, direction string) error

func (Client) DeleteAddressSet added in v0.5.0

func (c Client) DeleteAddressSet(asName string) error

func (Client) DeleteChassis added in v1.1.0

func (c Client) DeleteChassis(node string) error

func (Client) DeleteLoadBalancerVip

func (c Client) DeleteLoadBalancerVip(vip, lb string) error

DeleteLoadBalancerVip delete a vip rule from loadbalancer

func (Client) DeleteLogicalSwitch

func (c Client) DeleteLogicalSwitch(ls string) error

DeleteLogicalSwitch delete logical switch and related router port

func (Client) DeletePort

func (c Client) DeletePort(port string) error

DeletePort delete logical switch port in ovn

func (Client) DeletePortGroup added in v0.5.0

func (c Client) DeletePortGroup(pgName string) error

func (Client) DeleteStaticRoute added in v0.9.1

func (c Client) DeleteStaticRoute(cidr, router string) error

DeleteStaticRoute delete a static route rule in ovn

func (Client) DeleteStaticRouteByNextHop added in v0.9.1

func (c Client) DeleteStaticRouteByNextHop(nextHop string) error

func (Client) FindLoadbalancer

func (c Client) FindLoadbalancer(lb string) (string, error)

FindLoadbalancer find ovn loadbalancer uuid by name

func (Client) GetLoadBalancerVips

func (c Client) GetLoadBalancerVips(lb string) (map[string]string, error)

GetLoadBalancerVips return vips of a loadbalancer

func (Client) GetLogicalSwitchExcludeIPS added in v0.6.0

func (c Client) GetLogicalSwitchExcludeIPS(logicalSwitch string) ([]string, error)

GetLogicalSwitchExcludeIPS get a logical switch exclude ips ovn-nbctl get logical_switch ovn-default other_config:exclude_ips => "10.17.0.1 10.17.0.2 10.17.0.3..10.17.0.5"

func (Client) GetLogicalSwitchPortAddress

func (c Client) GetLogicalSwitchPortAddress(port string) ([]string, error)

func (Client) GetLogicalSwitchPortByLogicalSwitch added in v0.9.0

func (c Client) GetLogicalSwitchPortByLogicalSwitch(logicalSwitch string) ([]string, error)

func (Client) GetLogicalSwitchPortDynamicAddress

func (c Client) GetLogicalSwitchPortDynamicAddress(port string) ([]string, error)

func (Client) GetPortAddr

func (c Client) GetPortAddr(port string) ([]string, error)

GetPortAddr return port [mac, ip]

func (Client) ListLogicalRouter

func (c Client) ListLogicalRouter() ([]string, error)

ListLogicalRouter list logical router names

func (Client) ListLogicalSwitch

func (c Client) ListLogicalSwitch() ([]string, error)

ListLogicalSwitch list logical switch names

func (Client) ListLogicalSwitchPort added in v0.9.0

func (c Client) ListLogicalSwitchPort() ([]string, error)

func (Client) ListPortGroup added in v0.9.0

func (c Client) ListPortGroup() ([]portGroup, error)

func (Client) ListStaticRoute added in v1.1.0

func (c Client) ListStaticRoute() ([]StaticRoute, error)

func (Client) LogicalSwitchExists added in v0.7.0

func (c Client) LogicalSwitchExists(logicalSwitch string) (bool, error)

func (Client) ResetLogicalSwitchAcl added in v0.8.0

func (c Client) ResetLogicalSwitchAcl(ls, protocol string) error

ResetLogicalSwitchAcl reset acl of a switch

func (Client) SetAddressesToAddressSet added in v0.5.0

func (c Client) SetAddressesToAddressSet(addresses []string, as string) error

func (Client) SetLogicalSwitchConfig added in v1.2.0

func (c Client) SetLogicalSwitchConfig(ls, protocol, subnet, gateway string, excludeIps []string) error

func (Client) SetLogicalSwitchExcludeIPS added in v0.6.0

func (c Client) SetLogicalSwitchExcludeIPS(logicalSwitch string, excludeIPS []string) error

SetLogicalSwitchExcludeIPS set a logical switch exclude ips ovn-nbctl set logical_switch ovn-default other_config:exclude_ips="10.17.0.2 10.17.0.1"

func (Client) SetPortsToPortGroup added in v0.5.0

func (c Client) SetPortsToPortGroup(portGroup string, portNames []string) error

func (Client) SetPrivateLogicalSwitch

func (c Client) SetPrivateLogicalSwitch(ls, protocol, cidr string, allow []string) error

SetPrivateLogicalSwitch will drop all ingress traffic except allow subnets

type StaticRoute added in v1.1.0

type StaticRoute struct {
	Policy  string
	CIDR    string
	NextHop string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL