icx

package module
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2025 License: Apache-2.0 Imports: 19 Imported by: 4

README

InterCloud eXpress (ICX)

ICX Logo

Notes

On Debian you might need to create this symlink to fix bpf compilation issues:

sudo ln -sf /usr/include/$(uname -m)-linux-gnu/asm /usr/include/asm

Documentation

Index

Constants

View Source
const HeaderSize = 32

The size of the GENEVE header with icx options.

Variables

This section is empty.

Functions

func MTU added in v0.1.1

func MTU(pathMTU int) int

MTU returns the maximum transmission unit for a virtual network.

Types

type Handler

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

func NewHandler

func NewHandler(localAddr *tcpip.FullAddress, virtMAC tcpip.LinkAddress, sourcePortHashing bool) (*Handler, error)

func (*Handler) AddVirtualNetwork

func (h *Handler) AddVirtualNetwork(vni uint, remoteAddr *tcpip.FullAddress, epoch uint32, rxKey, txKey [16]byte, addrs []netip.Prefix) error

AddVirtualNetwork adds a new network with the given VNI and remote address.

func (*Handler) PhyToVirt

func (h *Handler) PhyToVirt(phyFrame, virtFrame []byte) int

PhyToVirt converts a physical frame to a virtual frame typically by performing decapsulation. Returns the length of the resulting virtual frame.

func (*Handler) RemoveVirtualNetwork

func (h *Handler) RemoveVirtualNetwork(vni uint) error

RemoveVirtualNetwork removes a network by its VNI.

func (*Handler) SetVirtualNetworkKey added in v0.2.0

func (h *Handler) SetVirtualNetworkKey(vni uint, epoch uint32, rxKey, txKey [16]byte) error

SetVirtualNetworkKey sets/rotates the encryption keys for a virtual network. This must be called atleast once every 24 hours or after (1 << 60) messages.

func (*Handler) VirtToPhy

func (h *Handler) VirtToPhy(virtFrame, phyFrame []byte) (int, bool)

VirtToPhy converts a virtual frame to a physical frame typically by performing encapsulation. Returns the length of the resulting physical frame.

Directories

Path Synopsis
Package replay implements an efficient anti-replay algorithm as specified in RFC 6479.
Package replay implements an efficient anti-replay algorithm as specified in RFC 6479.

Jump to

Keyboard shortcuts

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