Skip to content

TFTP

TFTP (Trivial File Transfer Protocol) configuration on IOS-XR manages both client and server behavior per VRF. The client side controls outbound file transfer settings including source interface, retry count, timeout, and DSCP marking. The server side controls inbound file transfer services with independent IPv4 and IPv6 settings for access list filtering, maximum concurrent connections, home directory, and DSCP marking.

Diagram
NameTypeConstraintMandatoryDefault Value
tftpClass[tftp]No

NameTypeConstraintMandatoryDefault Value
clientClass[client]No
serverClass[server]No

NameTypeConstraintMandatoryDefault Value
vrfsList[vrfs]No

NameTypeConstraintMandatoryDefault Value
vrfsList[vrfs]No

vrfs (iosxr.devices.configuration.tftp.client)

Section titled “vrfs (iosxr.devices.configuration.tftp.client)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
dscpAnyChoice[af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, cs1, cs2, cs3, cs4, cs5, cs6, cs7, default, ef] or Integer[min: 0, max: 63] or String[Regex: ^.*[\$\%]\{.*$]No
retriesIntegermin: 0, max: 256No
source_interfaceStringNo
timeoutIntegermin: 0, max: 256No

vrfs (iosxr.devices.configuration.tftp.server)

Section titled “vrfs (iosxr.devices.configuration.tftp.server)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
ipv4_access_listStringNo
ipv4_dscpAnyChoice[af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, cs1, cs2, cs3, cs4, cs5, cs6, cs7, default, ef] or Integer[min: 0, max: 63] or String[Regex: ^.*[\$\%]\{.*$]No
ipv4_homedirStringNo
ipv4_max_serversAnyChoice[no-limit] or Integer[min: 1, max: 2147483647] or String[Regex: ^.*[\$\%]\{.*$]No
ipv6_access_listStringNo
ipv6_dscpAnyChoice[af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, cs1, cs2, cs3, cs4, cs5, cs6, cs7, default, ef] or Integer[min: 0, max: 63] or String[Regex: ^.*[\$\%]\{.*$]No
ipv6_homedirStringNo
ipv6_max_serversAnyChoice[no-limit] or Integer[min: 1, max: 2147483647] or String[Regex: ^.*[\$\%]\{.*$]No

DSCP and Precedence Values

DSCP and precedence fields accept both numeric and named string values.

  • dscp: integer 0-63 or named value (e.g., ef, af11, cs3)
  • ipv4_dscp / ipv6_dscp: integer 0-63 or named value (e.g., ef, af11, cs3)

Both formats can be used interchangeably. The normalization layer automatically converts integer values to their named equivalents before sending to the device, preventing configuration drift.

Example-1: Configure TFTP client.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
tftp:
client:
vrfs:
- name: VRF1
source_interface: Loopback0
retries: 10
timeout: 30
dscp: default
- name: MGMT
source_interface: MgmtEth0/RP0/CPU0/0
retries: 5
timeout: 60

Example-2: Configure TFTP server.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
tftp:
server:
vrfs:
- name: VRF1
ipv4_access_list: ACL1
ipv4_max_servers: no-limit
ipv4_homedir: "disk0:"
ipv4_dscp: 46
ipv6_access_list: ACL1
ipv6_max_servers: no-limit
ipv6_homedir: "disk0:"
ipv6_dscp: default