The schema for routing configuration consists of an object that has a data structure containing general properties and the following objects:

routingGlobalConfig

staticRouting

ospf

bgp

For an example of the data structure for the routing object, see Example: Retrieve Routing Configurations.

ROUTING CONFIGURATION

Element

Type

Required

Description

featureType

String

Yes

Identifies the Advanced Networking Services feature

Note

This element is set as "featureType" : "routing_4.0" . This value is required. Do not change it.

version

Number

Yes

The current version of the routing configuration

enabled

Boolean

No

Enables the router

GLOBAL CONFIGURATION (globalConfig)

routerId

String

No

The first uplink IP address of the edge gateway that pushes routes to the kernel for dynamic routing

Setting a value for routerId is required only when configuring the dynamic routing protocols OSPF and BGP.

ecmp

Boolean

No

Enables equal-cost multi-path routing (ECMP)

By default, ecmp is set to false.

LOGGING (logging)

enable

Boolean

No

Saves logging information

logLevel

String

No

Sets the log level

IP PREFIXES (ipPrefixes – Array)

name

String

No

The name of the IP prefix

If you set an IP prefix, you must set a unique value for name.

Note

Setting IP prefixes is required only when you define redistribution rules in the dynamic routing protocols OSPF and BGP.

ipAddress

String

No

Sets the IP addresses for the IP prefixes

You can add a static route for a destination subnet or host.

STATIC ROUTING CONFIGURATION

Element

Type

Required

Description

DEFAULT ROUTE (defaultRoute)

vnic

String

No

The interface on which you want to add a static route

mtu

Integer

No

The maximum transmission value for the data packets

The MTU value cannot be higher than the MTU value set on the edge gateway interface.

By default, mtu is the MTU value of the interface on which the route is configured.

description

String

No

A description for the static route

gatewayAddress

String

No

The default gateway address to use for routing

STATIC ROUTES (staticRoutes – Array)

mtu

Integer

No

The maximum transmission value for the data packets

The MTU value cannot be higher than the MTU value set on the edge gateway interface.

By default, mtu is the MTU value of the interface on which the route is configured.

description

String

No

A description for the static route

type

String

No

Specifies whether the static route was created by the system as an auto-generated route or the default route (internal); or whether it is a local (user) route

Note

You must set type to user because you cannot create auto-generated routes or the default static route.

vnic

String

Yes

The interface on which you want to add a static route

network

String

Yes

The network in CIDR notation

nextHop

String

Yes

The IP address of the next hop

The router must be able to directly reach the next hop. When ECMP is enabled, you can set multiple next hops.

The edge gateway supports OSPF, an interior gateway protocol that routes IP packets only within a single routing domain. Configure OSPF in vCloud Air to exchange routing information between edge gateways in vCloud Air.

Use OSPF to gather link state information from available routers and construct a topology map of the network. The topology determines the routing table presented to the Internet layer, which makes routing decisions based on the destination IP address found in IP packets.

OSPF routing policies provide a dynamic process of traffic load balancing between routes of equal cost. An OSPF network is divided into routing areas to optimize traffic flow and limit the size of routing tables. An area is a logical collection of OSPF networks, routers, and links that have the same area identification. Areas are identified by an Area ID.

OSPF CONFIGURATION (ospf)

Element

Type

Required

Description

enabled

Boolean

No

Enables OSPF routing

By default, enabled is set to true.

protocolAddress

String

Yes

A unique IP address in the same subnet as the forwarding address used by OSPF for adjacency with peers

forwardingAddress

String

Yes

An address used by the router to forward packets

Specify an IP address on one of the uplink interfaces on the edge gateway.

gracefulRestart

Boolean

No

For packet forwarding to be uninterrupted during restart of OSPF services

By default, gracefulRestart is set to false.

defaultOriginate

Boolean

No

Allows the edge gateway to advertise itself as a default gateway to its peers

By default, defaultOriginate is set to false.

OSPF AREAS—PROPERTIES (ospfAreas – Array)

areaId

Number

Yes

The area ID

The edge gateway supports an area ID in the form of a decimal number. Valid values are 0-4294967295.

The value for areaId must be a unique number.

type

String

No

Sets the options:

normal

nssa

NSSAs (the not-so-stubby areas feature described in RFC 1587) prevent the flooding of AS-external link-state advertisements (LSAs). They rely on default routing to external destinations. Therefore, NSSAs must be placed at the edge of an OSPF routing domain. NSSA can import external routes into the OSPF routing domain, thereby providing transit service to small routing domains that are not part of the OSPF routing domain.

By default, type is set to normal.

OSPF AREAS—AUTHENTICATION (authentication)

type

String

No

Sets the authentication to one of the following values:

password

In this method of authentication, a password is included in the transmitted packet.

md5

This authentication method uses MD5 (Message Digest type 5 ) encryption. An MD5 checksum is included in the transmitted packet.

value

String

No

The password or MD5 key, respectively

OSPF INTERFACES (ospfInterfaces – Array)

vnic

Integer

Yes

The interface that you want to map to the OSPF area

The interface specifies the external network that both edge gateways are connected to.

areaId

Number

Yes

An area ID

The edge gateway supports an area ID in the form of an IP address or decimal number.

helloInterval

Integer

No

The default interval between hello packets that are sent on the interface

