COT.platforms.cisco_iosxrv module

Platform logic for the Cisco IOS XRv virtual router and its variants.

Classes

IOSXRv Platform-specific logic for Cisco IOS XRv platform.
IOSXRvLC Platform-specific logic for Cisco IOS XRv line card.
IOSXRvRP Platform-specific logic for Cisco IOS XRv HA-capable RP.
class IOSXRv[source]

Bases: COT.platforms.generic.GenericPlatform

Platform-specific logic for Cisco IOS XRv platform.

classmethod guess_nic_name(nic_number)[source]

MgmtEth0/0/CPU0/0, GigabitEthernet0/0/0/0, Gig0/0/0/1, etc.

Parameters:nic_number (int) – Nth NIC to name.
Returns:
  • “MgmtEth0/0/CPU0/0”
  • “GigabitEthernet0/0/0/0”
  • “GigabitEthernet0/0/0/1”
  • etc.
classmethod validate_cpu_count(cpus)[source]

IOS XRv supports 1-8 CPUs.

Parameters:

cpus (int) – Number of CPUs

Raises:
  • ValueTooLowError – if cpus is less than 1
  • ValueTooHighError – if cpus is more than 8
classmethod validate_memory_amount(mebibytes)[source]

Minimum 3 GiB, max 8 GiB of RAM.

Parameters:

mebibytes (int) – RAM, in MiB.

Raises:
  • ValueTooLowError – if mebibytes is less than 3072
  • ValueTooHighError – if mebibytes is more than 8192
classmethod validate_nic_count(count)[source]

IOS XRv requires at least one NIC.

Parameters:count (int) – Number of NICs.
Raises:ValueTooLowError – if count is less than 1
classmethod validate_serial_count(count)[source]

IOS XRv supports 1-4 serial ports.

Parameters:

count (int) – Number of serial ports.

Raises:
  • ValueTooLowError – if count is less than 1
  • ValueTooHighError – if count is more than 4
CONFIG_TEXT_FILE = 'iosxr_config.txt'
LITERAL_CLI_STRING = None
PLATFORM_NAME = 'Cisco IOS XRv'
SECONDARY_CONFIG_TEXT_FILE = 'iosxr_config_admin.txt'
SUPPORTED_NIC_TYPES = ['E1000', 'virtio']
class IOSXRvLC[source]

Bases: COT.platforms.cisco_iosxrv.IOSXRv

Platform-specific logic for Cisco IOS XRv line card.

classmethod guess_nic_name(nic_number)[source]

Fabric interface plus slot-appropriate GigabitEthernet interfaces.

Parameters:nic_number (int) – Nth NIC to name.
Returns:str – * “fabric” * “GigabitEthernet0/{SLOT}/0/0” * “GigabitEthernet0/{SLOT}/0/1” * etc.
classmethod validate_serial_count(count)[source]

No serial ports are needed but up to 4 can be used for debugging.

Parameters:

count (int) – Number of serial ports.

Raises:
  • ValueTooLowError – if count is less than 0
  • ValueTooHighError – if count is more than 4
CONFIG_TEXT_FILE = None
PLATFORM_NAME = 'Cisco IOS XRv line card'
SECONDARY_CONFIG_TEXT_FILE = None
class IOSXRvRP[source]

Bases: COT.platforms.cisco_iosxrv.IOSXRv

Platform-specific logic for Cisco IOS XRv HA-capable RP.

classmethod guess_nic_name(nic_number)[source]

Fabric and management only.

Parameters:nic_number (int) – Nth NIC to name.
Returns:str – “fabric” or “MgmtEth0/{SLOT}/CPU0/0” only
classmethod validate_nic_count(count)[source]

Fabric plus an optional management NIC.

Parameters:

count (int) – Number of NICs.

Raises:
  • ValueTooLowError – if count is less than 1
  • ValueTooHighError – if count is more than 2
PLATFORM_NAME = 'Cisco IOS XRv route processor card'