vppnode

package
v0.0.0-...-2d08fe4 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const KeyPrefix = "allocatedIDs/"

KeyPrefix is a key prefix used in DB to store instances of VppNode, one for every node in the cluster.

View Source
const Keyword = "vppnode"

Keyword defines the keyword identifying VppNode data.

Variables

This section is empty.

Functions

func Key

func Key(id uint32) string

Key returns the key under which VppNode data for a node with the given ID should be stored in the data-store.

func ParseKey

func ParseKey(key string) (id uint32)

ParseKey parses node ID from key identifying VppNode data. Returns 0 if parsing fails (invalid node ID).

Types

type VppNode

type VppNode struct {
	Id                   uint32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	IpAddress            string   `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	IpAddresses          []string `protobuf:"bytes,5,rep,name=ip_addresses,json=ipAddresses,proto3" json:"ip_addresses,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

VppNode represents a node in the k8s cluster with container networking based on VPP vswitch. The key attribute is the integer attribute <id>, a cluster-wide unique identifier starting from 1 and re-using free entries, used primarily to dissect cluster IP ranges to obtain subnets suitable for address allocation for endpoints inside the given node. <name> is the node identifier as used by Kubernetes. <ip_addresses> is a list of IP addresses assigned to the node in the VPP network stack. As opposed to node management IP addresses, which are assigned to host interfaces, these IP addresses are not known to Kubernetes. For compatibility with older Contiv versions, <ip_address> should be appended to <ip_addresses> to get all the VPP node IP addresses.

func (*VppNode) Descriptor

func (*VppNode) Descriptor() ([]byte, []int)

func (*VppNode) GetId

func (m *VppNode) GetId() uint32

func (*VppNode) GetIpAddress

func (m *VppNode) GetIpAddress() string

func (*VppNode) GetIpAddresses

func (m *VppNode) GetIpAddresses() []string

func (*VppNode) GetName

func (m *VppNode) GetName() string

func (*VppNode) ProtoMessage

func (*VppNode) ProtoMessage()

func (*VppNode) Reset

func (m *VppNode) Reset()

func (*VppNode) String

func (m *VppNode) String() string

func (*VppNode) XXX_DiscardUnknown

func (m *VppNode) XXX_DiscardUnknown()

func (*VppNode) XXX_Marshal

func (m *VppNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VppNode) XXX_Merge

func (m *VppNode) XXX_Merge(src proto.Message)

func (*VppNode) XXX_Size

func (m *VppNode) XXX_Size() int

func (*VppNode) XXX_Unmarshal

func (m *VppNode) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

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