Managing Point-to-Point Links
A Point-to-Point Link (P2P link) models a direct routed connection between two switch interfaces. Unlike VLANs or overlay networks, a P2P link is purely layer-3: each end gets IP addresses and the link is brought up as a routed interface.
Common uses include:
- WAN uplinks and peering connections
- Connections between border switches and external routers
- Inter-fabric links that carry routed traffic outside of EVPN overlays
Concepts
Section titled “Concepts”| Term | Description |
|---|---|
| Interface A / Interface B | The two switch ports connected by the link |
| Route Domain | The VRF the link belongs to. null = the default routing domain |
| Routing activation | Controls when interface IPs and VRF membership are pushed to the switches — default activates on deploy |
| Service status | ordered from creation until the first successful deploy; active thereafter |
| Candidate config | The staged (proposed) configuration. Changes to /config are staged and applied on the next deploy |
Creating a point-to-point link
Section titled “Creating a point-to-point link”curl -X POST "https://<your-server>/api/v2/point-to-point-links" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <API_KEY>" \ -d '{ "label": "border-leaf01-uplink", "name": "Border Leaf 01 WAN Uplink", "interfaceA": { "networkDeviceId": 229, "portId": 10 }, "interfaceB": { "networkDeviceId": 300, "portId": 5 }, "description": "Uplink from border leaf to WAN router", "mtu": 9000, "routeDomainId": null }'Listing and filtering
Section titled “Listing and filtering”# List all P2P linkscurl "https://<your-server>/api/v2/point-to-point-links" \ -H "Authorization: Bearer <API_KEY>"
# Filter by route domaincurl "https://<your-server>/api/v2/point-to-point-links?routeDomainId=5" \ -H "Authorization: Bearer <API_KEY>"Getting a link
Section titled “Getting a link”curl "https://<your-server>/api/v2/point-to-point-links/{id}" \ -H "Authorization: Bearer <API_KEY>"Updating a link
Section titled “Updating a link”Labels, names, annotations, and descriptions can be updated:
curl -X PATCH "https://<your-server>/api/v2/point-to-point-links/{id}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <API_KEY>" \ -d '{ "name": "Updated WAN Uplink Name" }'Candidate configuration
Section titled “Candidate configuration”The candidate config holds staged changes such as IP allocation strategies and static routes. These changes are not applied until the link is deployed.
# Get candidate configcurl "https://<your-server>/api/v2/point-to-point-links/{id}/config" \ -H "Authorization: Bearer <API_KEY>"
# Update candidate configcurl -X PATCH "https://<your-server>/api/v2/point-to-point-links/{id}/config" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <API_KEY>" \ -d '{ "mtu": 1500 }'IPv4 subnet allocation strategies
Section titled “IPv4 subnet allocation strategies”Subnet allocation strategies define how IP addresses are assigned to the two ends of the link.
# Add an IPv4 subnet allocation strategycurl -X POST "https://<your-server>/api/v2/point-to-point-links/{id}/config/ipv4/subnet-allocation-strategies" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <API_KEY>" \ -d '{ "subnetPoolId": 3, "prefixLength": 30 }'
# List IPv4 strategiescurl "https://<your-server>/api/v2/point-to-point-links/{id}/config/ipv4/subnet-allocation-strategies" \ -H "Authorization: Bearer <API_KEY>"
# Delete an IPv4 strategycurl -X DELETE "https://<your-server>/api/v2/point-to-point-links/{id}/config/ipv4/subnet-allocation-strategies/{strategyId}" \ -H "Authorization: Bearer <API_KEY>"IPv6 subnet allocation strategies follow the same pattern under /config/ipv6/subnet-allocation-strategies.
Static routes
Section titled “Static routes”Static routes can be added to a P2P link candidate for either address family:
# Add a static routecurl -X POST "https://<your-server>/api/v2/point-to-point-links/{id}/config/ipv4/static-routes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <API_KEY>" \ -d '{ "prefix": "0.0.0.0/0", "nextHop": "203.0.113.1" }'
# List static routescurl "https://<your-server>/api/v2/point-to-point-links/{id}/config/ipv4/static-routes" \ -H "Authorization: Bearer <API_KEY>"
# Delete a static routecurl -X DELETE "https://<your-server>/api/v2/point-to-point-links/{id}/config/ipv4/static-routes/{routeId}" \ -H "Authorization: Bearer <API_KEY>"Use /config/ipv6/static-routes for IPv6 static routes.
Deleting a link
Section titled “Deleting a link”Deletion is staged — it sets the candidate deployType to DELETE. The link is removed from the switches on the next deploy.
curl -X DELETE "https://<your-server>/api/v2/point-to-point-links/{id}" \ -H "Authorization: Bearer <API_KEY>"Related topics
Section titled “Related topics”- Managing Route Domains — for assigning P2P links to VRFs
- Managing Network Devices — for port IDs referenced in links
- Managing Fabric Interconnects — for EVPN-based inter-fabric connectivity