bgp

package
v0.0.1-alpha.9 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Address

type Address struct {
	Address types.CIDR `json:"address" validate:"required"`
	Family  int        `json:"family"  validate:"required"`
}

type AfiSafi

type AfiSafi struct {
	RoutePolicyIn  *routingpolicy.RoutePolicyLite `json:"route_policy_in"  validate:"omitempty"`
	RoutePolicyOut *routingpolicy.RoutePolicyLite `json:"route_policy_out" validate:"omitempty"`
	Name           AfiSafiChoice                  `json:"afi_safi_name"    validate:"required"`
}

type AfiSafiChoice

type AfiSafiChoice string
const (
	IPv4Unicast AfiSafiChoice = "ipv4-unicast"
	IPv6Unicast AfiSafiChoice = "ipv6-unicast"
	L2vpnEvpn   AfiSafiChoice = "l2vpn-evpn"
)

type BGPGlobal

type BGPGlobal struct {
	Device struct {
		Name string `json:"name" validate:"required"`
	} `json:"device" validate:"required"`
	LocalAsn common.ASN `json:"local_asn"                    validate:"required"`

	EBGPAdministrativeDistance *uint8  `json:"ebgp_administrative_distance" validate:"omitempty"`
	IBGPAdministrativeDistance *uint8  `json:"ibgp_administrative_distance" validate:"omitempty"`
	GracefulRestartEnabled     *bool   `json:"graceful_restart"             validate:"required"`
	GracefulRestartTime        *uint16 `json:"graceful_restart_time"        validate:"omitempty"`
	EcmpEnabled                *bool   `json:"ecmp"                         validate:"required"`
	EcmpMaximumPaths           *uint32 `json:"ecmp_maximum_paths"           validate:"omitempty"`
	RouterID                   string  `json:"router_id"                    validate:"omitempty"`
}

type DeviceSession

type DeviceSession struct {
	Device struct {
		Name string `json:"name" validate:"required"`
	} `json:"device" validate:"required"`

	LocalAsn        common.ASN                     `json:"local_asn"        validate:"required"`
	PeerGroup       *PeerGroupLite                 `json:"peer_group"       validate:"omitempty"`
	RoutePolicyIn   *routingpolicy.RoutePolicyLite `json:"route_policy_in"  validate:"omitempty"`
	RoutePolicyOut  *routingpolicy.RoutePolicyLite `json:"route_policy_out" validate:"omitempty"`
	AfiSafis        []*AfiSafi                     `json:"afi_safis"        validate:"required"`
	Enabled         *bool                          `json:"enabled"          validate:"required"`
	Description     string                         `json:"description"      validate:"omitempty"`
	LocalAddress    Address                        `json:"local_address"    validate:"required"`
	MaximumPrefixes uint32                         `json:"maximum_prefixes" validate:"omitempty"`
	EnforceFirstAs  bool                           `json:"enforce_first_as" validate:"omitempty"`
}

type PeerGroup

type PeerGroup struct {
	Device struct {
		Name string `json:"name" validate:"required"`
	} `json:"device" validate:"required"`
	Name           string                         `json:"name"             validate:"required"`
	RemoteAsn      *common.ASN                    `json:"remote_asn"       validate:"omitempty"`
	LocalAsn       *common.ASN                    `json:"local_asn"        validate:"omitempty"`
	RoutePolicyIn  *routingpolicy.RoutePolicyLite `json:"route_policy_in"  validate:"omitempty"`
	RoutePolicyOut *routingpolicy.RoutePolicyLite `json:"route_policy_out" validate:"omitempty"`
	Description    string                         `json:"description"      validate:"omitempty"`
	EnforceFirstAs bool                           `json:"enforce_first_as" validate:"omitempty"`
}

type PeerGroupLite

type PeerGroupLite struct {
	Name string `json:"name" validate:"required"`
}

type Session

type Session struct {
	Password string        `json:"password" validate:"omitempty"`
	PeerA    DeviceSession `json:"peer_a"   validate:"required"`
	PeerB    DeviceSession `json:"peer_b"   validate:"required"`
}

Jump to

Keyboard shortcuts

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