COT.platforms.cisco_iosv module

Platform logic for the Cisco IOSv virtual router.

class IOSv[source]

Bases: COT.platforms.generic.GenericPlatform

Platform-specific logic for Cisco IOSv.

classmethod guess_nic_name(nic_number)[source]

GigabitEthernet0/0, GigabitEthernet0/1, etc.

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

IOSv only supports a single CPU.

Parameters:

cpus (int) – Number of CPUs.

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

IOSv has minimum 192 MiB (with minimal feature set), max 3 GiB.

Parameters:

mebibytes (int) – RAM, in MiB.

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

IOSv supports up to 16 NICs.

Parameters:

count (int) – Number of NICs.

Raises:
  • ValueTooLowError – if count is less than 0
  • ValueTooHighError – if count is more than 16
classmethod validate_serial_count(count)[source]

IOSv requires 1-2 serial ports.

Parameters:

count (int) – Number of serial ports.

Raises:
  • ValueTooLowError – if count is less than 1
  • ValueTooHighError – if count is more than 2
BOOTSTRAP_DISK_TYPE = 'harddisk'
CONFIG_TEXT_FILE = 'ios_config.txt'
LITERAL_CLI_STRING = None
PLATFORM_NAME = 'Cisco IOSv'
SUPPORTED_NIC_TYPES = ['E1000']