E2E Plugin Mechanism¶
This section defines requirements for the End-to-End (E2E) protection plugin mechanism in OpenSOMEIP. The plugin mechanism allows external E2E profiles (e.g., AUTOSAR profiles) to be integrated without modifying the core implementation.
Overview¶
The E2E protection mechanism provides:
A plugin interface for custom E2E profiles
A registry for managing registered profiles
A standard profile using public standards (SAE-J1850, ITU-T X.25)
Requirements¶
Plugin Interface¶
The implementation shall provide an abstract plugin interface ( The interface shall define the following methods:
Rationale: Allows AUTOSAR or custom E2E profiles to be provided as external libraries without modifying the core implementation. Code Location: |
Profile Registry¶
The implementation shall provide a registry ( The registry shall:
Rationale: Centralized management of E2E profiles enables runtime selection and configuration. Code Location: |
Plugin Registration API¶
The implementation shall provide an API for registering E2E profiles at runtime. The API shall:
Rationale: Enables dynamic loading and registration of E2E profile plugins. Code Location: |
Standard Profile¶
The implementation shall provide a standard E2E profile using publicly available standards:
Rationale: Provides E2E protection without requiring proprietary AUTOSAR profiles. Code Location: |
E2E Header Format¶
The E2E header shall be inserted after the Return Code field in the SOME/IP header, with its position determined by the configured offset value (default: 64 bits = 8 bytes). The standard E2E header format shall be:
Rationale: Complies with SOME/IP specification feat_req_someip_102 and feat_req_someip_103. Code Location: |
Traceability¶
Implementation Files¶
include/e2e/e2e_profile.h- Profile interfaceinclude/e2e/e2e_profile_registry.h- Registry interfaceinclude/e2e/e2e_header.h- E2E header structureinclude/e2e/e2e_config.h- Configuration structureinclude/e2e/e2e_protection.h- Protection APIsrc/e2e/e2e_profile_registry.cpp- Registry implementationsrc/e2e/e2e_protection.cpp- Protection implementationsrc/e2e/e2e_profiles/standard_profile.cpp- Standard profile
Test Files¶
tests/test_e2e.cpp- Unit teststests/integration/test_e2e_integration.py- Integration teststests/system/test_e2e_system.py- System tests
Examples¶
examples/e2e_protection/basic_e2e.cpp- Basic usageexamples/e2e_protection/plugin_integration.cpp- Plugin exampleexamples/e2e_protection/safety_critical.cpp- Safety-critical usage