ovsmodel

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const AutoAttachTable = "AutoAttach"
View Source
const BridgeTable = "Bridge"
View Source
const CTTimeoutPolicyTable = "CT_Timeout_Policy"
View Source
const CTZoneTable = "CT_Zone"
View Source
const ControllerTable = "Controller"
View Source
const DatapathTable = "Datapath"
View Source
const FlowSampleCollectorSetTable = "Flow_Sample_Collector_Set"
View Source
const FlowTableTable = "Flow_Table"
View Source
const IPFIXTable = "IPFIX"
View Source
const InterfaceTable = "Interface"
View Source
const ManagerTable = "Manager"
View Source
const MirrorTable = "Mirror"
View Source
const NetFlowTable = "NetFlow"
View Source
const OpenvSwitchTable = "Open_vSwitch"
View Source
const PortTable = "Port"
View Source
const QoSTable = "QoS"
View Source
const QueueTable = "Queue"
View Source
const SFlowTable = "sFlow"
View Source
const SSLTable = "SSL"

Variables

View Source
var (
	BridgeFailModeStandalone  BridgeFailMode  = "standalone"
	BridgeFailModeSecure      BridgeFailMode  = "secure"
	BridgeProtocolsOpenflow10 BridgeProtocols = "OpenFlow10"
	BridgeProtocolsOpenflow11 BridgeProtocols = "OpenFlow11"
	BridgeProtocolsOpenflow12 BridgeProtocols = "OpenFlow12"
	BridgeProtocolsOpenflow13 BridgeProtocols = "OpenFlow13"
	BridgeProtocolsOpenflow14 BridgeProtocols = "OpenFlow14"
	BridgeProtocolsOpenflow15 BridgeProtocols = "OpenFlow15"
)
View Source
var (
	ControllerConnectionModeInBand    ControllerConnectionMode = "in-band"
	ControllerConnectionModeOutOfBand ControllerConnectionMode = "out-of-band"
	ControllerRoleOther               ControllerRole           = "other"
	ControllerRoleMaster              ControllerRole           = "master"
	ControllerRoleSlave               ControllerRole           = "slave"
	ControllerTypePrimary             ControllerType           = "primary"
	ControllerTypeService             ControllerType           = "service"
)
View Source
var (
	InterfaceAdminStateUp         InterfaceAdminState       = "up"
	InterfaceAdminStateDown       InterfaceAdminState       = "down"
	InterfaceCFMRemoteOpstateUp   InterfaceCFMRemoteOpstate = "up"
	InterfaceCFMRemoteOpstateDown InterfaceCFMRemoteOpstate = "down"
	InterfaceDuplexHalf           InterfaceDuplex           = "half"
	InterfaceDuplexFull           InterfaceDuplex           = "full"
	InterfaceLinkStateUp          InterfaceLinkState        = "up"
	InterfaceLinkStateDown        InterfaceLinkState        = "down"
)
View Source
var (
	PortBondModeBalanceTCP     PortBondMode = "balance-tcp"
	PortBondModeBalanceSLB     PortBondMode = "balance-slb"
	PortBondModeActiveBackup   PortBondMode = "active-backup"
	PortLACPActive             PortLACP     = "active"
	PortLACPPassive            PortLACP     = "passive"
	PortLACPOff                PortLACP     = "off"
	PortVLANModeTrunk          PortVLANMode = "trunk"
	PortVLANModeAccess         PortVLANMode = "access"
	PortVLANModeNativeTagged   PortVLANMode = "native-tagged"
	PortVLANModeNativeUntagged PortVLANMode = "native-untagged"
	PortVLANModeDot1qTunnel    PortVLANMode = "dot1q-tunnel"
)

Functions

func FullDatabaseModel

func FullDatabaseModel() (model.ClientDBModel, error)

FullDatabaseModel returns the DatabaseModel object to be used in libovsdb

func Schema

func Schema() ovsdb.DatabaseSchema

Types

type AutoAttach

type AutoAttach struct {
	UUID              string      `ovsdb:"_uuid"`
	Mappings          map[int]int `ovsdb:"mappings"`
	SystemDescription string      `ovsdb:"system_description"`
	SystemName        string      `ovsdb:"system_name"`
}

AutoAttach defines an object in AutoAttach table

type Bridge

