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 AddressSetTable = "Address_Set"
View Source
const BFDTable = "BFD"
View Source
const ChassisPrivateTable = "Chassis_Private"
View Source
const ChassisTable = "Chassis"
View Source
const ConnectionTable = "Connection"
View Source
const ControllerEventTable = "Controller_Event"
View Source
const DHCPOptionsTable = "DHCP_Options"
View Source
const DHCPv6OptionsTable = "DHCPv6_Options"
View Source
const DNSTable = "DNS"
View Source
const DatapathBindingTable = "Datapath_Binding"
View Source
const EncapTable = "Encap"
View Source
const FDBTable = "FDB"
View Source
const GatewayChassisTable = "Gateway_Chassis"
View Source
const HAChassisGroupTable = "HA_Chassis_Group"
View Source
const HAChassisTable = "HA_Chassis"
View Source
const IGMPGroupTable = "IGMP_Group"
View Source
const IPMulticastTable = "IP_Multicast"
View Source
const LoadBalancerTable = "Load_Balancer"
View Source
const LogicalDPGroupTable = "Logical_DP_Group"
View Source
const LogicalFlowTable = "Logical_Flow"
View Source
const MACBindingTable = "MAC_Binding"
View Source
const MeterBandTable = "Meter_Band"
View Source
const MeterTable = "Meter"
View Source
const MulticastGroupTable = "Multicast_Group"
View Source
const PortBindingTable = "Port_Binding"
View Source
const PortGroupTable = "Port_Group"
View Source
const RBACPermissionTable = "RBAC_Permission"
View Source
const RBACRoleTable = "RBAC_Role"
View Source
const SBGlobalTable = "SB_Global"
View Source
const SSLTable = "SSL"
View Source
const ServiceMonitorTable = "Service_Monitor"

Variables

View Source
var (
	ServiceMonitorProtocolTCP   ServiceMonitorProtocol = "tcp"
	ServiceMonitorProtocolUDP   ServiceMonitorProtocol = "udp"
	ServiceMonitorStatusOnline  ServiceMonitorStatus   = "online"
	ServiceMonitorStatusOffline ServiceMonitorStatus   = "offline"
	ServiceMonitorStatusError   ServiceMonitorStatus   = "error"
)

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 AddressSet

type AddressSet struct {
	UUID      string   `ovsdb:"_uuid"`
	Addresses []string `ovsdb:"addresses"`
	Name      string   `ovsdb:"name"`
}

AddressSet defines an object in Address_Set table

type BFD

type BFD struct {
	UUID        string            `ovsdb:"_uuid"`
	DetectMult  int               `ovsdb:"detect_mult"`
	Disc        int               `ovsdb:"disc"`
	DstIP       string            `ovsdb:"dst_ip"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	LogicalPort string            `ovsdb:"logical_port"`
	MinRx       int               `ovsdb:"min_rx"`
	MinTx       int               `ovsdb:"min_tx"`
	Options     map[string]string `ovsdb:"options"`
	SrcPort     int               `ovsdb:"src_port"`
	Status      BFDStatus         `ovsdb:"status"`
}

BFD defines an object in BFD table

type BFDStatus

type BFDStatus = string
var (
	BFDStatusDown      BFDStatus = "down"
	BFDStatusInit      BFDStatus = "init"
	BFDStatusUp        BFDStatus = "up"
	BFDStatusAdminDown BFDStatus = "admin_down"
)

type Chassis

type Chassis struct {
	UUID                string            `ovsdb:"_uuid"`
	Encaps              []string          `ovsdb:"encaps"`
	ExternalIDs         map[string]string `ovsdb:"external_ids"`
	Hostname            string            `ovsdb:"hostname"`
	Name                string            `ovsdb:"name"`
	NbCfg               int               `ovsdb:"nb_cfg"`
	OtherConfig         map[string]string `ovsdb:"other_config"`
	TransportZones      []string          `ovsdb:"transport_zones"`
	VtepLogicalSwitches []string          `ovsdb:"vtep_logical_switches"`
}

Chassis defines an object in Chassis table

type ChassisPrivate

type ChassisPrivate struct {
	UUID           string            `ovsdb:"_uuid"`
	Chassis        *string           `ovsdb:"chassis"`
	ExternalIDs    map[string]string `ovsdb:"external_ids"`
	Name           string            `ovsdb:"name"`
	NbCfg          int               `ovsdb:"nb_cfg"`
	NbCfgTimestamp int               `ovsdb:"nb_cfg_timestamp"`
}

ChassisPrivate defines an object in Chassis_Private table

type Connection

type Connection struct {
	UUID            string            `ovsdb:"_uuid"`
	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"`
	ReadOnly        bool              `ovsdb:"read_only"`
	Role            string            `ovsdb:"role"`
	Status          map[string]string `ovsdb:"status"`
	Target          string            `ovsdb:"target"`
}

