tosca.datatypes.asd.networkInterfaceRequirements:
derived_from: tosca.datatypes.Root
version: 0.1
description: "Describes the datatype for network interface requirements"
properties:
trunk_mode:
description: >
Information about whether the CP instantiated from this Cp is
in Trunk mode (802.1Q or other). When operating in "trunk mode",
the Cp is capable of carrying traffic for several VLANs.
Absence of this property implies that trunkMode is not configured
for the Cp i.e. It is equivalent to boolean value "false".
required: true
type: boolean
default: false
ipam:
description: >
Identifies whether application expects IP address assignment to be
managed by the cluster infrastructure (CNI IPAM plugin), or
configured by orchestrator via for example helm input parameter,
or if IP assignment is handled by the application itself.
required: true
type: string
constraints:
- valid_values: ["infraProvided", "orchestrated", "userManaged"]
default: "infraProvided"
interface_type:
description: >
Indicates what type of network interface the application expects.
Kernel based virtual netdev based on CNIs such as ovs | bridge |
macvlan | ipvlan, or PCIe dev directly visible in application
namespace with kernel or userspace driver or bonded with the Bond
CNI, or userspace-CNI based network interface
(requires DPDK-OVS/VPP vSwitch).
required: true
type: string
constraints:
- valid_values: ["kernel.netdev", "direct.userdriver", "direct.kerneldriver", "direct.bond", "userspace"]
default: "kernel.netdev"
interface_option:
description: >
This attribute describes verified realization options for the
network interface in question. Currently listed options
(virtio and memif) are applicable for the interfaceType “userspace”.
required: false
type: list
entry_schema:
type: string
constraints:
- valid_values: [“virtio", "memif“]
interface_redundancy:
description: >
Identifies switch-plane redundancy method the application uses,
and that node infrastructure is required to comply with.
"infraProvided", “left” and “right”: The container sees a
single vNIC that a) the infrastructure bonds over both switchplanes
or b) that is connected to the network via only left or
right the switchplane.
The other cases are for a mated pair of vnics connecting to
same network, but where one vNIC connects
via left switch plane and the other via right switch plane,
and where the application manages the redundancy.
"activePassiveBond": the application bonds with move of MAC address.
"activeActiveBond“: bonded left/right links must be part of a multi-chassis LAG
"activePassiveL3": application will move application IP address between the vNICs.
"activeActiveL3": the application uses anycast/ECMP.
required: true
type: string
constraints:
- valid_values: ["infraProvided", "actPassBond", "actActBond", "actPassL3", "actActL3", "Left", "Right"]
default: "infraProvided"
nic_options:
description: >
Identifies for the direct.userdriver interface type, the physical
nics the driver is verified to work with.
Allowed values for nic types must be handled via a registry or be standardized.
required: false
type: list
entry_schema:
type: string |