By default, set to 10 seconds with valid values 1-255.

deadInterval

Integer

No

The default interval during which at least one hello packet must be received from a neighbor before the router declares that neighbor down

By default, set to 40 seconds.

priority

Integer

No

The default priority of the interface

The interface with the highest priority is the designated router.

By default, set to 128 with valid values 0-255.

cost

Integer

No

The default overhead required to send packets across that interface

The cost of an interface is inversely proportional to the bandwidth of that interface. The larger the bandwidth, the smaller the cost.

mtuIgnore

Boolean

No

Disables MTU mismatch detection on received Database Descriptor (DBD) packets

When configuring OSPF, routers connected to the same shared subnet should have the same MTU setting. However, you can force OSPF neighbors to establish a session even when their interface MTU settings do not match. Use caution when configuring this setting because it can lead to packet drops and cause the adjacency to reset repeatedly.

You can configure Border Gateway Protocol (BGP) for vCloud Air to exchange routes between your on-premises border devices and vCloud Air. BGP makes core routing decisions by using a table of IP networks or prefixes, which designate network reachability among multiple autonomous systems.

The BGP border devices establish a connection before any routing information is exchanged. After establishing the connection, the border devices exchange routes and synchronize their tables. Each border device sends keepalive messages to keep this relationship alive.

BGP CONFIGURATION (bgp)

Element

Type

Required

Description

enabled

Boolean

No

Enables BGP routing

By default, enabled is set to false.

localAS

Integer

Yes

A value (a globally unique number between 1-65534) for the Local AS

Advanced Networking Services assigns the local autonomous system (AS) number to the edge gateway you are configuring and advertises the local AS when the edge gateway peers with routers in other autonomous systems. The path of ASs that a route traverses is used as one metric when selecting the best path to a destination.

gracefulRestart

Boolean

No

For packet forwarding to be uninterrupted during restart of BGP services

defaultOriginate

Boolean

No

Allows the edge gateway to advertise itself as a default gateway to its peers

BGP NEIGHBORS (bgpNeighbors – Array)

ipAddress

String

Yes

The IP address of your on-premises border device that vCloud Air connect to

protocolAddress

String

A unique IP address in the same subnet as the forwarding address used by BGP for adjacency with peers

forwardingAddress

String

A forwarding address used by the router to forward packets

Specify an IP address on one of the uplink interfaces on the edge gateway.

remoteAS

Integer

Yes

A value (a globally unique number between 1-65534) for the remote AS

Advanced Networking Services assigns the remote AS number to the border device you are creating the connection for.

weight

Integer

No

Weight for the neighbor connection

By default, weight is set to 60.

holdDownTimer

Integer

No

Interval for the hold down timer

The edge gateway uses the standard, default values for the keep alive timer (60 seconds) and the hold down timer. The default value for the hold down timer is 3xkeepalive or 180 seconds. Once peering between two neighbors is achieved, the edge gateway starts a hold down timer. Every keep alive message it receives from the neighbor resets the hold down timer to 0.

When the edge gateway fails to receive three consecutive keep alive messages, so that the hold down timer reaches 180 seconds, the edge gateway considers the neighbor down and deletes the routes from this neighbor.

keepAliveTimer

Integer

No

Interval for the Keep Alive Time

By default, keepAliveTimer is set to 60.

password

String

No

The authentication password

Each segment sent on the connection between the neighbors is verified. MD5 authentication must be configured with the same password on both BGP neighbors, otherwise, the connection between them will not be made.

BGP FILTERS (bgpFilters – Array)

direction

String

No

The direction to indicate whether you are filtering traffic to or from the neighbor

The valid values for direction are in and out.

action

String

No

The action to indicate whether you are allowing or denying traffic

The valid values for action are permit and deny.

network

String

No

The network in CIDR format that you want to filter to or from the neighbor

ipPrefixGe

Integer

No

The IP prefixes that are to be filtered

"Greater than or equal to" and used for filtering based on prefix length. Specify valid IPv4 prefixes.

ipPrefixLe

Integer

No

The IP prefixes that are to be filtered

"Less than or equal to" and used for filtering based on prefix length. Specify valid IPv4 prefixes.

By default, routers share routes with other routers running the same protocol. In a multi-protocol environment, you must configure route redistribution for cross-protocol route sharing.

Configure route redistribution for both the OSPF and BGP objects.

ROUTE REDISTRIBUTION (redistribution)

Element

Type

Required

Description

enabled

Boolean

No

Enables route redistribution

By default, enabled is set to false.

RULES (rules – Array)

id

Number

Yes

The ID for the rule

prefixName

String

No

The name for the IP prefix to add for route redistribution

You define prefixName by setting routingGlobalConfigipPrefixes.

By default, the value of prefixName is set to any.

action

String

Yes

Whether to permit or deny redistribution from the selected types of networks

FROM (from)

ospf

Boolean

No

Whether OSPF is a learner protocol (it learns routes from other protocols)

By default, ospf is set to false.

bgp

Boolean

No

Whether BGP is a learner protocol (it learns routes from other protocols)

By default, bgp is set to false.

connected

Boolean

No

Whether routes can be learned from connected networks

By default, connected is set to false.

static

Boolean

No

Whether routes can be learned from static networks

By default, static is set to false.