DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: tcpip Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_TCPIP_SECTION_7_8_2_TCP_IP_Stack_state_handling

Quelle: SWS_TcpIp.pdf (Seite 60) • Ziel-Anforderung: SWS_TcpIp_00400

Wortlaut

7.8.2 TCP/IP Stack state handling The internal states are shown in Figure 7.2. Details are described in the following requirements. An overview of the internal states is described in [SWS_TCPIP_00073]. Initial TCPIP_STATE_STARTUP entry / EthSM_TcpIpModeIndication(TCPIP_STATE_STARTUP) TCPIP_STATE_OFFLINE entry / EthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE) TCPIP_STATE_SHUTDOWN entry / EthSM_TcpIpModeIndication(TCPIP_STATE_SHUTDOWN) TCPIP_STATE_ONLINE entry / EthSM_TcpIpModeIndication(TCPIP_STATE_ONLINE) TCPIP_STATE_ONHOLD entry / EthSM_TcpIpModeIndication(TCPIP_STATE_ONHOLD) TcpIp_RequestComMode(TCPIP_STATE_ONHOLD) /Up_LocalIpAddrAssignmentChg (TCPIP_IPADDR_STATE_ONHOLD) deactivate the communication within TcpIp module [Ip priority reassignment] TcpIp_RequestComMode(TCPIP_STATE_OFFLINE) /Up_LocalIpAddrAssignmentChg(TCPIP_IPADDR_STATE_UNASSIGNED) deactivate the communication within the TcpIp module request releasing the resources [ressources are released] TcpIp_RequestComMode (TCPIP_STATE_ONLINE) /reactivate the communication within the TcpIp module Up_LocalIpAddrAssignmentChg (TCPIP_IPADDR_STATE_ASSIGNED) TcpIp_RequestComMode (TCPIP_STATE_ONLINE) /enable IP assignment TcpIp_RequestComMode (TCPIP_STATE_OFFLINE) /Up_LocalIpAddrAssignmentChg (TCPIP_IPADDR_STATE_UNASSIGNED) request releasing the resources TcpIp_Init() [Ip priority reassignment] [Ip is assigned] /Up_LocalIpAddrAssignmentChg (TCPIP_IPADDR_STATE_ASSIGNED) TcpIp_RequestComMode(TCPIP_STATE_ONLINE) /immediately release the resources do not inform EthSM upon entering state TCPIP_STATE_OFFLINE start assigning the resources after TCPIP_STATE_OFFLINE was entered and proceed to TCPIP_STATE_STARTUP TcpIp_RequestComMode (TCPIP_STATE_OFFLINE) /abort IP assignment Figure 7.2: Ctrl state machine of the TcpIp [SWS_TcpIp_00083] ⌈The TcpIp module shall maintain a separate state for each EthIf controller used by the TcpIp module, store the latest state request and distinguish at least the following states: TCPIP_STATE_OFFLINE, TCPIP_STATE_STARTUP, TCPIP_STATE_ONLINE, TCPIP_STATE_ONHOLD, and TCPIP_STATE_SHUTDOWN.⌋ [SWS_TcpIp_00136] ⌈The TcpIp module shall initiate according actions to achieve the requested state if the stored state request is not the active state.⌋ [SWS_TcpIp_00084] ⌈After each transition the TcpIp module shall report the new state to EthSM via EthSM_TcpIpModeIndication().⌋ [SWS_TcpIp_00075] ⌈If TCPIP_STATE_ONLINE is requested for an EthIf controller and the current state is TCPIP_STATE_OFFLINE for that EthIf controller, the TcpIp module shall • enable all IP address assignments according to the configured assignment methods (TcpIpAssignmentMethod) and triggers (TcpIpAssignmentTrigger) for that EthIf controller. (Note: If the assignment trigger is configured to TCPIP_MANUAL no assignment is actually performed but initiation by the upper layer enabled) and • enter the state TCPIP_STATE_STARTUP for the EthIf controller. ⌋ [SWS_TcpIp_00127] ⌈In case multiple IP address assignment methods are configured and a new address from an assignment method with a higher priority (1 is highest) becomes available, TcpIp shall use the new IP address and release the IP address previously assigned by an assignment method with a lower priority.⌋ [SWS_TcpIp_00088] ⌈If TCPIP_STATE_OFFLINE is requested for an EthIf controller and the current state is TCPIP_STATE_STARTUP for that EthIf controller, the TcpIp module shall • abort all ongoing IP address assignment actions appropriate and • enter the state TCPIP_STATE_OFFLINE for the EthIf controller. ⌋ [SWS_TcpIp_00085] ⌈If at least one IP address has been successfully assigned to an EthIf controller and the current state is TCPIP_STATE_STARTUP for that EthIf controller, the TcpIp module shall enter the state TCPIP_STATE_ONLINE for the EthIf controller.⌋ Note: After successfully assignment of an IP address to the EthIf controller the upper layer module will be notified via <Up_LocalIpAddrAssignmentChg>() with State TCPIP_IPADDR_STATE_ASSIGNED. [SWS_TcpIp_00076] ⌈If TCPIP_STATE_ONHOLD is requested for an EthIf controller and the current state is TCPIP_STATE_ONLINE for that EthIf controller, the TcpIp module shall • notify the upper layer via <Up_LocalIpAddrAssignmentChg>() with State TCPIP_IPADDR_STATE_ONHOLD for all assigned IP addresses of the related EthIf controller, and • deactivate the communication within the TcpIp module for the related EthIf controller, and • enter the state TCPIP_STATE_ONHOLD for the EthIf controller. ⌋ [SWS_TcpIp_00086] ⌈If TCPIP_STATE_ONLINE is requested for an EthIf controller and the current state is TCPIP_STATE_ONHOLD for that EthIf controller, the TcpIp module shall • reactivate the communication within the TcpIp module for the related EthIf controller, • call <Up_LocalIpAddrAssignmentChg>() with State TCPIP_IPADDR_STATE_ASSIGNED for all assigned IP addresses of the related EthIf controller, and • enter the state TCPIP_STATE_ONLINE for the EthIf controller. ⌋ [SWS_TcpIp_00077] An offline request for an online state ⌈If TCPIP_STATE_OFFLINE is requested or all assigned IP addresses have been released for an EthIf controller and the current state is TCPIP_STATE_ONLINE for that EthIf controller, the TcpIp module shall • call <Up_LocalIpAddrAssignmentChg>() with state TCPIP_IPADDR_STATE_UNASSIGNED for all assigned IP addresses of the related EthIf controller, • deactivate the communication (requests from and to the upper layer) within the TcpIp module for the related EthIf controller, • in regards to [SWS_TcpIp_00072] request releasing related resources, i.e. any socket using the EthIf controller shall start closing procedure (TCP) or be closed (UDP) and after sockets are closed, any IP address assigned to the EthIf controller shall be unassigned, • in case no EthIf controller is assigned any more, all unbound sockets shall be released as well, and • enter the state TCPIP_STATE_SHUTDOWN for the EthIf controller. ⌋ [SWS_TcpIp_00397] An offline request for an onhold state ⌈If TCPIP_STATE_OFFLINE is requested or all assigned IP addresses have been released for an EthIf controller and the current state is TCPIP_STATE_ONHOLD for that EthIf controller, the TcpIp module shall • call <Up_LocalIpAddrAssignmentChg>() with state TCPIP_IPADDR_STATE_UNASSIGNED for all assigned IP addresses of the related EthIf controller, • in regards to [SWS_TcpIp_00072] and [SWS_TcpIp_00074] request releasing related resources, i.e. any socket using the EthIf controller shall be closed and thereafter any IP address assigned to the EthIf controller shall be unassigned, • in case no EthIf controller is assigned any more, all unbound sockets shall be released as well, and • enter the state TCPIP_STATE_SHUTDOWN for the EthIf controller. ⌋ [SWS_TcpIp_00398] TCP sockets immediate release in an onhold state ⌈If TCPIP_STATE_OFFLINE is requested and the current state of that EthIf controller is TCPIP_STATE_ONHOLD, the TcpIp module shall in regards to [SWS_TcpIp_00074] immediately release TCP sockets without any transmission.⌋ [SWS_TcpIp_00399] TCP sockets release with handshake in an online state ⌈If TCPIP_STATE_OFFLINE is requested, the current state of that EthIf controller is TCPIP_STATE_ONLINE and TCP sockets are in one of the states SYN-RECEIVED, FIN-WAIT-1, FIN-WAIT-2, LAST-ACK, TIME-WAIT, CLOSING, CLOSE-WAIT or ESTABLISHED, the TcpIp module shall release TCP sockets with handshake as defined in IETF RFC 793.⌋ [SWS_TcpIp_00400] TCP sockets immediate release in an online state ⌈If TCPIP_STATE_OFFLINE is requested, the current state of that EthIf controller is TCPIP_STATE_ONLINE and TCP sockets are in the state SYN-SENT or LISTEN, the TcpIp module shall immediately release TCP sockets without handshake as defined in IETF RFC 793.⌋ [SWS_TcpIp_00372] ⌈If TCPIP_STATE_ONLINE is requested and the current state of an EthIf controller is TCPIP_STATE_SHUTDOWN, then TcpIp module shall • immediately finish releasing all related resources stated in [SWS_TcpIp_00077], • TCP connections shall be aborted and the ones that are still in one of the states (SYN-RECEIVED, CLOSE-WAIT, FIN-WAIT-1, FIN-WAIT-2) shall transmit a RST-segment to inform a remote host as soon as possible that the connection was closed, • enter the state TCPIP_STATE_OFFLINE for the EthIf controller without indication this state to the EthSM,

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

Cited verbatim in the snippet (deterministic citation).

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_TcpIp.pdf
Dokumentseite Seite 60
Ziel-Modul tcpip (classic)
Ziel-Anforderung SWS_TcpIp_00400
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95