Skip to main content

Topology — the Ethernet Connector and Endpoints

What You Will Do​

In this chapter you build the network topology on the HPC node Ecu that you configured in Configuring the Machine. In the System editor you create the Ethernet controller Ecu_EthernetController and the Ethernet connector eth0 on the node Ecu, then use the connector's + badge to create the communication cluster EthernetCluster and attach the connector to its physical channel PhysicalChannel. Next, in the NETWORK ENDPOINT section of the connector eth0 you enter the unicast address 127.0.0.1 and the multicast address 224.0.0.1 with port 30490 for SOME/IP service discovery, and in APPLICATION ENDPOINTS you add the three UDP ports 20001, 20002 and 20003.

When you finish this chapter, the controller, connector, cluster and endpoints are saved in design/IVC.io.model, Network Management stays off for the new cluster, and the VALIDATION panel shows No validation issues. as before. The later chapters SOME/IP Deployment and Service Instances and Binding Service Instances to the Connector use this connector and these UDP ports.

Before You Begin​

  • Start from the state at the end of Configuring the Machine. The title bar reads PAIO [AADesign], the System editor canvas holds only the HPC node Ecu (no controller, connector or cluster), and the VALIDATION panel shows No validation issues..
  • You may close the tab AADesign:VFB left open from chapter 2. This chapter starts by opening System from DESIGN in the EDITOR view.

The values you type in this chapter are listed below. The channel name PhysicalChannel is the default that is attached automatically when the cluster is created, so you do not type it.

WhereItemValue
ETHERNET CONTROLLER panelNAMEEcu_EthernetController
ETHERNET CONNECTOR panelNAMEeth0
ETHERNET CONNECTOR panelCONTROLLERSelect Ecu_EthernetController from the list
ETHERNET CLUSTER panelNAMEEthernetCluster
ETHERNET CLUSTER panelPHYSICAL CHANNELS › CHANNEL NAMEPhysicalChannel (default, leave as is)
NETWORK ENDPOINTUNICAST IPV4 ADDRESS127.0.0.1
NETWORK ENDPOINTADDRESS SOURCEClick FIXED
NETWORK ENDPOINT › MULTICAST CONFIGMULTICAST IPV4 ADDRESS224.0.0.1
NETWORK ENDPOINT › MULTICAST CONFIGMULTICAST PORT30490
APPLICATION ENDPOINTSThree cards, TYPE = UDP, PORT NUMBER20001, 20002, 20003
Communication Cluster Configuration dialogNM CLUSTER, TIME DOMAIN tabsDisabled (default, leave as is)

Note. An input field in the properties panel commits its value only when you leave the field. In this chapter you press the Tab key after typing to commit. Segment buttons such as FIXED and UDP commit as soon as you click them.

Opening the System Editor​

  1. In the EDITOR view on the left, click System under DESIGN. The tab AADesign:System opens, with System at the top left of the canvas and the HPC node Ecu in the middle.

The node header reads Ecu [HPC]; the name in brackets is the composition HPC mapped onto the node in Creating the Project and the HPC Machine.

Creating the Ethernet Controller​

Adding the Controller​

  1. Right-click the empty body of the node Ecu. The menu shows Add Connector, Add Controller, Add Ethernet Switch, Add Gateway, SW Mapping, Extract Machine and Delete.

  2. Hover over Add Controller and click Ethernet in the submenu.

    Choosing Add Controller › Ethernet from the right-click menu of the Ecu node

    Figure 3-1. The right-click menu of the node Ecu. The submenu of Add Controller is Ethernet, CAN, LIN Master and LIN Slave; click ① Ethernet.

  3. A small square with a green border appears inside the node. This is the controller, and its default name is Ecu_Ethernet_Controller_0.