Connection defines an object in Connection table

type ControllerEvent

type ControllerEvent struct {
	UUID      string                   `ovsdb:"_uuid"`
	Chassis   *string                  `ovsdb:"chassis"`
	EventInfo map[string]string        `ovsdb:"event_info"`
	EventType ControllerEventEventType `ovsdb:"event_type"`
	SeqNum    int                      `ovsdb:"seq_num"`
}

ControllerEvent defines an object in Controller_Event table

type ControllerEventEventType

type ControllerEventEventType = string
var (
	ControllerEventEventTypeEmptyLbBackends ControllerEventEventType = "empty_lb_backends"
)

type DHCPOptions

type DHCPOptions struct {
	UUID string          `ovsdb:"_uuid"`
	Code int             `ovsdb:"code"`
	Name string          `ovsdb:"name"`
	Type DHCPOptionsType `ovsdb:"type"`
}

DHCPOptions defines an object in DHCP_Options table

type DHCPOptionsType

type DHCPOptionsType = string
var (
	DHCPOptionsTypeBool         DHCPOptionsType = "bool"
	DHCPOptionsTypeUint8        DHCPOptionsType = "uint8"
	DHCPOptionsTypeUint16       DHCPOptionsType = "uint16"
	DHCPOptionsTypeUint32       DHCPOptionsType = "uint32"
	DHCPOptionsTypeIpv4         DHCPOptionsType = "ipv4"
	DHCPOptionsTypeStaticRoutes DHCPOptionsType = "static_routes"
	DHCPOptionsTypeStr          DHCPOptionsType = "str"
	DHCPOptionsTypeHostID       DHCPOptionsType = "host_id"
	DHCPOptionsTypeDomains      DHCPOptionsType = "domains"
)

type DHCPv6Options

type DHCPv6Options struct {
	UUID string            `ovsdb:"_uuid"`
	Code int               `ovsdb:"code"`
	Name string            `ovsdb:"name"`
	Type DHCPv6OptionsType `ovsdb:"type"`
}

DHCPv6Options defines an object in DHCPv6_Options table

type DHCPv6OptionsType

type DHCPv6OptionsType = string
var (
	DHCPv6OptionsTypeIpv6 DHCPv6OptionsType = "ipv6"
	DHCPv6OptionsTypeStr  DHCPv6OptionsType = "str"
	DHCPv6OptionsTypeMAC  DHCPv6OptionsType = "mac"
)

type DNS

type DNS struct {
	UUID        string            `ovsdb:"_uuid"`
	Datapaths   []string          `ovsdb:"datapaths"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	Records     map[string]string `ovsdb:"records"`
}

DNS defines an object in DNS table

type DatapathBinding

type DatapathBinding struct {
	UUID          string            `ovsdb:"_uuid"`
	ExternalIDs   map[string]string `ovsdb:"external_ids"`
	LoadBalancers []string          `ovsdb:"load_balancers"`
	TunnelKey     int               `ovsdb:"tunnel_key"`
}

DatapathBinding defines an object in Datapath_Binding table

type Encap

type Encap struct {
	UUID        string            `ovsdb:"_uuid"`
	ChassisName string            `ovsdb:"chassis_name"`
	IP          string            `ovsdb:"ip"`
	Options     map[string]string `ovsdb:"options"`
	Type        EncapType         `ovsdb:"type"`
}

Encap defines an object in Encap table

type EncapType

type EncapType = string
var (
	EncapTypeGeneve EncapType = "geneve"
	EncapTypeSTT    EncapType = "stt"
	EncapTypeVxlan  EncapType = "vxlan"
)

type FDB

type FDB struct {
	UUID    string `ovsdb:"_uuid"`
	DpKey   int    `ovsdb:"dp_key"`
	MAC     string `ovsdb:"mac"`
	PortKey int    `ovsdb:"port_key"`
}

FDB defines an object in FDB table

type GatewayChassis

type GatewayChassis struct {
	UUID        string            `ovsdb:"_uuid"`
	Chassis     *string           `ovsdb:"chassis"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	Name        string            `ovsdb:"name"`
	Options     map[string]string `ovsdb:"options"`
	Priority    int               `ovsdb:"priority"`
}

GatewayChassis defines an object in Gateway_Chassis table

type HAChassis

