DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_TcpIp FIG-47ba29f72e65ee0d 822 × 1042 px 1 Release(s)

Figure 10.24: TcpIpLocalAddr

SHA-256 Inhalts-Fingerabdruck: 47ba29f72e65ee0db73293be90a4d22eef473343849c2e83ed9d363525617e3b
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08

1. Diagrammtyp & Architektur-Kontext

  • Klassifikation: UML-Klassendiagramm / AUTOSAR ECUC-Parameter-Konfigurations-Metamodell (EcucParamConfContainerDef).
  • Funktionale Einordnung: Definiert die Konfigurationsstruktur für lokale logische IP-Adressinstanzen (TcpIpLocalAddr) innerhalb des BSW-Moduls TcpIp (Communication Services Layer, AUTOSAR Classic Platform). Es modelliert die Adressierung (IPv4/IPv6, Adresstyp), die statische Zuweisung, die Bindung an physische bzw. logische Netzwerk-Controller (TcpIpCtrl), die Adressvergabe-Mechanismen sowie spezifische IPv6-Filterketten.

2. Komponenten, Entitäten & Schnittstellen

Hauptcontainer
  • TcpIpLocalAddr (EcucParamConfContainerDef, Multiplizität: 1..*): Repräsentiert eine logische lokale IP-Adress-Entität auf dem Steuergerät.
Konfigurationsparameter (Attribute)
  • TcpIpAddrId (EcucIntegerParamDef):
    • Wertebereich: min = 0, max = 65535, withAuto = true, symbolicNameValue = true.
    • Dient als generierter symbolischer Handle (TcpIp_LocalAddrIdType) für obere Schichten (z. B. SoAd).
  • TcpIpDomainType (EcucEnumerationParamDef):
    • Adressfamilie/Protokolldomäne; Literale:
      • TCPIP_AF_INET (IPv4)
      • TCPIP_AF_INET6 (IPv6)
  • TcpIpAddressType (EcucEnumerationParamDef):
    • Übertragungs-/Routing-Kategorie; Literale:
      • TCPIP_UNICAST
      • TCPIP_MULTICAST
      • TCPIP_ANYCAST
Referenzen (EcucReferenceDef)
  • TcpIpCtrlRef (Multiplizität: 1):
    • Referenziert Ziel-Container TcpIpCtrl (EcucParamConfContainerDef, Multiplizität 1..*).
    • Verknüpft die logische IP-Adresse fest mit einem konkreten Ethernet-/TcpIp-Controller (EthIf-Controller-Instanz).
  • TcpIpLocalAddrIPv6ExtHeaderFilterRef (Multiplizität: 0..1):
    • Referenziert Ziel-Container TcpIpIpV6ConfigExtHeaderFilter (EcucParamConfContainerDef, Multiplizität 0..*).
    • Ermöglicht optionales Filtern von IPv6 Extension Headern spezifisch für diese lokale Adresse.
Sub-Container
  • TcpIpAddrAssignment (EcucParamConfContainerDef, Multiplizität: 1..*):
    • Konfiguriert die zulässigen Adressierungs- und Akquisitionsmethoden (z. B. STATIC, DHCPv4, DHCPv6, LINK_LOCAL, AUTOIP, ROUTER_ADVERTISEMENT / SLAAC) sowie Prioritäten und Trigger-Reihenfolgen.
  • TcpIpStaticIpAddressConfig (EcucParamConfContainerDef, Multiplizität: 0..1):
    • Nimmt statische IP-Parameter auf, wenn die manuelle Adressvergabe aktiv ist:
      • TcpIpStaticIpAddress (EcucStringParamDef): Statische IPv4- (Dotted-Decimal) oder IPv6-Adresse (Hex/Kolon).
      • TcpIpNetmask (EcucIntegerParamDef, min = 0, max = 128, Multiplizität: 0..1): Subnetzmaske bzw. CIDR-Präfixlänge (Wertebereich 0 bis 128 deckt IPv4- und IPv6-Präfixe ab).
      • TcpIpDefaultRouter (EcucStringParamDef, Multiplizität: 0..1): Gateway-Adresse für das zugeordnete Subnetz.

3. Dynamisches Verhalten & Sequenzablauf