Renaming the Controller​

  1. Click the green square. The ETHERNET CONTROLLER panel opens on the right.

  2. Change the value of the NAME field to Ecu_EthernetController and press the Tab key.

    The controller selected and NAME changed to Ecu_EthernetController

    Figure 3-2. The System editor with the controller selected. ① The green square (controller) inside the node, ② NAME = Ecu_EthernetController. DESCRIPTION is empty, and MAC ADDRESS, MAC LAYER TYPE, MAX TX BUFFER LENGTH and MAX RX BUFFER LENGTH under CONFIGURATION as well as COUPLING PORTS are all left empty. The tab AADesign:System carries the modified marker ●.

NAME is the only value you change in this panel. Leave XMII, XGMII and XXGMII under MAC LAYER TYPE unselected, and leave COUPLING PORTS at No coupling ports. The square on the canvas shows no name, so check the name in the panel.

Creating the Ethernet Connector​

Adding the Connector​

  1. Right-click the empty body of the node Ecu again.

  2. Hover over Add Connector and click Ethernet in the submenu.

    Choosing Add Connector › Ethernet from the right-click menu of the Ecu node

    Figure 3-3. Add Connector in the same menu. The submenu is Ethernet, CAN and LIN; click ① Ethernet. The controller you just created is visible inside the node.

  3. A blue square appears on the bottom border of the node, with a green + badge below it. This blue square is the connector, and its default name is Ecu_Ethernet_Connector_0.

Renaming the Connector and Choosing the Controller​

  1. Click the blue square. The ETHERNET CONNECTOR panel opens on the right.

  2. Change the value of the NAME field to eth0 and press the Tab key.

  3. Open the CONTROLLER combo (initially Select controller...) and click Ecu_EthernetController. The list contains only the one Ethernet controller of this node.

    The connector eth0 selected and its controller chosen

    Figure 3-4. The System editor with the connector selected. ① The blue square (connector) on the bottom border of the node and the + badge below it, ② NAME = eth0, ③ CONTROLLER = Ecu_EthernetController. CONNECTED CHANNEL is still (None), and the IPv4 fields of NETWORK ENDPOINT are all empty.

Caution. A connector is not attached to a controller automatically. If you do not choose a CONTROLLER, the connector in the ARXML export has no controller reference. Be sure to choose Ecu_EthernetController from the list.

The panel has the sections NETWORK ENDPOINT (expanded, with an IPv4 / IPv6 toggle at the right of the header), APPLICATION ENDPOINTS (collapsed, +), SERVICE INSTANCES (collapsed, +) and further sections below them. This chapter uses only NETWORK ENDPOINT and APPLICATION ENDPOINTS. SERVICE INSTANCES is used in Binding Service Instances to the Connector, and the remaining sections are not used in this tutorial.

Creating the Communication Cluster​

The cluster is created from the + badge below the connector, not from a canvas menu.

Adding the Cluster​

  1. Click the green + badge below the connector. A menu with a single item opens.

  2. Click Create CommunicationCluster [Ethernet].

    Choosing Create CommunicationCluster [Ethernet] from the + badge menu of the connector

    Figure 3-5. The + badge menu of the connector. Click ① Create CommunicationCluster [Ethernet]. The short orange line between the controller and the connector is the controller reference you chose in step 3.

  3. A small blue square (the cluster) appears below the node with its name written under it, and a blue line connects the connector and the cluster. Its default name is EthernetCluster_0; the physical channel PhysicalChannel is created automatically and the connector Ecu/eth0 is attached to that channel automatically.

Renaming the Cluster​

  1. Click the cluster square. The ETHERNET CLUSTER panel opens on the right.

  2. Change the value of the NAME field to EthernetCluster and press the Tab key. The name under the square changes to EthernetCluster.

    NAME changed to EthernetCluster in the cluster panel

    Figure 3-6. The ETHERNET CLUSTER panel. ① NAME = EthernetCluster, ② the PHYSICAL CHANNELS section. The single channel row has CHANNEL NAME PhysicalChannel and an empty VLAN ID (hint UNTAGGED or 1-4094), and Connected Connectors (1) lists Ecu/eth0.

Do not change CHANNEL NAME or VLAN ID. The Ethernet cluster panel has no protocol or baud rate section.

