Configure Interface Batch
POST/vyos/ethernet/batch
Configure ethernet interface using batch operations.
This is the main endpoint for configuring ethernet interfaces. All operations are version-aware and sent to VyOS in a single batch for efficiency.
Supported Operations:
| Operation | Value Required | Description |
|---|---|---|
set_description | Yes | Set interface description |
delete_description | No | Remove interface description |
set_address | Yes | Add IP address (CIDR notation) |
delete_address | Yes | Remove IP address |
set_mtu | Yes | Set MTU value |
delete_mtu | No | Remove MTU (reset to default) |
set_duplex | Yes | Set duplex mode (auto/half/full) |
delete_duplex | No | Remove duplex (reset to default) |
set_speed | Yes | Set speed (auto/10/100/1000/etc) |
delete_speed | No | Remove speed (reset to default) |
set_vrf | Yes | Assign interface to VRF |
delete_vrf | Yes | Remove interface from VRF |
disable | No | Administratively disable interface |
enable | No | Enable interface (remove disable flag) |
delete_interface | No | Delete entire interface configuration |
set_mac | Yes | Set MAC address |
delete_mac | No | Reset MAC address to default |
set_offload_gro | No | Enable Generic Receive Offload |
delete_offload_gro | No | Delete Generic Receive Offload |
set_offload_gso | No | Enable Generic Segmentation Offload |
delete_offload_gso | No | Delete Generic Segmentation Offload |
set_offload_lro | No | Enable Large Receive Offload |
delete_offload_lro | No | Delete Large Receive Offload |
set_offload_rps | No | Enable Receive Packet Steering |
delete_offload_rps | No | Delete Receive Packet Steering |
set_offload_sg | No | Enable Scatter-Gather |
delete_offload_sg | No | Delete Scatter-Gather |
set_offload_tso | No | Enable TCP Segmentation Offload |
delete_offload_tso | No | Delete TCP Segmentation Offload |
set_ring_buffer_rx | Yes | Set RX ring buffer size |
set_ring_buffer_tx | Yes | Set TX ring buffer size |
delete_ring_buffer | No | Delete ring buffer settings |
set_ip_adjust_mss | Yes | Set IPv4 TCP MSS |
set_ip_adjust_mss_clamp_to_pmtu | No | Enable IPv4 MSS clamping to PMTU |
set_ipv6_adjust_mss | Yes | Set IPv6 TCP MSS |
set_ipv6_adjust_mss_clamp_to_pmtu | No | Enable IPv6 MSS clamping to PMTU |
set_ip_arp_cache_timeout | Yes | Set ARP cache timeout |
set_ip_disable_arp_filter | No | Disable ARP filter |
set_ip_enable_arp_accept | No | Enable ARP accept |
set_ip_enable_arp_announce | No | Enable ARP announce |
set_ip_enable_arp_ignore | No | Enable ARP ignore |
set_ip_enable_proxy_arp | No | Enable proxy ARP |
set_ip_proxy_arp_pvlan | No | Enable private VLAN proxy ARP |
set_ip_source_validation | Yes | Set source validation (strict/loose/disable) |
delete_ip_source_validation | No | Delete source validation |
set_ip_enable_directed_broadcast | No | Enable directed broadcast (1.5+ only) |
set_ipv6_address_autoconf | No | Enable IPv6 SLAAC autoconfiguration |
set_ipv6_address_eui64 | Yes | Set IPv6 EUI-64 address |
set_ipv6_disable_forwarding | No | Disable IPv6 forwarding |
set_ipv6_dup_addr_detect_transmits | Yes | Set IPv6 DAD transmits |
set_disable_flow_control | No | Disable flow control |
delete_disable_flow_control | No | Enable flow control |
set_disable_link_detect | No | Disable link detection |
delete_disable_link_detect | No | Enable link detection |
set_dhcp_options_client_id | Yes | Set DHCP client ID |
set_dhcp_options_host_name | Yes | Set DHCP hostname |
set_dhcp_options_vendor_class_id | Yes | Set DHCP vendor class ID |
set_dhcp_options_no_default_route | No | Reject DHCP default route |
set_dhcp_options_default_route_distance | Yes | Set DHCP default route distance |
set_dhcpv6_options_duid | Yes | Set DHCPv6 DUID |
set_dhcpv6_options_rapid_commit | No | Enable DHCPv6 rapid commit |
set_dhcpv6_options_pd | Yes (pd_id,prefix) | Set DHCPv6 prefix delegation |
set_vif | Yes | Configure 802.1q VLAN |
delete_vif | Yes (vlan_id) | Remove 802.1q VLAN |
set_vif_s | Yes | Configure QinQ service VLAN |
set_vif_c | Yes (s_vlan,c_vlan) | Configure QinQ customer VLAN |
set_mirror_ingress | Yes | Configure ingress port mirroring |
set_mirror_egress | Yes | Configure egress port mirroring |
delete_mirror | No | Delete port mirroring |
set_eapol_ca_cert_file | Yes | Set EAPoL CA certificate |
set_eapol_cert_file | Yes | Set EAPoL client certificate |
set_eapol_key_file | Yes | Set EAPoL private key |
set_evpn_uplink | No | Enable EVPN uplink tracking |
delete_evpn | No | Delete EVPN configuration |
VLAN Sub-interface Operations (VIF - 802.1q):
| Operation | Value Required | Description |
|---|---|---|
set_vif_address | Yes (vlan_id,address) | Set VIF address |
delete_vif_address | Yes (vlan_id,address) | Delete VIF address |
set_vif_description | Yes (vlan_id,description) | Set VIF description |
delete_vif_description | Yes (vlan_id) | Delete VIF description |
set_vif_mtu | Yes (vlan_id,mtu) | Set VIF MTU |
delete_vif_mtu | Yes (vlan_id) | Delete VIF MTU |
set_vif_disable | Yes (vlan_id) | Disable VIF |
delete_vif_disable | Yes (vlan_id) | Enable VIF |
set_vif_vrf | Yes (vlan_id,vrf) | Set VIF VRF |
delete_vif_vrf | Yes (vlan_id,vrf) | Delete VIF VRF |
set_vif_mac | Yes (vlan_id,mac) | Set VIF MAC |
delete_vif_mac | Yes (vlan_id) | Delete VIF MAC |
set_vif_dhcp_options_client_id | Yes (vlan_id,client_id) | Set VIF DHCP client ID |
set_vif_dhcp_options_host_name | Yes (vlan_id,hostname) | Set VIF DHCP hostname |
set_vif_ipv6_address_autoconf | Yes (vlan_id) | Enable VIF IPv6 autoconf |
set_vif_ipv6_address_eui64 | Yes (vlan_id,prefix) | Set VIF IPv6 EUI-64 |
set_vif_ip_adjust_mss | Yes (vlan_id,mss) | Set VIF IPv4 TCP MSS |
set_vif_ip_adjust_mss_clamp_to_pmtu | Yes (vlan_id) | Enable VIF IPv4 MSS clamping to PMTU |
set_vif_ipv6_adjust_mss | Yes (vlan_id,mss) | Set VIF IPv6 TCP MSS |
set_vif_ipv6_adjust_mss_clamp_to_pmtu | Yes (vlan_id) | Enable VIF IPv6 MSS clamping to PMTU |
VLAN Sub-interface Operations (VIF-S - QinQ Service):
| Operation | Value Required | Description |
|---|---|---|
set_vif_s_address | Yes (vlan_id,address) | Set VIF-S address |
delete_vif_s_address | Yes (vlan_id,address) | Delete VIF-S address |
set_vif_s_description | Yes (vlan_id,description) | Set VIF-S description |
delete_vif_s_description | Yes (vlan_id) | Delete VIF-S description |
set_vif_s_mtu | Yes (vlan_id,mtu) | Set VIF-S MTU |
delete_vif_s_mtu | Yes (vlan_id) | Delete VIF-S MTU |
set_vif_s_disable | Yes (vlan_id) | Disable VIF-S |
delete_vif_s_disable | Yes (vlan_id) | Enable VIF-S |
set_vif_s_vrf | Yes (vlan_id,vrf) | Set VIF-S VRF |
delete_vif_s_vrf | Yes (vlan_id,vrf) | Delete VIF-S VRF |
set_vif_s_mac | Yes (vlan_id,mac) | Set VIF-S MAC |
delete_vif_s_mac | Yes (vlan_id) | Delete VIF-S MAC |
set_vif_s_dhcp_options_client_id | Yes (vlan_id,client_id) | Set VIF-S DHCP client ID |
set_vif_s_dhcp_options_host_name | Yes (vlan_id,hostname) | Set VIF-S DHCP hostname |
set_vif_s_ipv6_address_autoconf | Yes (vlan_id) | Enable VIF-S IPv6 autoconf |
set_vif_s_ipv6_address_eui64 | Yes (vlan_id,prefix) | Set VIF-S IPv6 EUI-64 |
VLAN Sub-interface Operations (VIF-C - QinQ Customer):
| Operation | Value Required | Description |
|---|---|---|
set_vif_c_address | Yes (s_vlan,c_vlan,address) | Set VIF-C address |
delete_vif_c_address | Yes (s_vlan,c_vlan,address) | Delete VIF-C address |
set_vif_c_description | Yes (s_vlan,c_vlan,description) | Set VIF-C description |
delete_vif_c_description | Yes (s_vlan,c_vlan) | Delete VIF-C description |
set_vif_c_mtu | Yes (s_vlan,c_vlan,mtu) | Set VIF-C MTU |
delete_vif_c_mtu | Yes (s_vlan,c_vlan) | Delete VIF-C MTU |
set_vif_c_disable | Yes (s_vlan,c_vlan) | Disable VIF-C |
delete_vif_c_disable | Yes (s_vlan,c_vlan) | Enable VIF-C |
set_vif_c_vrf | Yes (s_vlan,c_vlan,vrf) | Set VIF-C VRF |
delete_vif_c_vrf | Yes (s_vlan,c_vlan,vrf) | Delete VIF-C VRF |
set_vif_c_mac | Yes (s_vlan,c_vlan,mac) | Set VIF-C MAC |
delete_vif_c_mac | Yes (s_vlan,c_vlan) | Delete VIF-C MAC |
set_vif_c_dhcp_options_client_id | Yes (s_vlan,c_vlan,client_id) | Set VIF-C DHCP client ID |
set_vif_c_dhcp_options_host_name | Yes (s_vlan,c_vlan,hostname) | Set VIF-C DHCP hostname |
set_vif_c_ipv6_address_autoconf | Yes (s_vlan,c_vlan) | Enable VIF-C IPv6 autoconf |
set_vif_c_ipv6_address_eui64 | Yes (s_vlan,c_vlan,prefix) | Set VIF-C IPv6 EUI-64 |
Example Request:
123;
"interface": "eth0",
"operations": [
123;"op": "set_description", "value": "WAN Interface"125;,
123;"op": "set_address", "value": "10.0.0.1/24"125;,
123;"op": "set_address", "value": "2001:db8::1/64"125;,
123;"op": "delete_address", "value": "192.168.1.1/24"125;,
123;"op": "set_mtu", "value": "9000"125;,
123;"op": "set_duplex", "value": "full"125;,
123;"op": "set_speed", "value": "1000"125;,
123;"op": "set_vrf", "value": "MGMT"125;,
123;"op": "enable"125;
]
125;
Example with Delete Operations:
123;
"interface": "eth1",
"operations": [
123;"op": "delete_description"125;,
123;"op": "delete_mtu"125;,
123;"op": "delete_duplex"125;,
123;"op": "delete_speed"125;
]
125;
Request
Responses
- 200
- 422
Successful Response
Validation Error