type Bridge struct {
	UUID                string            `ovsdb:"_uuid"`
	AutoAttach          *string           `ovsdb:"auto_attach"`
	Controller          []string          `ovsdb:"controller"`
	DatapathID          *string           `ovsdb:"datapath_id"`
	DatapathType        string            `ovsdb:"datapath_type"`
	DatapathVersion     string            `ovsdb:"datapath_version"`
	ExternalIDs         map[string]string `ovsdb:"external_ids"`
	FailMode            *BridgeFailMode   `ovsdb:"fail_mode"`
	FloodVLANs          []int             `ovsdb:"flood_vlans"`
	FlowTables          map[int]string    `ovsdb:"flow_tables"`
	IPFIX               *string           `ovsdb:"ipfix"`
	McastSnoopingEnable bool              `ovsdb:"mcast_snooping_enable"`
	Mirrors             []string          `ovsdb:"mirrors"`
	Name                string            `ovsdb:"name"`
	Netflow             *string           `ovsdb:"netflow"`
	OtherConfig         map[string]string `ovsdb:"other_config"`
	Ports               []string          `ovsdb:"ports"`
	Protocols           []BridgeProtocols `ovsdb:"protocols"`
	RSTPEnable          bool              `ovsdb:"rstp_enable"`
	RSTPStatus          map[string]string `ovsdb:"rstp_status"`
	Sflow               *string           `ovsdb:"sflow"`
	Status              map[string]string `ovsdb:"status"`
	STPEnable           bool              `ovsdb:"stp_enable"`
}

Bridge defines an object in Bridge table

type BridgeFailMode

type BridgeFailMode = string

type BridgeProtocols

type BridgeProtocols = string

type CTTimeoutPolicy

type CTTimeoutPolicy struct {
	UUID        string            `ovsdb:"_uuid"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	Timeouts    map[string]int    `ovsdb:"timeouts"`
}

CTTimeoutPolicy defines an object in CT_Timeout_Policy table

type CTTimeoutPolicyTimeouts

type CTTimeoutPolicyTimeouts = string
var (
	CTTimeoutPolicyTimeoutsTCPSynSent     CTTimeoutPolicyTimeouts = "tcp_syn_sent"
	CTTimeoutPolicyTimeoutsTCPSynRecv     CTTimeoutPolicyTimeouts = "tcp_syn_recv"
	CTTimeoutPolicyTimeoutsTCPEstablished CTTimeoutPolicyTimeouts = "tcp_established"
	CTTimeoutPolicyTimeoutsTCPFinWait     CTTimeoutPolicyTimeouts = "tcp_fin_wait"
	CTTimeoutPolicyTimeoutsTCPCloseWait   CTTimeoutPolicyTimeouts = "tcp_close_wait"
	CTTimeoutPolicyTimeoutsTCPLastAck     CTTimeoutPolicyTimeouts = "tcp_last_ack"
	CTTimeoutPolicyTimeoutsTCPTimeWait    CTTimeoutPolicyTimeouts = "tcp_time_wait"
	CTTimeoutPolicyTimeoutsTCPClose       CTTimeoutPolicyTimeouts = "tcp_close"
	CTTimeoutPolicyTimeoutsTCPSynSent2    CTTimeoutPolicyTimeouts = "tcp_syn_sent2"
	CTTimeoutPolicyTimeoutsTCPRetransmit  CTTimeoutPolicyTimeouts = "tcp_retransmit"
	CTTimeoutPolicyTimeoutsTCPUnack       CTTimeoutPolicyTimeouts = "tcp_unack"
	CTTimeoutPolicyTimeoutsUDPFirst       CTTimeoutPolicyTimeouts = "udp_first"
	CTTimeoutPolicyTimeoutsUDPSingle      CTTimeoutPolicyTimeouts = "udp_single"
	CTTimeoutPolicyTimeoutsUDPMultiple    CTTimeoutPolicyTimeouts = "udp_multiple"
	CTTimeoutPolicyTimeoutsICMPFirst      CTTimeoutPolicyTimeouts = "icmp_first"
	CTTimeoutPolicyTimeoutsICMPReply      CTTimeoutPolicyTimeouts = "icmp_reply"
)

type CTZone

type CTZone struct {
	UUID          string            `ovsdb:"_uuid"`
	ExternalIDs   map[string]string `ovsdb:"external_ids"`
	TimeoutPolicy *string           `ovsdb:"timeout_policy"`
}

CTZone defines an object in CT_Zone table

type Controller

type Controller struct {
	UUID                 string                    `ovsdb:"_uuid"`
	ConnectionMode       *ControllerConnectionMode `ovsdb:"connection_mode"`
	ControllerBurstLimit *int                      `ovsdb:"controller_burst_limit"`
	ControllerQueueSize  *int                      `ovsdb:"controller_queue_size"`
	ControllerRateLimit  *int                      `ovsdb:"controller_rate_limit"`
	EnableAsyncMessages  *bool                     `ovsdb:"enable_async_messages"`
	ExternalIDs          map[string]string         `ovsdb:"external_ids"`
	InactivityProbe      *int                      `ovsdb:"inactivity_probe"`
	IsConnected          bool                      `ovsdb:"is_connected"`
	LocalGateway         *string                   `ovsdb:"local_gateway"`
	LocalIP              *string                   `ovsdb:"local_ip"`
	LocalNetmask         *string                   `ovsdb:"local_netmask"`
	MaxBackoff           *int                      `ovsdb:"max_backoff"`
	OtherConfig          map[string]string         `ovsdb:"other_config"`
	Role                 *ControllerRole           `ovsdb:"role"`
	Status               map[string]string         `ovsdb:"status"`
	Target               string                    `ovsdb:"target"`
	Type                 *ControllerType           `ovsdb:"type"`
}

Controller defines an object in Controller table

type ControllerConnectionMode

type ControllerConnectionMode = string

type ControllerRole

type ControllerRole = string

type ControllerType

type ControllerType = string

type Datapath

type Datapath struct {
	UUID            string            `ovsdb:"_uuid"`
	Capabilities    map[string]string `ovsdb:"capabilities"`
	CTZones         map[int]string    `ovsdb:"ct_zones"`
	DatapathVersion string            `ovsdb:"datapath_version"`
	ExternalIDs     map[string]string `ovsdb:"external_ids"`
}

Datapath defines an object in Datapath table

type FlowSampleCollectorSet

type FlowSampleCollectorSet struct {
	UUID        string            `ovsdb:"_uuid"`
	Bridge      string            `ovsdb:"bridge"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	ID          int               `ovsdb:"id"`
	IPFIX       *string           `ovsdb:"ipfix"`
}