Network Endpoint — Unicast and Multicast​

In the NETWORK ENDPOINT section of the connector eth0, enter the unicast address and the multicast address and port for SOME/IP service discovery.

  1. Click the connector eth0 (the blue square on the bottom border of the node) again. CONNECTED CHANNEL in the ETHERNET CONNECTOR panel is now filled with EthernetCluster / PhysicalChannel.

  2. Check that the toggle at the right of the NETWORK ENDPOINT header is IPv4.

  3. Type 127.0.0.1 into the UNICAST IPV4 ADDRESS field (hint IPv4 Address) and press the Tab key.

  4. Click FIXED in the ADDRESS SOURCE segment. On a new connector none of FIXED, AUTO-IP and DHCPv4 is selected.

  5. Type 224.0.0.1 into MULTICAST IPV4 ADDRESS under MULTICAST CONFIG and press the Tab key.

  6. Type 30490 into MULTICAST PORT (hint Unsigned Integer (0..65535)) and press the Tab key.

    Unicast and multicast values entered in the NETWORK ENDPOINT of eth0

    Figure 3-7. The NETWORK ENDPOINT section after entering the values. ① UNICAST IPV4 ADDRESS = 127.0.0.1, ② ADDRESS SOURCE = FIXED, ③ MULTICAST IPV4 ADDRESS = 224.0.0.1, ④ MULTICAST PORT = 30490. KEEP BEHAVIOR, DEFAULT GATEWAY, NETWORK MASK, TTL and ASSIGNMENT PRIORITY are empty, and DNS SERVER ADDRESSES reads No DNS server addresses defined.

Leave KEEP BEHAVIOR (STORE / FORGET), DEFAULT GATEWAY, NETWORK MASK, TTL, ASSIGNMENT PRIORITY and DNS SERVER ADDRESSES empty. The IPv6 toggle is not used.

Caution. Be sure to click FIXED under ADDRESS SOURCE. If you do not, no address assignment method is saved for the unicast endpoint.

Application Endpoints — Three UDP Ports​

In the APPLICATION ENDPOINTS section of the same panel, add the UDP ports 20001, 20002 and 20003. The first port is shown as a procedure; repeat the same steps for the other two.

Adding the First Endpoint​

  1. Click the NETWORK ENDPOINT header to collapse the section. This only shortens the screen and does not affect any value.
  2. Click the APPLICATION ENDPOINTS header to expand the section. At first it reads No application endpoints defined.
  3. Click the + button at the right of the header (tooltip Add Application Endpoint). One card appears with the summary line TCP eth0, 127.0.0.1:0. A new endpoint always starts as TCP with port 0.
  4. Click the summary line of the card to expand it. You see the TYPE segment (TCP / UDP), PORT NUMBER (value 0), and the TCP-only fields KEEP ALIVES, NAGLES ALGORITHM, KEEP ALIVE TIME, KEEP ALIVE INTERVAL, KEEP ALIVE PROBES and RECEIVE WINDOW MIN.
  5. Click UDP under TYPE. The badge on the summary line changes to UDP at once, and the card stays expanded: the TCP-only fields disappear and only TYPE and PORT NUMBER remain.
  6. Type 20001 into PORT NUMBER and press the Tab key. The summary line changes to UDP eth0, 127.0.0.1:20001.

Adding the Remaining Endpoints​

Repeat steps 3 to 6 above twice more. Only the values differ.

OrderTYPEPORT NUMBERSummary lineName assigned automatically
1UDP20001UDP eth0, 127.0.0.1:20001Ecu_eth0_UDP_20001
2UDP20002UDP eth0, 127.0.0.1:20002Ecu_eth0_UDP_20002
3UDP20003UDP eth0, 127.0.0.1:20003Ecu_eth0_UDP_20003

Three UDP cards in APPLICATION ENDPOINTS

