Linux Networking
Linux Networking manages the communication between IOS-XR and Linux applications running on the router. Linux Networking controls how Linux applications access the network through IOS-XR, including update source configuration for routing Linux traffic through specific interfaces, east-west interface forwarding between VRFs, and statistics collection for monitoring TPA activity.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”configuration (iosxr.devices)
Section titled “configuration (iosxr.devices)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| linux_networking | Class | [linux_networking] | No |
linux_networking (iosxr.devices.configuration)
Section titled “linux_networking (iosxr.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| exposed_interfaces | List | [exposed_interfaces] | No | |
| linux_owned_vrf | String | No | ||
| statistics_synchronization | Choice | 30s, 60s, 2m, 3m, 4m, 5m, 6m, 7m, 8m, 9m, 10m | No | |
| vrfs | List | [vrfs] | No |
exposed_interfaces (iosxr.devices.configuration.linux_networking)
Section titled “exposed_interfaces (iosxr.devices.configuration.linux_networking)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes | ||
| linux_managed | Choice | enable, disable | No | |
| statistics_synchronization | Choice | 5s, 10s, 30s, 60s | No |
vrfs (iosxr.devices.configuration.linux_networking)
Section titled “vrfs (iosxr.devices.configuration.linux_networking)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes | ||
| address_family_ipv4 | Class | [address_family_ipv4] | No | |
| address_family_ipv6 | Class | [address_family_ipv6] | No | |
| disable | Boolean | true, false | No | |
| east_west_interfaces | List | [east_west_interfaces] | No |
address_family_ipv4 (iosxr.devices.configuration.linux_networking.vrfs)
Section titled “address_family_ipv4 (iosxr.devices.configuration.linux_networking.vrfs)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| default_route | Class | [default_route] | No | |
| management_route | Class | [management_route] | No | |
| software_forwarding | Boolean | true, false | No |
east_west_interfaces (iosxr.devices.configuration.linux_networking.vrfs)
Section titled “east_west_interfaces (iosxr.devices.configuration.linux_networking.vrfs)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes |
default_route (iosxr.devices.configuration.linux_networking.vrfs.address_family_ipv4)
Section titled “default_route (iosxr.devices.configuration.linux_networking.vrfs.address_family_ipv4)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| active_management | Boolean | true, false | No | |
| interface | String | No |
management_route (iosxr.devices.configuration.linux_networking.vrfs.address_family_ipv4)
Section titled “management_route (iosxr.devices.configuration.linux_networking.vrfs.address_family_ipv4)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| interface | String | No |
Example YAML Code:
Section titled “Example YAML Code:”Example-1: Linux networking with exposed interfaces and statistics sync
iosxr: devices: - name: router-1 host: 10.10.10.1:57400 configuration: hostname: router-1 linux_networking: statistics_synchronization: 60s exposed_interfaces: - name: GigabitEthernet0/0/0/0 statistics_synchronization: 60sExample-2: Linux networking for management access
iosxr: devices: - name: router-1 host: 10.10.10.1:57400 configuration: hostname: router-1 linux_networking: statistics_synchronization: 5m exposed_interfaces: - name: GigabitEthernet0/0/0/0 statistics_synchronization: 5s - name: MGMT address_family_ipv4: default_route: software_forwarding: true interface: MgmtEth0/RP0/CPU0/0 address_family_ipv6: default_route: software_forwarding: true interface: MgmtEth0/RP0/CPU0/0