type HAChassis struct {
	UUID        string            `ovsdb:"_uuid"`
	Chassis     *string           `ovsdb:"chassis"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	Priority    int               `ovsdb:"priority"`
}

HAChassis defines an object in HA_Chassis table

type HAChassisGroup

type HAChassisGroup struct {
	UUID        string            `ovsdb:"_uuid"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	HaChassis   []string          `ovsdb:"ha_chassis"`
	Name        string            `ovsdb:"name"`
	RefChassis  []string          `ovsdb:"ref_chassis"`
}

HAChassisGroup defines an object in HA_Chassis_Group table

type IGMPGroup

type IGMPGroup struct {
	UUID     string   `ovsdb:"_uuid"`
	Address  string   `ovsdb:"address"`
	Chassis  *string  `ovsdb:"chassis"`
	Datapath *string  `ovsdb:"datapath"`
	Ports    []string `ovsdb:"ports"`
}

IGMPGroup defines an object in IGMP_Group table

type IPMulticast

type IPMulticast struct {
	UUID          string `ovsdb:"_uuid"`
	Datapath      string `ovsdb:"datapath"`
	Enabled       *bool  `ovsdb:"enabled"`
	EthSrc        string `ovsdb:"eth_src"`
	IdleTimeout   *int   `ovsdb:"idle_timeout"`
	Ip4Src        string `ovsdb:"ip4_src"`
	Ip6Src        string `ovsdb:"ip6_src"`
	Querier       *bool  `ovsdb:"querier"`
	QueryInterval *int   `ovsdb:"query_interval"`
	QueryMaxResp  *int   `ovsdb:"query_max_resp"`
	SeqNo         int    `ovsdb:"seq_no"`
	TableSize     *int   `ovsdb:"table_size"`
}

IPMulticast defines an object in IP_Multicast table

type LoadBalancer

type LoadBalancer struct {
	UUID        string                `ovsdb:"_uuid"`
	Datapaths   []string              `ovsdb:"datapaths"`
	ExternalIDs map[string]string     `ovsdb:"external_ids"`
	Name        string                `ovsdb:"name"`
	Options     map[string]string     `ovsdb:"options"`
	Protocol    *LoadBalancerProtocol `ovsdb:"protocol"`
	Vips        map[string]string     `ovsdb:"vips"`
}

LoadBalancer defines an object in Load_Balancer table

type LoadBalancerProtocol

type LoadBalancerProtocol = string
var (
	LoadBalancerProtocolTCP  LoadBalancerProtocol = "tcp"
	LoadBalancerProtocolUDP  LoadBalancerProtocol = "udp"
	LoadBalancerProtocolSCTP LoadBalancerProtocol = "sctp"
)

type LogicalDPGroup

type LogicalDPGroup struct {
	UUID      string   `ovsdb:"_uuid"`
	Datapaths []string `ovsdb:"datapaths"`
}

LogicalDPGroup defines an object in Logical_DP_Group table

type LogicalFlow

type LogicalFlow struct {
	UUID            string              `ovsdb:"_uuid"`
	Actions         string              `ovsdb:"actions"`
	ControllerMeter *string             `ovsdb:"controller_meter"`
	ExternalIDs     map[string]string   `ovsdb:"external_ids"`
	LogicalDatapath *string             `ovsdb:"logical_datapath"`
	LogicalDpGroup  *string             `ovsdb:"logical_dp_group"`
	Match           string              `ovsdb:"match"`
	Pipeline        LogicalFlowPipeline `ovsdb:"pipeline"`
	Priority        int                 `ovsdb:"priority"`
	TableID         int                 `ovsdb:"table_id"`
	Tags            map[string]string   `ovsdb:"tags"`
}

LogicalFlow defines an object in Logical_Flow table

type LogicalFlowPipeline

type LogicalFlowPipeline = string
var (
	LogicalFlowPipelineIngress LogicalFlowPipeline = "ingress"
	LogicalFlowPipelineEgress  LogicalFlowPipeline = "egress"
)

type MACBinding

type MACBinding struct {
	UUID        string `ovsdb:"_uuid"`
	Datapath    string `ovsdb:"datapath"`
	IP          string `ovsdb:"ip"`
	LogicalPort string `ovsdb:"logical_port"`
	MAC         string `ovsdb:"mac"`
}

MACBinding defines an object in MAC_Binding table

type Meter

type Meter struct {
	UUID  string    `ovsdb:"_uuid"`
	Bands []string  `ovsdb:"bands"`
	Name  string    `ovsdb:"name"`
	Unit  MeterUnit `ovsdb:"unit"`
}

Meter defines an object in Meter table

type MeterBand