Figure 3-8. The APPLICATION ENDPOINTS section after adding the three endpoints. ① The + button at the right of the header, ② the summary line of the first card, UDP eth0, 127.0.0.1:20001, ③ the TYPE toggle of the expanded third card (UDP selected), ④ PORT NUMBER = 20003. Each card has a × on the right for deletion.

The endpoint name has no input field; it is assigned automatically by the rule {node}_{connector}_{UDP|TCP}_{port}. The order in which you set TYPE and PORT NUMBER does not matter, and the resulting name is the same. Do not create any TCP endpoint.

Saving​

  1. Click an empty spot on the canvas to clear the selection. The properties panel closes.

  2. Press Ctrl+S. The modified marker ● on the tab AADesign:System disappears and design/IVC.io.model is saved.

    The System editor canvas after saving, fitted to view

    Figure 3-9. The System editor canvas after saving. ① The green square inside the node Ecu (controller Ecu_EthernetController), ② the blue square on the bottom border (connector eth0), ③ the blue square below (cluster EthernetCluster), with the name EthernetCluster under it. The blue line between the connector and the cluster is the PhysicalChannel connection, and the short orange line between the controller and the connector is the controller reference. The V icon in the footer carries no badge.

Note. Ctrl+S saves design/IVC.io.model when the System editor has focus, so click the canvas first. The controller and connector squares show no names; click a square and check its name in the panel. Only the cluster square has its name written under it.

Checking the Validation Result and the NM Cluster Tab​

Saving the topology raises no validation finding. Network Management (NM) is off for a new cluster and is turned on per cluster in the cluster dialog, so EthernetCluster gets no UDP NM cluster and there are no NM timing values to fill in. In this section you check the VALIDATION panel and the NM CLUSTER tab of the cluster dialog.

Checking the Validation Result​

  1. Look at the V icon in the footer at the bottom of the window, the fifth icon from the left. It carries no badge.

  2. Look at the VALIDATION panel. If it is closed, click the V icon in the footer. The header carries no badge, and the panel reads No validation issues. under the columns ELEMENT TYPE, NAME, DESCRIPTION and CONSTR.

    Validation panel showing No validation issues.

    Figure 3-10. The VALIDATION panel right after saving the topology. The header has no badge and the body is the single line No validation issues..

The validation result is zero findings, the same as at the end of Configuring the Machine. design/IVC.io.model now holds the controller, the connector with its endpoints and the cluster, but no Network Management settings.

Checking the NM CLUSTER Tab in the Dialog​

  1. Double-click the cluster square on the canvas. If the VALIDATION panel covers it, first click the V icon in the footer to close the panel. A dialog titled Communication Cluster Configuration [EthernetCluster] opens with the tabs CLUSTER, NM CLUSTER and TIME DOMAIN, showing the CLUSTER tab first.

  2. Click the NM CLUSTER tab. The hollow dot in front of the tab name means that NM is off for this cluster, and the tab shows the NM editor only as a dimmed preview that takes no input.

    The disabled NM CLUSTER tab of the cluster dialog

    Figure 3-11. The Communication Cluster Configuration [EthernetCluster] dialog on the NM CLUSTER tab. ① The NM CLUSTER tab with a hollow dot in front of its name, ② the dimmed preview of NM CONFIGURATION and NM STATE MACHINE, which takes no input.

  3. Click the Close button at the bottom right. No save confirmation appears.

While NM is off, the values in the preview are not stored in the design. CHANNEL in NM CONFIGURATION on the left shows NAME NmCluster_EthernetCluster, and NM TIMING CONFIGURATION shows NM MSG CYCLE TIME 0.5, NM REPEAT MESSAGE TIME 1, NM NETWORK TIMEOUT 2, NM WAIT BUS SLEEP TIME 1.5, NM REMOTE SLEEP INDICATION TIME 1 and NM MESSAGE TIMEOUT TIME 2 (all in s). TIME DOMAIN carries the same hollow dot. The CLUSTER and TIME DOMAIN tabs are not used.

