dataplane

package
v0.0.0-...-e596c9e Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2021 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MAPCACHETYPE         = "map-cache"
	ENTIREMAPCACHE       = "entire-map-cache"
	DATABASEMAPPINGSTYPE = "database-mappings"
	INTERFACESTYPE       = "interfaces"
	DECAPKEYSTYPE        = "decap-keys"
	ETRNATPORT           = "etr-nat-port"
	ITRCRYPTOPORT        = "itr-crypto-port"
)

These message type definitions should be in sync with lispers.net

View Source
const CRYPTO_KEY_LEN = 32

Variables

View Source
var Version = "No version specified"

Functions

func DumpThreadTable

func DumpThreadTable()

func HandleItrCryptoPort

func HandleItrCryptoPort(port uint)

func InitAndStartStatsThread

func InitAndStartStatsThread(puntChannel chan []byte,
	ctx *dptypes.DataplaneContext)

func InitThreadTable

func InitThreadTable()

func ManageETRThread

func ManageETRThread(port int)

func ManageEtrDNS

func ManageEtrDNS(deviceNetworkStatus types.DeviceNetworkStatus)

Handle device network state changes

func ManageItrThreads

func ManageItrThreads(interfaces Interfaces)

Find the difference between running ITR threads and the threads that need to be running according to new configuration.

Kill the ITR threads that are no longer needed and create newly required threads.

func Run

func Run()

func StartMapcacheScrubThread

func StartMapcacheScrubThread()

Types

type DKey

type DKey struct {
	KeyId  string `json:"key-id"`
	DecKey string `json:"decrypt-key"`
	IcvKey string `json:"icv-key"`
}

type DatabaseMap

type DatabaseMap struct {
	InstanceId string `json:"instance-id"`
	EidPrefix  string `json:"eid-prefix"`
}

type DatabaseMappings

type DatabaseMappings struct {
	Mappings []DatabaseMap `json:"database-mappings"`
}

type DecapKeys

type DecapKeys struct {
	Rloc string `json:"rloc"`
	Port string `json:"port"`
	Keys []DKey `json:"keys"`
}

type EntireMapCache

type EntireMapCache struct {
	MapCaches []MapCacheEntry
}

type EtrNatPort

type EtrNatPort struct {
	Type string `json:"type"`
	Port int    `json:"port"`
}

type Interface

type Interface struct {
	Interface  string `json:"interface"`
	InstanceId string `json:"instance-id"`
}

type Interfaces

type Interfaces struct {
	Interfaces []Interface `json:"interfaces"`
}

type ItrCryptoPort

type ItrCryptoPort struct {
	Type string `json:"type"`
	Port int    `json:"port"`
}

type Key

type Key struct {
	KeyId  string `json:"key-id"`
	EncKey string `json:"encrypt-key"`
	IcvKey string `json:"icv-key"`
}

type MapCacheEntry

type MapCacheEntry struct {
	Opcode     string `json:"opcode"`
	InstanceId string `json:"instance-id"`
	EidPrefix  string `json:"eid-prefix"`
	Rlocs      []Rloc `json:"rlocs"`
}

type Rloc

type Rloc struct {
	Rloc     string `json:"rloc"`
	Port     string `json:"port"`
	Priority string `json:"priority"`
	Weight   string `json:"weight"`
	Keys     []Key  `json:"keys"`
}

type ThreadEntry

type ThreadEntry struct {
	// contains filtered or unexported fields
}

type Type

type Type struct {
	Type string `json:"type"`
}

Jump to

Keyboard shortcuts

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