vppcalls

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2018 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package vppcalls contains wrappers over VPP binary APIs for L3 FIBs.

Index

Constants

View Source
const (
	// NextHopViaLabelUnset constant has to be assigned into the field next hop
	// via label in ip_add_del_route binary message if next hop via label is not defined.
	// Equals to MPLS_LABEL_INVALID defined in VPP
	NextHopViaLabelUnset uint32 = 0xfffff + 1

	// ClassifyTableIndexUnset is a default value for field classify_table_index in ip_add_del_route binary message.
	ClassifyTableIndexUnset = ^uint32(0)

	// NextHopOutgoingIfUnset constant has to be assigned into the field next_hop_outgoing_interface
	// in ip_add_del_route binary message if outgoing interface for next hop is not defined.
	NextHopOutgoingIfUnset = ^uint32(0)
)

Variables

ArpMessages is list of used VPP messages for compatibility check

ProxyArpMessages is list of used VPP messages for compatibility check

Functions

func AddProxyArpRange

func AddProxyArpRange(firstIP, lastIP []byte, vppChan govppapi.Channel, log logging.Logger, stopwatch *measure.Stopwatch) error

AddProxyArpRange adds new IP range for proxy ARP

func DeleteProxyArpRange

func DeleteProxyArpRange(firstIP, lastIP []byte, vppChan govppapi.Channel, log logging.Logger, stopwatch *measure.Stopwatch) error

DeleteProxyArpRange removes proxy ARP IP range

func DisableProxyArpInterface

func DisableProxyArpInterface(swIfIdx uint32, vppChan govppapi.Channel, log logging.Logger, stopwatch *measure.Stopwatch) error

DisableProxyArpInterface disables interface for proxy ARP

func EnableProxyArpInterface

func EnableProxyArpInterface(swIfIdx uint32, vppChan govppapi.Channel, log logging.Logger, stopwatch *measure.Stopwatch) error

EnableProxyArpInterface enables interface for proxy ARP

func VppAddArp

func VppAddArp(entry *ArpEntry, vppChan govppapi.Channel, stopwatch *measure.Stopwatch) error

VppAddArp adds ARP entry according to provided input

func VppAddRoute

func VppAddRoute(route *Route, vppChan govppapi.Channel, stopwatch *measure.Stopwatch) error

VppAddRoute adds new route, according to provided input. Every route has to contain VRF ID (default is 0).

func VppDelArp

func VppDelArp(entry *ArpEntry, vppChan govppapi.Channel, stopwatch *measure.Stopwatch) error

VppDelArp removes old ARP entry according to provided input

func VppDelRoute

func VppDelRoute(route *Route, vppChan govppapi.Channel, stopwatch *measure.Stopwatch) error

VppDelRoute removes old route, according to provided input. Every route has to contain VRF ID (default is 0).

Types

type ArpEntry

type ArpEntry struct {
	Interface  uint32
	IPAddress  net.IP
	MacAddress net.HardwareAddr
	Static     bool
}

ArpEntry represents ARP entry for interface

type Route

type Route struct {
	VrfID       uint32    `json:"vrf_id"`
	TableName   string    `json:"table_name"`
	DstAddr     net.IPNet `json:"dst_addr"`
	NextHopAddr net.IP    `json:"next_hop_addr"`
	OutIface    uint32    `json:"out_iface"`
	Weight      uint32    `json:"weight"`
	Preference  uint32    `json:"preference"`
}

Route represents a forward IP route entry with the parameters of gateway to which packets should be forwarded when a given routing table entry is applied.

Jump to

Keyboard shortcuts

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