FlowSampleCollectorSet defines an object in Flow_Sample_Collector_Set table

type FlowTable

type FlowTable struct {
	UUID           string                   `ovsdb:"_uuid"`
	ExternalIDs    map[string]string        `ovsdb:"external_ids"`
	FlowLimit      *int                     `ovsdb:"flow_limit"`
	Groups         []string                 `ovsdb:"groups"`
	Name           *string                  `ovsdb:"name"`
	OverflowPolicy *FlowTableOverflowPolicy `ovsdb:"overflow_policy"`
	Prefixes       []string                 `ovsdb:"prefixes"`
}

FlowTable defines an object in Flow_Table table

type FlowTableOverflowPolicy

type FlowTableOverflowPolicy = string
var (
	FlowTableOverflowPolicyRefuse FlowTableOverflowPolicy = "refuse"
	FlowTableOverflowPolicyEvict  FlowTableOverflowPolicy = "evict"
)

type IPFIX

type IPFIX struct {
	UUID               string            `ovsdb:"_uuid"`
	CacheActiveTimeout *int              `ovsdb:"cache_active_timeout"`
	CacheMaxFlows      *int              `ovsdb:"cache_max_flows"`
	ExternalIDs        map[string]string `ovsdb:"external_ids"`
	ObsDomainID        *int              `ovsdb:"obs_domain_id"`
	ObsPointID         *int              `ovsdb:"obs_point_id"`
	OtherConfig        map[string]string `ovsdb:"other_config"`
	Sampling           *int              `ovsdb:"sampling"`
	Targets            []string          `ovsdb:"targets"`
}

IPFIX defines an object in IPFIX table

type Interface

