Teil 2 hat die API gezeigt. Dieser Teil zeigt die ARXML-Seite — und zwar mit
den tatsächlichen Container- und Parameternamen aus Kapitel 10 der SWS, nicht
mit den vereinfachten Platzhaltern (EthSwtConfigSet, EthSwtVlan), die in
der ursprünglichen Themenplanung als Arbeitshypothese standen.
Die Container-Hierarchie
EthSwt
└── EthSwtConfig (Post-Build-Konfigurationssatz)
└── EthSwtPort (1..* — eine Instanz pro Switch-Port)
├── EthSwtPortIdx
├── EthSwtPortTrcvRef
├── EthSwtPortMacLayerType / -Speed / -SubType
├── EthSwtPortRole
├── EthSwtPortTimeStampSupport
├── EthSwtFramePreemptionEnable
├── EthSwtPortMacSecEnabled (+ Bypass-Listen)
├── EthSwtPortEgress (1 — Egress-Verhalten)
└── EthSwtPortIngress (1 — Ingress-Verhalten, u. a. VLAN)
├── EthSwtPortIngressDefaultVlan
├── EthSwtPortIngressDefaultPriority
├── EthSwtPortIngressDropUntagged
├── EthSwtPortIngressVlanTranslationTable (0..1)
│ └── EthSwtPortIngressVlanTranslationTableEntry (0..*)
│ (IngressVlanID → TranslatedVlanID)
└── EthSwtPortPriorityRegeneration (genau 8 — eine je Priorität)Anders als ursprünglich angenommen gibt es keinen eigenständigen
|
Die wichtigsten Parameter von EthSwtPort
| Parameter | Bedeutung |
|---|---|
| Instanz-ID des Ports (0..255) — Pre-Compile-Parameter, |
| Referenz auf den zugehörigen |
| Anbindungsart und Geschwindigkeit des Ports (z. B.
|
| U. a. |
| Hardware-Zeitstempel für diesen Port aktivieren (Pflichtparameter, Multiplizität 1) — Grundlage für EthTSyn/gPTP |
| Frame Preemption (IEEE 802.1Q) für diesen Port, Default |
| MACsec direkt im Switch-Port aktivieren, inkl. Bypass für bestimmte EtherTypes/VLANs/Ziel-MAC-Adressen — eigener Post in dieser Serie |
VLAN-Parameter in EthSwtPortIngress
| Parameter | Bedeutung |
|---|---|
| VLAN-ID, die einem eingehenden, nicht getaggten Frame zugewiesen wird |
| Default-Priorität (0–7) für eingehende Frames ohne PCP-Tag |
| Steuert, ob untagged Frames an diesem Port verworfen werden |
| Optionale Tabelle von (IngressVlanID → TranslatedVlanID)-Paaren — die eingehende VLAN-ID wird beim Ingress durch eine andere ersetzt |
| Genau 8 Einträge (einer je PCP-Wert 0–7), die eingehende Priorität auf eine regenerierte Priorität abbilden — laut SWS immer vorhanden, weil ein Switch grundsätzlich eine Priority-Regeneration durchführt |
|
Vollständiges ARXML-Beispiel (Auszug, vereinfacht)
<ECUC-CONTAINER-VALUE>
<SHORT-NAME>EthSwtConfig_0</SHORT-NAME>
<DEFINITION-REF>/AUTOSAR/EthSwt/EthSwtConfig</DEFINITION-REF>
<SUB-CONTAINERS>
<ECUC-CONTAINER-VALUE>
<SHORT-NAME>EthSwtPort_0</SHORT-NAME>
<DEFINITION-REF>/AUTOSAR/EthSwt/EthSwtConfig/EthSwtPort</DEFINITION-REF>
<PARAMETER-VALUES>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF>.../EthSwtPortIdx</DEFINITION-REF>
<VALUE>0</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-TEXTUAL-PARAM-VALUE>
<DEFINITION-REF>.../EthSwtPortMacLayerSpeed</DEFINITION-REF>
<VALUE>ETH_MAC_LAYER_SPEED_1G</VALUE>
</ECUC-TEXTUAL-PARAM-VALUE>
<ECUC-REFERENCE-VALUE>
<DEFINITION-REF>.../EthSwtPortTrcvRef</DEFINITION-REF>
<VALUE-REF DEST="ECUC-CONTAINER-VALUE">/.../EthTrcv_Port0</VALUE-REF>
</ECUC-REFERENCE-VALUE>
</PARAMETER-VALUES>
<SUB-CONTAINERS>
<ECUC-CONTAINER-VALUE>
<SHORT-NAME>EthSwtPortIngress_0</SHORT-NAME>
<DEFINITION-REF>.../EthSwtPort/EthSwtPortIngress</DEFINITION-REF>
<PARAMETER-VALUES>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF>.../EthSwtPortIngressDefaultVlan</DEFINITION-REF>
<VALUE>10</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF>.../EthSwtPortIngressDropUntagged</DEFINITION-REF>
<VALUE>false</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
</PARAMETER-VALUES>
</ECUC-CONTAINER-VALUE>
</SUB-CONTAINERS>
</ECUC-CONTAINER-VALUE>
<!-- weitere EthSwtPort-Instanzen (1..N) analog -->
</SUB-CONTAINERS>
</ECUC-CONTAINER-VALUE>Typische Konfigurationsfehler
Fehlende oder falsche
EthSwtPortTrcvRef— der Port referenziert keinen oder den falschenEthTrcv, wodurchEthSwt_GetSwitchPortModespäterETHSWT_E_SYNCPORT2PHYmeldet (siehe Teil 2)Unvollständige
EthSwtPortPriorityRegeneration— weniger oder mehr als 8 Einträge sind laut Spec ein Konfigurationsfehler, nicht nur ein StilproblemEthSwtPortIngressDropUntaggedfalsch gesetzt — untagged Management- oder Boot-Traffic wird ungewollt verworfenVerwechslung von Default-VLAN und VLAN-Translation — ein Default-VLAN gilt nur für untagged Frames, eine Translation-Table-Entry wirkt dagegen auf bereits getaggte Frames mit passender
IngressVlanID
Serie
| Teil | Thema | Status |
|---|---|---|
1 | Grundlagen, SWS & Architektur | fertig |
2 | API & Initialisierung | fertig |
3 | ARXML-Konfiguration | dieser Post |
4 | VLAN-Management, Mirroring & Diagnose | folgt |
Weiter in der EthSwt-Serie: EthSwt Teil 4 — VLAN-Management, Mirroring & Diagnose