routingpolicy

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2025 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 BGPRouteType

type BGPRouteType string
const (
	IBGP      BGPRouteType = "ibgp"
	EBGP      BGPRouteType = "ebgp"
	NoBGPType BGPRouteType = ""
)

type CommunityList

type CommunityList struct {
	Device struct {
		Name string `json:"name" validate:"required"`
	} `json:"device" validate:"required"`
	Name  string               `json:"name"  validate:"required"`
	Terms []*CommunityListTerm `json:"terms" validate:"required"`
}

type CommunityListTerm

type CommunityListTerm struct {
	Community string `json:"community" validate:"required"`
}

type Decision

type Decision string
const (
	Permit Decision = "permit"
	Deny   Decision = "deny"
)

type IPVersion

type IPVersion string
const (
	IPv4 IPVersion = "ipv4"
	IPv6 IPVersion = "ipv6"
)

type PrefixList

type PrefixList struct {
	Name   string `json:"name" validate:"required"`
	Device struct {
		Name string `json:"name" validate:"required"`
	} `json:"device" validate:"required"`
	IPVersion IPVersion         `json:"ip_version" validate:"required"`
	Terms     []*PrefixListTerm `json:"terms"      validate:"required,dive"`
}

type PrefixListTerm

type PrefixListTerm struct {
	Prefix         types.CIDR `json:"prefix"   validate:"required"`
	LessOrEqual    int        `json:"le"       validate:"omitempty"`
	GreaterOrEqual int        `json:"ge"       validate:"omitempty"`
}

type RoutePolicy

type RoutePolicy struct {
	Name   string `json:"name" validate:"required"`
	Device struct {
		Name string `json:"name" validate:"required"`
	} `json:"device"`
	Terms []*RoutePolicyTerm `json:"terms" validate:"required"`
}

type RoutePolicyLite

type RoutePolicyLite struct {
	Name        string `json:"name"        validate:"required"`
	Description string `json:"description" validate:"required"`
}

type RoutePolicyTerm

type RoutePolicyTerm struct {
	Sequence    int      `json:"sequence"    validate:"required"`
	Decision    Decision `json:"decision"    validate:"required"`
	Description string   `json:"description" validate:"omitempty"`

	FromBGPCommunityList *struct {
		Name string `json:"name" validate:"required"`
	} `json:"from_bgp_community_list" validate:"omitempty"`
	FromPrefixList *struct {
		Name string `json:"name" validate:"required"`
	} `json:"from_prefix_list" validate:"omitempty"`
	FromSourceProtocol RoutingProtocols `json:"from_source_protocol" validate:"omitempty"`
	FromRouteType      BGPRouteType     `json:"from_route_type"      validate:"required"`
	FromLocalPref      uint32           `json:"from_local_pref"      validate:"omitempty"`

	SetOrigin              RouteProtocolOrigin `json:"set_origin"                 validate:"omitempty"`
	SetASPathPrependASN    *common.ASN         `json:"set_as_path_prepend_asn"    validate:"omitempty"`
	SetASPathPrependRepeat uint8               `json:"set_as_path_prepend_repeat" validate:"omitempty"`
	SetCommunity           string              `json:"set_community"              validate:"omitempty"`
	SetLargeCommunity      string              `json:"set_large_community"        validate:"omitempty"`
	SetNextHop             *net.IP             `json:"set_next_hop"               validate:"omitempty"`
	SetLocalPref           uint32              `json:"set_local_pref"             validate:"omitempty"`
	SetMetric              uint32              `json:"set_metric"                 validate:"omitempty"`
}

type RouteProtocolOrigin

type RouteProtocolOrigin string
const (
	OriginIGP        RouteProtocolOrigin = "igp"
	OriginEGP        RouteProtocolOrigin = "egp"
	OriginIncomplete RouteProtocolOrigin = "incomplete"
	OriginNone       RouteProtocolOrigin = ""
)

type RoutingProtocols

type RoutingProtocols string
const (
	BGP       RoutingProtocols = "bgp"
	ISIS      RoutingProtocols = "isis"
	Static    RoutingProtocols = "static"
	Connected RoutingProtocols = "connected"
	OSPF      RoutingProtocols = "ospf"
	Unset     RoutingProtocols = ""
)

Jump to

Keyboard shortcuts

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