type Interface struct {
	UUID                 string                     `ovsdb:"_uuid"`
	AdminState           *InterfaceAdminState       `ovsdb:"admin_state"`
	BFD                  map[string]string          `ovsdb:"bfd"`
	BFDStatus            map[string]string          `ovsdb:"bfd_status"`
	CFMFault             *bool                      `ovsdb:"cfm_fault"`
	CFMFaultStatus       []string                   `ovsdb:"cfm_fault_status"`
	CFMFlapCount         *int                       `ovsdb:"cfm_flap_count"`
	CFMHealth            *int                       `ovsdb:"cfm_health"`
	CFMMpid              *int                       `ovsdb:"cfm_mpid"`
	CFMRemoteMpids       []int                      `ovsdb:"cfm_remote_mpids"`
	CFMRemoteOpstate     *InterfaceCFMRemoteOpstate `ovsdb:"cfm_remote_opstate"`
	Duplex               *InterfaceDuplex           `ovsdb:"duplex"`
	Error                *string                    `ovsdb:"error"`
	ExternalIDs          map[string]string          `ovsdb:"external_ids"`
	Ifindex              *int                       `ovsdb:"ifindex"`
	IngressPolicingBurst int                        `ovsdb:"ingress_policing_burst"`
	IngressPolicingRate  int                        `ovsdb:"ingress_policing_rate"`
	LACPCurrent          *bool                      `ovsdb:"lacp_current"`
	LinkResets           *int                       `ovsdb:"link_resets"`
	LinkSpeed            *int                       `ovsdb:"link_speed"`
	LinkState            *InterfaceLinkState        `ovsdb:"link_state"`
	LLDP                 map[string]string          `ovsdb:"lldp"`
	MAC                  *string                    `ovsdb:"mac"`
	MACInUse             *string                    `ovsdb:"mac_in_use"`
	MTU                  *int                       `ovsdb:"mtu"`
	MTURequest           *int                       `ovsdb:"mtu_request"`
	Name                 string                     `ovsdb:"name"`
	Ofport               *int                       `ovsdb:"ofport"`
	OfportRequest        *int                       `ovsdb:"ofport_request"`
	Options              map[string]string          `ovsdb:"options"`
	OtherConfig          map[string]string          `ovsdb:"other_config"`
	Statistics           map[string]int             `ovsdb:"statistics"`
	Status               map[string]string          `ovsdb:"status"`
	Type                 string                     `ovsdb:"type"`
}

Interface defines an object in Interface table

type InterfaceAdminState

type InterfaceAdminState = string

type InterfaceCFMRemoteOpstate

type InterfaceCFMRemoteOpstate = string

type InterfaceDuplex

type InterfaceDuplex = string

type InterfaceLinkState

type InterfaceLinkState = string

type Manager

type Manager struct {
	UUID            string                 `ovsdb:"_uuid"`
	ConnectionMode  *ManagerConnectionMode `ovsdb:"connection_mode"`
	ExternalIDs     map[string]string      `ovsdb:"external_ids"`
	InactivityProbe *int                   `ovsdb:"inactivity_probe"`
	IsConnected     bool                   `ovsdb:"is_connected"`
	MaxBackoff      *int                   `ovsdb:"max_backoff"`
	OtherConfig     map[string]string      `ovsdb:"other_config"`
	Status          map[string]string      `ovsdb:"status"`
	Target          string                 `ovsdb:"target"`
}

Manager defines an object in Manager table

type ManagerConnectionMode

type ManagerConnectionMode = string
var (
	ManagerConnectionModeInBand    ManagerConnectionMode = "in-band"
	ManagerConnectionModeOutOfBand ManagerConnectionMode = "out-of-band"
)

type Mirror

type Mirror struct {
	UUID          string            `ovsdb:"_uuid"`
	ExternalIDs   map[string]string `ovsdb:"external_ids"`
	Name          string            `ovsdb:"name"`
	OutputPort    *string           `ovsdb:"output_port"`
	OutputVLAN    *int              `ovsdb:"output_vlan"`
	SelectAll     bool              `ovsdb:"select_all"`
	SelectDstPort []string          `ovsdb:"select_dst_port"`
	SelectSrcPort []string          `ovsdb:"select_src_port"`
	SelectVLAN    []int             `ovsdb:"select_vlan"`
	Snaplen       *int              `ovsdb:"snaplen"`
	Statistics    map[string]int    `ovsdb:"statistics"`
}

Mirror defines an object in Mirror table

type NetFlow

type NetFlow struct {
	UUID             string            `ovsdb:"_uuid"`
	ActiveTimeout    int               `ovsdb:"active_timeout"`
	AddIDToInterface bool              `ovsdb:"add_id_to_interface"`
	EngineID         *int              `ovsdb:"engine_id"`
	EngineType       *int              `ovsdb:"engine_type"`
	ExternalIDs      map[string]string `ovsdb:"external_ids"`
	Targets          []string          `ovsdb:"targets"`
}

NetFlow defines an object in NetFlow table

type OpenvSwitch