type MeterBand struct {
	UUID      string          `ovsdb:"_uuid"`
	Action    MeterBandAction `ovsdb:"action"`
	BurstSize int             `ovsdb:"burst_size"`
	Rate      int             `ovsdb:"rate"`
}

MeterBand defines an object in Meter_Band table

type MeterBandAction

type MeterBandAction = string
var (
	MeterBandActionDrop MeterBandAction = "drop"
)

type MeterUnit

type MeterUnit = string
var (
	MeterUnitKbps  MeterUnit = "kbps"
	MeterUnitPktps MeterUnit = "pktps"
)

type MulticastGroup

type MulticastGroup struct {
	UUID      string   `ovsdb:"_uuid"`
	Datapath  string   `ovsdb:"datapath"`
	Name      string   `ovsdb:"name"`
	Ports     []string `ovsdb:"ports"`
	TunnelKey int      `ovsdb:"tunnel_key"`
}

MulticastGroup defines an object in Multicast_Group table

type PortBinding

type PortBinding struct {
	UUID             string            `ovsdb:"_uuid"`
	Chassis          *string           `ovsdb:"chassis"`
	Datapath         string            `ovsdb:"datapath"`
	Encap            *string           `ovsdb:"encap"`
	ExternalIDs      map[string]string `ovsdb:"external_ids"`
	GatewayChassis   []string          `ovsdb:"gateway_chassis"`
	HaChassisGroup   *string           `ovsdb:"ha_chassis_group"`
	LogicalPort      string            `ovsdb:"logical_port"`
	MAC              []string          `ovsdb:"mac"`
	NatAddresses     []string          `ovsdb:"nat_addresses"`
	Options          map[string]string `ovsdb:"options"`
	ParentPort       *string           `ovsdb:"parent_port"`
	RequestedChassis *string           `ovsdb:"requested_chassis"`
	Tag              *int              `ovsdb:"tag"`
	TunnelKey        int               `ovsdb:"tunnel_key"`
	Type             string            `ovsdb:"type"`
	Up               *bool             `ovsdb:"up"`
	VirtualParent    *string           `ovsdb:"virtual_parent"`
}

PortBinding defines an object in Port_Binding table

type PortGroup

type PortGroup struct {
	UUID  string   `ovsdb:"_uuid"`
	Name  string   `ovsdb:"name"`
	Ports []string `ovsdb:"ports"`
}

PortGroup defines an object in Port_Group table

type RBACPermission

type RBACPermission struct {
	UUID          string   `ovsdb:"_uuid"`
	Authorization []string `ovsdb:"authorization"`
	InsertDelete  bool     `ovsdb:"insert_delete"`
	Table         string   `ovsdb:"table"`
	Update        []string `ovsdb:"update"`
}

RBACPermission defines an object in RBAC_Permission table

type RBACRole

type RBACRole struct {
	UUID        string            `ovsdb:"_uuid"`
	Name        string            `ovsdb:"name"`
	Permissions map[string]string `ovsdb:"permissions"`
}

RBACRole defines an object in RBAC_Role table

type SBGlobal

type SBGlobal struct {
	UUID        string            `ovsdb:"_uuid"`
	Connections []string          `ovsdb:"connections"`
	ExternalIDs map[string]string `ovsdb:"external_ids"`
	Ipsec       bool              `ovsdb:"ipsec"`
	NbCfg       int               `ovsdb:"nb_cfg"`
	Options     map[string]string `ovsdb:"options"`
	SSL         *string           `ovsdb:"ssl"`
}

SBGlobal defines an object in SB_Global 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"`
	SSLCiphers      string            `ovsdb:"ssl_ciphers"`
	SSLProtocols    string            `ovsdb:"ssl_protocols"`
}

SSL defines an object in SSL table

type ServiceMonitor

type ServiceMonitor struct {
	UUID        string                  `ovsdb:"_uuid"`
	ExternalIDs map[string]string       `ovsdb:"external_ids"`
	IP          string                  `ovsdb:"ip"`
	LogicalPort string                  `ovsdb:"logical_port"`
	Options     map[string]string       `ovsdb:"options"`
	Port        int                     `ovsdb:"port"`
	Protocol    *ServiceMonitorProtocol `ovsdb:"protocol"`
	SrcIP       string                  `ovsdb:"src_ip"`
	SrcMAC      string                  `ovsdb:"src_mac"`
	Status      *ServiceMonitorStatus   `ovsdb:"status"`
}

ServiceMonitor defines an object in Service_Monitor table

type ServiceMonitorProtocol

type ServiceMonitorProtocol = string

type ServiceMonitorStatus

type ServiceMonitorStatus = string

Jump to

Keyboard shortcuts

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