Linux Networking
IOS-XRLinux 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”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| devices | List | devices | No | |
| device_groups | List | device_groups | No | |
| global | Class | global | No |
devices (iosxr)
Section titled “devices (iosxr)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
device_groups (iosxr)
Section titled “device_groups (iosxr)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
global (iosxr)
Section titled “global (iosxr)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
configuration (iosxr.devices)
Section titled “configuration (iosxr.devices)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| linux_ | Class | linux_ | No |
linux_networking (iosxr.devices.configuration)
Section titled “linux_networking (iosxr.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| exposed_ | List | exposed_ | No | |
| linux_owned_vrf | String | No | ||
| statistics_ | 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_ | 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_ | Class | address_ | No | |
| address_ | Class | address_ | No | |
| disable | Boolean | true, false | No | |
| east_ | List | east_ | 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_ | Class | management_ | No | |
| software_ | Boolean | true, false | No |
address_family_ipv6 (iosxr.devices.configuration.linux_networking.vrfs)
Section titled “address_family_ipv6 (iosxr.devices.configuration.linux_networking.vrfs)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| default_route | Class | default_route | No | |
| management_ | Class | management_ | No | |
| software_ | 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_ | 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