type OpenvSwitch struct {
	UUID            string            `ovsdb:"_uuid"`
	Bridges         []string          `ovsdb:"bridges"`
	CurCfg          int               `ovsdb:"cur_cfg"`
	DatapathTypes   []string          `ovsdb:"datapath_types"`
	Datapaths       map[string]string `ovsdb:"datapaths"`
	DbVersion       *string           `ovsdb:"db_version"`
	DpdkInitialized bool              `ovsdb:"dpdk_initialized"`
	DpdkVersion     *string           `ovsdb:"dpdk_version"`
	ExternalIDs     map[string]string `ovsdb:"external_ids"`
	IfaceTypes      []string          `ovsdb:"iface_types"`
	ManagerOptions  []string          `ovsdb:"manager_options"`
	NextCfg         int               `ovsdb:"next_cfg"`
	OtherConfig     map[string]string `ovsdb:"other_config"`
	OVSVersion      *string           `ovsdb:"ovs_version"`
	SSL             *string           `ovsdb:"ssl"`
	Statistics      map[string]string `ovsdb:"statistics"`
	SystemType      *string           `ovsdb:"system_type"`
	SystemVersion   *string           `ovsdb:"system_version"`
}

OpenvSwitch defines an object in Open_vSwitch table

type Port

type Port struct {
	UUID            string            `ovsdb:"_uuid"`
	BondActiveSlave *string           `ovsdb:"bond_active_slave"`
	BondDowndelay   int               `ovsdb:"bond_downdelay"`
	BondFakeIface   bool              `ovsdb:"bond_fake_iface"`
	BondMode        *PortBondMode     `ovsdb:"bond_mode"`
	BondUpdelay     int               `ovsdb:"bond_updelay"`
	CVLANs          []int             `ovsdb:"cvlans"`
	ExternalIDs     map[string]string `ovsdb:"external_ids"`
	FakeBridge      bool              `ovsdb:"fake_bridge"`
	Interfaces      []string          `ovsdb:"interfaces"`
	LACP            *PortLACP         `ovsdb:"lacp"`
	MAC             *string           `ovsdb:"mac"`
	Name            string            `ovsdb:"name"`
	OtherConfig     map[string]string `ovsdb:"other_config"`
	Protected       bool              `ovsdb:"protected"`
	QOS             *string           `ovsdb:"qos"`
	RSTPStatistics  map[string]int    `ovsdb:"rstp_statistics"`
	RSTPStatus      map[string]string `ovsdb:"rstp_status"`
	Statistics      map[string]int    `ovsdb:"statistics"`
	Status          map[string]string `ovsdb:"status"`
	Tag             *int              `ovsdb:"tag"`
	Trunks          []int             `ovsdb:"trunks"`
	VLANMode        *PortVLANMode     `ovsdb:"vlan_mode"`
}

Port defines an object in Port table

type PortBondMode

type PortBondMode = string

type PortLACP

type PortLACP = string

type PortVLANMode

type PortVLANMode = string

type QoS

type QoS struct {
	UUID        string            `ovsdb:"_uuid"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	OtherConfig map[string]string `ovsdb:"other_config"`
	Queues      map[int]string    `ovsdb:"queues"`
	Type        string            `ovsdb:"type"`
}

QoS defines an object in QoS table

type Queue

type Queue struct {
	UUID        string            `ovsdb:"_uuid"`
	DSCP        *int              `ovsdb:"dscp"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	OtherConfig map[string]string `ovsdb:"other_config"`
}

Queue defines an object in Queue table

type SFlow

type SFlow struct {
	UUID        string            `ovsdb:"_uuid"`
	Agent       *string           `ovsdb:"agent"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	Header      *int              `ovsdb:"header"`
	Polling     *int              `ovsdb:"polling"`
	Sampling    *int              `ovsdb:"sampling"`
	Targets     []string          `ovsdb:"targets"`
}

SFlow defines an object in sFlow table

type SSL

type SSL struct {
	UUID            string            `ovsdb:"_uuid"`
	BootstrapCaCert bool              `ovsdb:"bootstrap_ca_cert"`
	CaCert          string            `ovsdb:"ca_cert"`
	Certificate     string            `ovsdb:"certificate"`
	ExternalIDs     map[string]string `ovsdb:"external_ids"`
	PrivateKey      string            `ovsdb:"private_key"`
}

SSL defines an object in SSL table

Jump to

Keyboard shortcuts

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