Caution. Do not choose Enable. Hovering over the NM CLUSTER tab shows the tooltip Disabled. Right-click to enable., and right-clicking the tab opens a menu with the single item Enable, which turns NM on for this cluster. The reference design has no NM settings, so this tutorial leaves NM off.

Checking the Validation Result Again​

  1. Look at the VALIDATION panel. If it is closed, click the V icon in the footer. It still shows No validation issues..

Closing the dialog without choosing Enable leaves the design as it was, so the controller, connector, cluster and endpoints you created earlier remain as they are.

Why Is It Designed This Way?​

  • The connector is named eth0, and the cluster and channel are EthernetCluster / PhysicalChannel. These match the names of the Ethernet connector, cluster and physical channel in the reference design. The channel has no VLAN, so VLAN ID is left empty.
  • The controller is not in the reference design, but you create one. The connector eth0 of the reference design has no controller reference. In the System editor, however, attaching a connector to a controller is the natural way, so you create and choose Ecu_EthernetController. In ARXML Export, ETHERNET-COMMUNICATION-CONTROLLER Ecu_EthernetController appears as an element added over the reference design, and the connector eth0 carries a COMM-CONTROLLER-REF.
  • The SOME/IP service discovery port 30490 comes from the connector's multicast port. The panel of the HPC node has no field for the SD port. The SOMEIP-SERVICE-DISCOVERY-PORT 30490 and the multicast SD address reference in the export are built from MULTICAST IPV4 ADDRESS 224.0.0.1 and MULTICAST PORT 30490 of the connector eth0.
  • TTL and ASSIGNMENT PRIORITY are left empty. The multicast network endpoint of the reference design has TTL 0 and ASSIGNMENT-PRIORITY 0; the exporter writes these two values as the constant 0 for the multicast endpoint, so the result matches the reference design without any input.
  • There are three UDP ports, 20001, 20002 and 20003, and no TCP port. The automatically assigned endpoint names such as Ecu_eth0_UDP_20001 match the AP-APPLICATION-ENDPOINT names of the reference design. In Binding Service Instances to the Connector, the consumer Actuator_Sensor is bound to 20001, Fusion_Sensor to 20002 and the provider Provider_Sensor to 20003.
  • Network Management stays off. The reference design contains no Network Management elements at all. NM is turned on per cluster with Enable on the NM CLUSTER tab and is off for a new cluster, so you leave it off: EthernetCluster gets no UDP NM cluster, and design/IVC.io.model holds no NM settings.

Check​

  • The System editor canvas shows the green square (controller) inside the node Ecu, the blue square (connector) on its bottom border, the blue square (cluster) below with the name EthernetCluster under it, and the blue line connecting the latter two.
  • Clicking the controller shows NAME = Ecu_EthernetController in the ETHERNET CONTROLLER panel.
  • Clicking the connector shows NAME = eth0, CONTROLLER = Ecu_EthernetController and CONNECTED CHANNEL = EthernetCluster / PhysicalChannel in the ETHERNET CONNECTOR panel.
  • Under NETWORK ENDPOINT, UNICAST IPV4 ADDRESS is 127.0.0.1, ADDRESS SOURCE is FIXED, MULTICAST IPV4 ADDRESS is 224.0.0.1 and MULTICAST PORT is 30490.
  • APPLICATION ENDPOINTS holds the three cards UDP eth0, 127.0.0.1:20001, UDP eth0, 127.0.0.1:20002 and UDP eth0, 127.0.0.1:20003, and no TCP card.
  • Clicking the cluster shows NAME = EthernetCluster, CHANNEL NAME = PhysicalChannel and Ecu/eth0 under Connected Connectors (1) in the ETHERNET CLUSTER panel.
  • In Communication Cluster Configuration [EthernetCluster], the tabs NM CLUSTER and TIME DOMAIN have a hollow dot in front of their names.
  • The tab AADesign:System carries no modified marker ●.
  • The VALIDATION panel shows No validation issues. and the header has no badge.

Next Step​

In Data Types you use the DataType editor to create the C++ implementation data types ByteArray and String that the service interface will use.