flync_4_ecu¶
ECU Config¶
- class ECU¶
Bases:
UniqueNameRepresents an Electronic Control Unit (ECU) in the network.
Parameters¶
- namestr
Name of the ECU.
- portslist of
ECUPort List of physical ECU ports. At least one port must be provided.
- controllerslist of
Controller Controllers associated with this ECU.
- switcheslist of
Switch, optional Switches integrated within the ECU. If not provided, the ECU contains no internal switches.
- topology
InternalTopology Internal topology defining the connectivity between ECU components.
- multicast_groupslist of
MulticastGroupMembership, optional Multicast group memberships of the ECU. This field is populated automatically internally.
- ecu_metadata
ECUMetadata Metadata information describing the ECU.
ECU Ports Config¶
Hint
In case of a port with an external PHY, we need to include mdi_config (see Media-Dependent Interfaces), and mii_config (see Media-Independent Interfaces).
- class ECUPort¶
Bases:
NamedDictInstancesRepresents an ECU port and its configuration.
This class encapsulates both the media-dependent (MDI) and media-independent (MII) interface configurations for a port.
Parameters¶
Private Attributes¶
- _ecu :
The ECU of which the ECU Port is a part of.
- _connected_component:
The switch port, controller interface or ecu port connected to the controller interface. This attribute is managed internally and is not part of the public API.
- _type:
The type of the object generated. Set to ecu_port.
Controller Config¶
Changed in version 0.11.0: The Structure of the Controller configuration was significantly updated with Version 0.11.0! Make sure to upgrade your config to the new structure as described in the reference: ECUs - Controllers
Note
All controllers of an ECU are configured in the respective directory inside 📁 controllers/.
This is a mandatory dir for the ECU configuration, since all ECUs need to define (at least) one controller.
- class Controller¶
Bases:
NamedListInstancesRepresents a controller device that contains multiple interfaces.
Parameters¶
- namestr
Name of the controller.
- controller_metadata
EmbeddedMetadata Metadata describing the embedded controller.
- ethernet_interfaceslist of
EthernetInterface Ethernet interfaces of the controller.
- virtual_switch:
VirtualSwitch Represents a software switch inside a controller in case there are more than one interface or virtual machines/ compute nodes.
Private Attributes¶
- _type:
The type of the object generated. Defaults to “Controller”.
Ethernet Interfaces¶
Hint
For controller interfaces that have an external PHY, the mii_config (see Media-Independent Interfaces) for that interface must be provided.
For controller interfaces with integrated PHY, no mii_config is needed.
Warning
In any case, the MDI configuration is never configured on the controller interface, but on the ECU Ports. See ECU Ports Config for more details.
- class EthernetInterface¶
Bases:
FLYNCBaseModelAn Ethernet Interface of a Controller.
Parameters¶
- interface_config:
ControllerInterface Configuration of the Controller Interface.
sockets: optional list of
SocketContainer- interface_config:
- class ControllerInterface¶
Bases:
NamedDictInstancesA physical Ethernet interface on a controller.
A controller interface is the hardware-level network endpoint of the controller. It can be used in two ways:
Direct mode — virtual interfaces (VLANs) are stacked directly on the physical interface. No compute nodes or Virtual Switch are needed.
Bridge mode — one or more
ComputeNodes(VMs) are attached to the interface. In this case theVirtualSwitchdefined on the parentControlleracts as a software MAC bridge: it connects the physical interface and each compute node together, and can also bridge multiple physical interfaces at Layer 2.
Network features (PTP, MACsec, ingress stream policing, traffic shaping) can be configured at the interface level or offloaded to individual compute nodes, but not on both simultaneously.
Parameters¶
- namestr
Interface name.
- mac_address
MacAddress, optional MAC address of the physical interface in standard notation.
- mii_config
MIIorRMIIorSGMIIorRGMII, optional Media-independent interface configuration.
- compute_nodeslist of
ComputeNodes, optional VMs attached to this interface. When present, an
VirtualSwitchmust be defined on the parentControllerto connect them.- virtual_interfaceslist of
VirtualControllerInterface, optional VLAN-tagged virtual interfaces stacked directly on this physical interface (used in direct mode, without compute nodes).
- ptp_config
PTPConfig, optional Precision Time Protocol configuration.
- macsec_config
MACsecConfig, optional MACsec configuration.
- firewall
Firewall, optional Firewall configuration for the interface.
- htb
HTBInstance, optional Hierarchical Token Bucket (HTB) egress shaping configuration.
- ingress_streamslist of
Stream, optional IEEE 802.1Qci ingress stream policing configuration.
- traffic_classeslist of
TrafficClass, optional Traffic class definitions and egress queue shaping configuration.
- routing_tablelist of
RouteEntry, optional Static routing table for forwarding between subnets. When provided, this interface acts as an IP router. Each entry maps a destination network to a
default_gatewayIP and anegress_interface(VCI name).
Private Attributes¶
- _connected_component :
The switch port, controller interface, or ECU port connected to this interface. Managed internally; not part of the public API.
- _type :
Fixed to
"controller_interface".
- class VirtualControllerInterface¶
Bases:
FLYNCBaseModelA VLAN-tagged virtual interface stacked on top of a physical controller interface or a compute node.
Each virtual interface represents one logical network endpoint, identified by a VLAN ID and assigned one or more IP addresses. Multiple virtual interfaces can be defined on the same physical interface or compute node to separate traffic across different VLANs.
Parameters¶
- namestr
Name of the virtual interface.
- vlanidint, optional
VLAN identifier. Values 0-4094 are accepted; 4095 is reserved by IEEE 802.1Q and emits a warning when used.
Nonedenotes an untagged virtual interface.- addresseslist of
IPv4AddressEndpointorIPv6AddressEndpoint Assigned IPv4 and IPv6 address endpoints.
- multicastlist of
IPv4AddressorIPv6Addressor str, optional Allowed multicast addresses.
- class ComputeNodes¶
Bases:
FLYNCBaseModelWARNING: ComputeNode is currently experimental! Subject to change, please use with care.
A virtual machine (VM) attached to a controller interface.
Compute nodes are VMs that run on the same SoC as the controller. Each compute node has its own MAC address and one or more virtual interfaces (VLANs). Traffic between a compute node and the physical network is forwarded through the
VirtualSwitchdefined on the parentController— the Virtual Switch acts as a software MAC bridge that connects compute nodes to the controller interface and to each other.Network features such as PTP, MACsec, ingress stream policing, and traffic shaping can be configured either on the parent
ControllerInterfaceor offloaded to individual compute nodes, but not on both simultaneously.Parameters¶
- namestr
Name of the compute node / VM.
- mac_address
MacAddress, optional MAC address of the compute node in standard notation.
- virtual_interfaceslist of
VirtualControllerInterface One or more VLAN-tagged virtual interfaces exposed by this compute node.
- ptp_config
PTPConfig, optional Precision Time Protocol configuration (offloaded from the interface).
- macsec_config
MACsecConfig, optional MACsec configuration (offloaded from the interface).
- firewall
Firewall, optional Firewall configuration for this compute node.
- htb
HTBInstance, optional Hierarchical Token Bucket (HTB) egress shaping configuration.
- ingress_streamslist of
Stream, optional IEEE 802.1Qci ingress stream policing configuration.
- traffic_classeslist of
TrafficClass, optional Traffic class definitions and egress queue shaping configuration.
Virtual Switch¶
- class VirtualSwitch¶
Bases:
FLYNCBaseModelWARNING: VirtualSwitch is currently experimental! Subject to change, please use with care.
A software MAC bridge inside a controller.
The Virtual Switch is the connectivity fabric that ties together the controller’s physical interfaces and their compute nodes. It must be defined on the
Controllerwhenever compute nodes are present or when multiple interfaces need to exchange traffic at Layer 2.Each
VirtualSwitchPortreferences either aControllerInterfaceor aComputeNodesby name. VLANs defined on the bridge control which ports share broadcast domains, mirroring the role of VLANs on a hardware switch.Parameters¶
- namestr
Name of the Virtual Switch instance.
- portslist of
VirtualSwitchPort Ports of the virtual switch, each referencing a controller interface or compute node.
- vlanslist of
VLANEntry VLAN membership table: defines which ports belong to each VLAN and therefore which nodes can communicate at Layer 2.
- class VirtualSwitchPort¶
Bases:
FLYNCBaseModelA port on the
VirtualSwitch, referencing a connected node by name.Each port is bound to either a
ControllerInterfaceor aComputeNodesinstance. Thenode_connectedname must match thenamefield of one of those objects within the same controller.Parameters¶
- namestr
Name of the port.
- node_connectedstr
Name of the connected
ControllerInterfaceorComputeNodes.
Socket Config¶
- class SocketContainer¶
Bases:
FLYNCBaseModelRepresents a socket container for the ecu.
Parameters¶
- class Socket¶
Bases:
FLYNCBaseModelDefines a virtual-interface socket that is bound to a specific IP address.
Parameters¶
- namestr
A readable identifier for the socket.
- endpoint_address
IPv4AddressorIPv6Address The IP address assigned to the socket.
- port_noint
The port number the socket uses for communication.
- deploymentslist of
DeploymentUnion, optional Deployments of the socket.
- endpoint_typeLiteral[“multicast”, “unicast”], optional
The type of the socket endpoint, which can be either “multicast” or “unicast”. This field is per default automatically determined based on the value of
endpoint_address, but can be overridden by explicitly providing a value.- multicast_txlist of
IPv4MulticastorIPv6Multicast, optional Multicast addresses that the socket is allowed to transmit to (only applicable for sockets with a multicast endpoint_type).
- class SocketUDP¶
Bases:
SocketRepresents a UDP socket.
Parameters¶
- protocolLiteral[“udp”]
Transport protocol for the socket. Defaults to
"udp".- udp_options
UDPOption, optional The UDP options that can be configured for this socket.
- class SocketTCP¶
Bases:
SocketRepresents a TCP socket.
Parameters¶
- protocolLiteral[“tcp”]
Transport protocol for the socket. Defaults to
"tcp".- tcp_profileint
The unique identifier of the TCP profile whose options are applied to the socket.
Endpoints¶
- class IPv4AddressEndpoint¶
Bases:
IPv4AddressEntryRepresents an IPv4 address endpoint for a network interface.
Parameters¶
- class IPv6AddressEndpoint¶
Bases:
IPv6AddressEntryRepresents an IPv6 address endpoint for a network interface.
Parameters¶
Deployments¶
- class DeploymentUnion¶
Bases:
RootModelUnion type representing a deployment configuration for a socket. This model wraps a union of different deployment models and uses the
deployment_typefield as a discriminator to determine which specific deployment model is present.Possible types¶
SOMEIPServiceConsumerorSOMEIPServiceProviderorSOMEIPSDDeploymentorPDUSenderorPDUReceiver
Switch Config¶
Hint
A switch configuration contains key details regarding the following parameters:
switch (logical) ports
VLAN configuration
multicast configuration
TimeSync configuration
QoS configuration
Hint
Similar to controller config, each port of switch with an external PHY has an mii_config (see Media-Independent Interfaces),
describing the various properties of the MII connected to that port.
For switch ports using an integrated PHY, no mii_config is needed.
- class Switch¶
Bases:
NamedListInstancesRepresents an automotive Ethernet network switch configuration.
Parameters¶
- meta
EmbeddedMetadata Metadata associated with the switch, such as vendor-specific or implementation-specific attributes.
- namestr
Name of the switch.
- portslist of
SwitchPort List of external (connected to ECU ports) or internal (connected to internal ECU interfaces) switch ports.
- vlanslist of
VLANEntry List of VLAN entries configured on the switch.
- host_controller
ControllerInterface, optional Internal controller interface that manages the switch.
- tcam_ruleslist of
TCAMRule, optional List of TCAM rules configured on the switch. These rules define packet-matching conditions and associated actions applied to ingress or egress traffic.
- meta
- class SwitchPort¶
Bases:
NamedDictInstancesRepresents a Switch Port and its configuration.
Parameters¶
- namestr
Name of the Switch Port.
- silicon_port_noint
Silicon hardware port number (vendor-specific).
- default_vlan_idint
VLAN ID to be added to an untagged frame ingressing on the port. Use
Nonefor an untagged port (no default VLAN).- mii_config
MIIorRMIIorSGMIIorRGMII, optional Media-independent interface configuration (e.g., MII or RMII).
- ptp_config
PTPConfig, optional Precision Time Protocol configuration.
- ingress_streamslist of
Stream, optional Stream-based IEEE 802.1Qci configuration.
- traffic_classeslist of
TrafficClass, optional Traffic class definitions and traffic shaping configuration applied to egress port queues.
- macsec_config
MACsecConfig, optional MACsec configuration for the port.
Private Attributes¶
- _type :
The type of the object generated. Set to controller_interface.
_mdi_config :
BaseT1orBaseT1SorBaseT- _connected_component:
The switch port, controller interface or ecu port connected to the switch port. This attribute is managed internally and is not part of the public API.
- class VLANEntry¶
Bases:
FLYNCBaseModelRepresents a VLAN entry for a switch.
Parameters¶
- namestr
Human-readable name for the VLAN.
- idint
VLAN ID. Values 0-4094 are accepted; 4095 is reserved by IEEE 802.1Q and emits a warning when used.
- default_priorityint
Default frame priority for the VLAN (0-7).
- portslist of str
List of switch port names members of this VLAN.
- multicastlist of
MulticastGroup, optional List of multicast group configurations associated with this VLAN.
TCAM¶
- class TCAMRule¶
Bases:
FLYNCBaseModelDefinition of a TCAM (ternary content-addressable memory) rule for a switch.
Parameters¶
- namestr
Name for the description of the TCAM rule.
- idStrictInt
Unique TCAM rule ID.
- match_filter
FrameFilter Packet-matching filter used to decide whether the rule applies.
- match_portslist of str
Ports to which the rule is bound.
- actionlist of
DroporMirrororForceEgressorVLANOverwriteorRemoveVLAN One or more actions performed when the rule matches. The
typefield of each action class acts as the discriminating key for Pydantic.
- class Drop¶
Bases:
FLYNCBaseModelAction that discards traffic on the selected egress ports.
Parameters¶
- typeLiteral[“drop”]
Discriminator used by Pydantic.
- portslist of str
Egress ports where the drop action should be applied.
- class Mirror¶
Bases:
FLYNCBaseModelAction that mirrors incoming traffic to additional egress ports.
Parameters¶
- typeLiteral[“mirror”]
Discriminator used by Pydantic.
- portslist of str
Egress ports that will receive the mirrored traffic.
- class ForceEgress¶
Bases:
FLYNCBaseModelAction that forces a packet to leave through a given set of ports, bypassing the normal forwarding decision.
Parameters¶
- typeLiteral[“force_egress”]
Discriminator used by Pydantic.
- portslist of str
Egress ports to which the messages are force-forwarded.
- class VLANOverwrite¶
Bases:
FLYNCBaseModelAction that overwrites VLAN ID and/or PCP values on selected ports.
Parameters¶
- typeLiteral[“vlan_overwrite”]
Discriminator used by Pydantic.
- overwrite_vlan_idint, optional
New VLAN identifier (0-4095). If
None, the VLAN ID is left unchanged.- overwrite_vlan_pcpint, optional
New PCP value (0-7). If
None, the PCP value is left unchanged.- portslist of str
Egress ports at which the overwriting should take place.
- class RemoveVLAN¶
Bases:
FLYNCBaseModelAction that removes the VLAN tag from packets on the given ports.
Parameters¶
- typeLiteral[“remove_vlan”]
Discriminator used by Pydantic.
- portslist of str
Egress ports where the VLAN tag will be removed.
Router Config¶
- class RouteEntry¶
Bases:
FLYNCBaseModelRepresents a static routing table entry.
Parameters¶
- destination
IPv4AddressEntryorIPv6AddressEntry The destination network expressed as address and mask (e.g.
address="10.0.0.0", ipv4netmask="255.255.255.0").- default_gateway
IPvAnyAddress Gateway IP for this route. If the next hop is a router, this is that router’s VCI address on the shared subnet. If the next hop is a controller interface (directly connected), this is the controller interface’s IP address.
- egress_interfacestr
Name of the
VirtualControllerInterfaceon this interface through which this route is forwarded.
- destination
PHY Config¶
Media-Dependent Interfaces¶
- class BASET¶
Bases:
FLYNCBaseModelRepresents a BASE-T Ethernet interface configuration.
Parameters¶
- modeLiteral[“base_t”]
Interface mode. Defaults to
"base_t".- speedint
Supported link speed in megabits per second. Valid values are 100 or 1000.
- duplexLiteral[“full”]
Duplex mode. Defaults to
"full".- roleLiteral[“master”, “slave”]
Role of the PHY, either master or slave. Defaults to
"slave".- autonegotiationbool
Indicates whether autonegotiation is enabled.
- class BASET1¶
Bases:
FLYNCBaseModelRepresents a BASE-T1 Ethernet interface configuration.
Parameters¶
- modeLiteral[“base_t1”]
Interface mode. Defaults to
"base_t1".- speedint
Supported link speed in megabits per second. Valid values are 100 or 1000.
- duplexLiteral[“full”]
Duplex mode. Defaults to
"full".- roleLiteral[“master”, “slave”]
Role of the PHY, either master or slave.
- autonegotiationbool
Indicates whether autonegotiation is enabled.
- class BASET1S¶
Bases:
FLYNCBaseModelRepresents a BASE-T1S Ethernet interface configuration.
Parameters¶
- modeLiteral[“base_t1s”]
Interface mode. Defaults to
"base_t1s".- speedint
Supported link speed in megabits per second. Defaults to 10.
- duplexLiteral[“half”]
Duplex mode. Defaults to
"half".- roleLiteral[“master”, “slave”]
Role of the PHY, either master or slave.
- autonegotiationbool
Indicates whether autonegotiation is enabled.
Media-Independent Interfaces¶
- class MII¶
Bases:
FLYNCBaseModelRepresents a Media Independent Interface (MII) configuration.
Parameters¶
- typeLiteral[“mii”]
Interface type. Defaults to
"mii".- speedint
Supported link speed in megabits per second. Valid values are 10 or 100.
- modeLiteral[“mac”, “phy”]
Operating mode, either MAC or PHY.
- class RMII¶
Bases:
FLYNCBaseModelRepresents a Reduced Media Independent Interface (RMII) configuration.
Parameters¶
- typeLiteral[“rmii”]
Interface type. Defaults to
"rmii".- speedint
Supported link speed in megabits per second. Valid values are 10 or 100.
- modeLiteral[“mac”, “phy”]
Operating mode, either MAC or PHY.
- class SGMII¶
Bases:
FLYNCBaseModelRepresents a Serial Gigabit Media Independent Interface (SGMII or SGMII+) configuration.
Parameters¶
- typeLiteral[“sgmii”]
Interface type. Defaults to
"sgmii".- speedint
Supported link speed in megabits per second. Valid values are 10, 100, 1000, or 2500. Defaults to 1000 Mbps.
- modeLiteral[“mac”, “phy”]
Operating mode, either MAC or PHY.
- class RGMII¶
Bases:
FLYNCBaseModelRepresents a Reduced Gigabit Media Independent Interface (RGMII) configuration.
Parameters¶
- typeLiteral[“rgmii”]
Interface type. Defaults to
"rgmii".- speedint
Supported link speed in megabits per second. Valid values are 10, 100, or 1000. Defaults to 1000 Mbps.
- modeLiteral[“mac”, “phy”]
Operating mode, either MAC or PHY.
- class XFI¶
Bases:
FLYNCBaseModelRepresents a 10-Gigabit Ethernet (10GbE) serial electrical interface (XFI) configuration.
Parameters¶
- typeLiteral[“xfi”]
Interface type. Defaults to “xfi”.
- speedLiteral[10000]
Supported speed in Mbps. Defaults to 10000.
- modeLiteral[“mac”, “phy”]
Operating mode of the interface, either MAC or PHY.
ECU Internal Topology¶
Internal Connection¶
Note
The fields of a connection will be different, depending on the kind of connection.
Types of Internal Connections¶
|
1st Attribute |
2nd Attribute |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- class InternalTopology¶
Bases:
FLYNCBaseModelParameters¶
- connectionslist of
InternalConnectionUnion List of internal connections between ECU components. Defaults to an empty list.
- connectionslist of
- class InternalConnectionUnion¶
Bases:
RootModelUnion type representing a connection between two internal ECU components.
This model wraps a union of different internal connection types and uses the
typefield as a discriminator to determine which specific connection type is present.Possible types¶
ECUPortToSwitchPortConnection from an ECU port to a switch port.
ECUPortToControllerInterfaceConnection from an ECU port to a controller interface.
SwitchPortToControllerInterfaceConnection from a switch port to a controller interface.
SwitchPortToSwitchPortConnection between two switch ports on the same ECU.
ControllerInterfaceToControllerInterfaceConnection between two controller interfaces.
- class InternalConnection¶
Bases:
FLYNCBaseModelRepresents a base internal connection between two ECU components.
Parameters¶
- typestr
The type of the connection.
- idstr
Unique identifier for the connection.
- component1_namestr, optional
Name of the first component in the connection.
- component2_namestr, optional
Name of the second component in the connection.
Private Attributes¶
- _ecu
ECU The ECU object to which this connection belongs. Managed internally.
- class ECUPortToXConnection¶
Bases:
InternalConnectionBase class for connections from an ECU port to another ECU component.
Parameters¶
- ecu_port_namestr
Name of the ECU port (alias:
ecu_port).
Private Attributes¶
- _ecu_port
ECUPort Internal reference to the actual ECU port object. Managed privately.
- class SwitchPortToXConnection¶
Bases:
InternalConnectionBase class for connections from an ECU switch port to another component.
Parameters¶
- switch_port_namestr
Name of the ECU switch port (alias:
switch_port).
Private Attributes¶
- _switch_port
SwitchPort Internal reference to the actual switch port object. Managed privately.
- class ECUPortToSwitchPort¶
Bases:
ECUPortToXConnectionRepresents a connection from an ECU port to a switch port.
Parameters¶
- typeLiteral[“ecu_port_to_switch_port”]
Type of the connection. Defaults to
"ecu_port_to_switch_port".- switch_port_namestr
Name of the switch port (alias:
switch_port).
Private Attributes¶
- _switch_port
SwitchPort Internal reference to the actual SwitchPort object. Managed privately.
- class ECUPortToControllerInterface¶
Bases:
ECUPortToXConnectionRepresents a connection from an ECU port to a controller interface.
Parameters¶
- typeLiteral[“ecu_port_to_controller_interface”]
Type of the connection. Defaults to
"ecu_port_to_controller_interface".- iface_namestr
Name of the controller interface (alias:
controller_interface).
Private Attributes¶
- _iface
ControllerInterface Internal reference to the actual ControllerInterface object. Managed privately.
- class SwitchPortToControllerInterface¶
Bases:
SwitchPortToXConnectionRepresents a connection from a switch port to a controller interface.
Parameters¶
- typeLiteral[“switch_port_to_controller_interface”]
Type of the connection. Defaults to
"switch_port_to_controller_interface".- iface_namestr
Name of the controller interface (alias:
controller_interface).
Private Attributes¶
- _iface
ControllerInterface Internal reference to the actual ControllerInterface object. Managed privately.
- class SwitchPortToSwitchPort¶
Bases:
SwitchPortToXConnectionRepresents a connection between two switch ports on the same ECU.
Parameters¶
- typeLiteral[“switch_to_switch_same_ecu”]
Type of the connection. Defaults to
"switch_to_switch_same_ecu".- switch2_port_namestr
Name of the second switch port (alias:
switch2_port).
Private Attributes¶
- _switch2_port
SwitchPort Internal reference to the second switch port object. Managed privately.
- class ControllerInterfaceToControllerInterface¶
Bases:
InternalConnectionRepresents a direct connection between two controller interfaces in an ECU.
Parameters¶
- typeLiteral[“controller_interface_to_controller_interface”]
Type of the connection. Defaults to
"controller_interface_to_controller_interface".- iface_namestr
Name of the first controller interface (alias:
controller_interface1).- iface2_namestr
Name of the second controller interface (alias:
controller_interface2).
Private Attributes¶
- _iface
ControllerInterface Internal reference to the first controller interface. Managed privately.
- _iface2
ControllerInterface Internal reference to the second controller interface. Managed privately.
MAC Multicast Endpoints¶
- class MACMulticastEndpoints¶
Bases:
FLYNCBaseModelRepresents a collection of multicast endpoints for an ECU.
Parameters¶
- endpointsList[
MACEndpointUnion] List of multicast endpoints associated with the ECU.
- endpointsList[
- class MACEndpointUnion¶
Bases:
RootModelUnion type for MAC multicast endpoints, discriminated by the ‘ethertype’ field.
Possible types¶
AVTPMulticastEndpoint: If ethertype is 0x22F0, the endpoint is treated as an AVTP multicast endpoint.
- class MACMulticastEndpoint¶
Bases:
FLYNCBaseModelRepresents a multicast endpoint that is bound to a specific controller.
Parameters¶
- namestr
Name of the multicast endpoint.
- mac_addressMacAddress
MAC address of the controller that this endpoint is bound to.
- protocolstr
Protocol that is expected on this endpoint.
- ethertypeOptional[int]
EtherType that is expected on this endpoint. Must be between 0x0000 and 0xFFFF if provided.
- vlan_idOptional[int]
VLAN ID that is expected on this endpoint. Must be between 0 and 4095 if provided.
- multicast_txOptional[List[MacAddress]]
List of multicast addresses that this endpoint should transmit to. Each address must be a valid multicast MAC address.
- class AVTPMulticastEndpoint¶
Bases:
MACMulticastEndpointRepresents an AVTP multicast endpoint that is bound to a specific controller. This is a specialized version of MACMulticastEndpoint with fixed EtherType and protocol values, and additional validation to ensure that multicast addresses are within the AVTP range.
Parameters¶
- ethertypeLiteral[0x22F0]
EtherType for AVTP, fixed to 0x22F0.
- protocolLiteral[“avtp”] | Literal[“AVTP”]
Protocol for AVTP, fixed to “avtp” (case-insensitive).
Multicast Group Memberships¶
Hint
Multicast group memberships of an ECU are computed from several locations of a FLYNC Config. They are stored as a list in the field multicast_groups of an ECU. Mind that these multicast groups are not part of any YAML config, but are accessible fields in a FLYNC workspace.
Receiving nodes are listed in the multicast group membership with the mode “rx”.
These entries are computed from:
MAC, IPv4 or IPv6 addresses in the field multicast of a
VirtualControllerInterface,IPv6 addresses of a
VirtualControllerInterfaceas solicited-node multicast addresses.
Sender nodes are listed in the multicast group membership with the mode “tx”.
These entries are computed from:
IPv4 or IPv6 addresses in the field multicast_tx of a
Socket,MAC addresses in the field multicast_tx of a
MACMulticastEndpoint,IPv6 solicited-node multicast addresses per VLAN.
- class MulticastGroupMembership¶
Bases:
FLYNCBaseModelRepresents a multicast group membership for virtual controller interfaces.
Parameters¶
- groupIPv4Multicast or IPv6Multicast or MACAddressMulticast
Multicast group address.
- descriptionstr, optional
Description of the multicast group membership.
- mode“tx” or “rx”, optional
Mode of multicast group membership.
- vlanint, optional
VLAN ID associated with the multicast group membership. Use
Nonefor untagged.- src_ipstr, optional
Source IP address. Only applicable for “tx” mode.