Da es sich um ein Konfigurations-Metamodell handelt, steuern diese Metadaten die deterministische Laufzeit-Initialisierung und Zustandsübergänge des Stacks:

  1. Initialisierungsphase (TcpIp_Init):
    • Der Post-Build- oder Link-Time-Konfigurationssatz baut interne Datenstrukturen pro TcpIpAddrId auf und initialisiert die Interfaces gemäß TcpIpDomainType und TcpIpCtrlRef.
  2. Adressanforderung (TcpIp_RequestComMode):
    • Die Applikation bzw. der Socket-Adaptor (SoAd) fordert über die API TcpIp_RequestComMode(LocalAddrId, TCPIP_STATE_ONLINE) die Netzwerkverbindung an.
    • Der Stack durchläuft die unter TcpIpAddrAssignment definierten Verfahren (z. B. Start DHCP Client oder Setzen der Parameter aus TcpIpStaticIpAddressConfig).
  3. Zustandsrückmeldung (Asynchroner Callback):
    • Sobald die Adresse akquiriert und validiert wurde (inkl. ARP/DAD-Prüfung), erfolgt der Callback SoAd_LocalIpAddrAssignmentChg(LocalAddrId, TCPIP_IPADDR_STATE_ASSIGNED).
    • Bei Link-Down oder Ablauf von Leases wechselt der Status auf TCPIP_IPADDR_STATE_UNASSIGNED.
  4. Fehlerbehandlung (DET):
    • Aufruf von Stack-APIs mit unkonfigurierter oder fehlerhafter LocalAddrId löst den DET-Fehler TCPIP_E_INV_ARG aus.

4. Normative Relevanz & Entwickler-Hinweise

  • Symbolic Name Generation: Durch symbolicNameValue = true für TcpIpAddrId generiert der ECUC-Generator zwingend Pre-Compile-Makros (z. B. TcpIpConf_TcpIpLocalAddr_TcpIpLocalAddr_Eth0_IPv4), die in oberen Schichten (z. B. SoAd, DoIP, Sd) typsicher als TcpIp_LocalAddrIdType referenziert werden müssen.
  • Dual-Stack-Konsistenz: Da TcpIpNetmask bis 128 definiert ist, muss der Code-Generator bei TcpIpDomainType == TCPIP_AF_INET prüfen, dass der Wert 32 nicht überschritten wird; bei IPv6 (TCPIP_AF_INET6) sind Werte bis 128 zulässig.
  • Kardinalitäts-Restriktionen: Mindestens eine TcpIpLocalAddr muss im Stack definiert sein (lowerMultiplicity = 1). Jede Adresse erfordert zwingend mindestens eine Zuweisungsmethode (TcpIpAddrAssignment [1..*]).
  • Socket-Bindung & Routing: Obere BSW-Module binden Sockets über TcpIp_Bind an die über TcpIpAddrId definierte IP-Adresse. Sockets für Multicast-Empfang (TCPIP_MULTICAST) dürfen nur an TcpIpLocalAddr gebunden werden, deren TcpIpAddressType explizit als Multicast typisiert ist.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R23-11 → R24-11 redaktionell Vorgänger: FIG-2aa60d4f48a0b33a
  • TcpIpNetmask: EcucIntegerParamDef: Zeilenumbruch im Klassenkopf (Bezeichner und Typ zweizeilig dargestellt statt einzeilig).
R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-73f23e28d158ac42

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

TcpIpLocalAddr: EcucParamConfContainerDef | lowerMultiplicity = 1 upperMultiplicity = * | TcpIpAddrId: EcucIntegerParamDef | min = 0 max = 65535 withAuto = true symbolicNameValue = true | TcpIpDomainType: EcucEnumerationParamDef | TCPIP_UNICAST: EcucEnumerationLiteralDef | TCPIP_AF_INET6: EcucEnumerationLiteralDef | TcpIpAddressType: EcucEnumerationParamDef | TCPIP_AF_INET: EcucEnumerationLiteralDef | TCPIP_MULTICAST: EcucEnumerationLiteralDef | TcpIpCtrl: EcucParamConfContainerDef | lowerMultiplicity = 1 upperMultiplicity = * | TcpIpCtrlRef: EcucReferenceDef | TcpIpAddrAssignment: EcucParamConfContainerDef | lowerMultiplicity = 1 upperMultiplicity = * | TcpIpStaticIpAddressConfig: EcucParamConfContainerDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpStaticIpAddress: | EcucStringParamDef | TcpIpNetmask: EcucIntegerParamDef | min = 0 max = 128 lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpDefaultRouter: EcucStringParamDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpLocalAddrIPv6ExtHeaderFilterRef: | EcucReferenceDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpIpV6ConfigExtHeaderFilter: | EcucParamConfContainerDef | lowerMultiplicity = 0 upperMultiplicity = * | TCPIP_ANYCAST: EcucEnumerationLiteralDef +literal | +subContainer +parameter | +literal | +parameter | +literal | +parameter | +literal | +reference | +literal | +subContainer | +parameter | +destination | +destination | +parameter | +reference | +parameter

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_TcpIp S. 230 10.24 Figure 10.24: TcpIpLocalAddr