AUTOSAR SWS EthernetInterface
AUTOSAR SWS EthernetInterface
AUTOSAR CP R22-11
Specification of Ethernet
Document Title Interface
Document Owner AUTOSAR
Document Responsibility AUTOSAR
Document Identification No 417
• Introduction of Eth_GeneralTypes.h
• Support of API deviation for
asynchronous implementation
AUTOSAR • Changes in API of
2013-10-31 4.1.2 Release EthIf_ProvideTxBuffer and
Management EthIf_SetPhysAddr
• Editiorial changes
• Removed chapter(s) on change
documentation
• Remove “Comercial Off The Shelf”
AUTOSAR use case
2013-03-15 4.1.1
Administration • VLAN support
• 1000MBit Ethernet support
AUTOSAR • Description of payload data in
2011-12-22 4.0.3
Administration EthIf_Cbk_RxIndication adapted
• Further post-build configurable
parameters
• EthIf_MainFunctionTx functional
requirements improved (functionality
AUTOSAR split)
2010-09-30 3.1.5
Adiministration • ’Instance ID’ removed from Version
Info (concerns EthIf_GetVersionInfo
API)
• Additional development error in
EthIf_GetVersionInfo API
AUTOSAR
2010-02-02 3.1.4 • Initial Release
Administration
Disclaimer
This work (specification and/or software implementation) and the material contained in
it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR and the
companies that have contributed to it shall not be liable for any use of the work.
The material contained in this work is protected by copyright and other types of intel-
lectual property rights. The commercial exploitation of the material contained in this
work requires a license to such intellectual property rights.
This work may be utilized or reproduced without any modification, in any form or by
any means, for informational purposes only. For any other purpose, no part of the work
may be utilized or reproduced, in any form or by any means, without permission in
writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.
Contents
1 Introduction and functional overview 11
3 Related documentation 14
3.1 Input documents & related standards and norms . . . . . . . . . . . . 14
3.2 Related specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Constraints and assumptions 16
4.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 Applicability to car domains . . . . . . . . . . . . . . . . . . . . . . . . 16
5 Dependencies to other modules 17
6 Requirements Tracing 18
7 Functional specification 20
7.1 Ethernet BSW stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.1.1 Indexing scheme for Ethernet controller . . . . . . . . . . . . 20
7.1.2 Indexing scheme for Ethernet switches . . . . . . . . . . . . 21
7.1.3 Ethernet Interface main function . . . . . . . . . . . . . . . . 21
7.1.4 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.1.5 Configuration description . . . . . . . . . . . . . . . . . . . . 22
7.1.6 VLAN support . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.1.7 Wake up support . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.1.8 Ethernet Switch Management support . . . . . . . . . . . . . 23
7.1.9 Handling of maintained Ethernet hardware . . . . . . . . . . 24
7.1.9.1 EthIfSwitchPortGroup . . . . . . . . . . . . . . . . . 25
7.1.9.2 Switching of EthIfController and the corresponding
Ethernet hardware . . . . . . . . . . . . . . . . . . . 26
7.1.9.3 Additional Ethernet switch port handling . . . . . . . 30
7.1.10 Communication control . . . . . . . . . . . . . . . . . . . . . 31
7.1.11 Global Time support . . . . . . . . . . . . . . . . . . . . . . . 32
7.1.12 Wireless Ethernet Support . . . . . . . . . . . . . . . . . . . 32
7.1.13 Cellular V2X Support . . . . . . . . . . . . . . . . . . . . . . 32
7.1.14 MACsec support . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.2 Security Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3 Error Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.3.1 Development Errors . . . . . . . . . . . . . . . . . . . . . . . 36
7.3.2 Runtime Errors . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.3.3 Transient Faults . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.3.4 Production Errors . . . . . . . . . . . . . . . . . . . . . . . . 37
7.3.5 Extended Production Errors . . . . . . . . . . . . . . . . . . . 37
8 API specification 38
8.3.40 EthIf_SetBufWTxParams . . . . . . . . . . . . . . . . . . . . 75
8.3.41 EthIf_SetRadioParams . . . . . . . . . . . . . . . . . . . . . 76
8.3.42 EthIf_SetChanRxParams . . . . . . . . . . . . . . . . . . . . 77
8.3.43 EthIf_SetChanTxParams . . . . . . . . . . . . . . . . . . . . 78
8.3.44 EthIf_GetChanRxParams . . . . . . . . . . . . . . . . . . . . 79
8.3.45 EthIf_ProvideTxBuffer . . . . . . . . . . . . . . . . . . . . . . 80
8.3.46 EthIf_Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.3.47 EthIf_GetVersionInfo . . . . . . . . . . . . . . . . . . . . . . 83
8.3.48 EthIf_GetSwitchPortMode . . . . . . . . . . . . . . . . . . . . 83
8.3.49 EthIf_GetTransceiverMode . . . . . . . . . . . . . . . . . . . 84
8.3.50 EthIf_SwitchPortGetLinkState . . . . . . . . . . . . . . . . . 85
8.3.51 EthIf_TransceiverGetLinkState . . . . . . . . . . . . . . . . . 85
8.3.52 EthIf_SwitchPortGetBaudRate . . . . . . . . . . . . . . . . . 86
8.3.53 EthIf_TransceiverGetBaudRate . . . . . . . . . . . . . . . . . 87
8.3.54 EthIf_SwitchPortGetDuplexMode . . . . . . . . . . . . . . . . 87
8.3.55 EthIf_TransceiverGetDuplexMode . . . . . . . . . . . . . . . 88
8.3.56 EthIf_SwitchPortGetCounterValues . . . . . . . . . . . . . . 89
8.3.57 EthIf_SwitchPortGetRxStats . . . . . . . . . . . . . . . . . . 89
8.3.58 EthIf_SwitchPortGetTxStats . . . . . . . . . . . . . . . . . . 90
8.3.59 EthIf_SwitchPortGetTxErrorCounterValues . . . . . . . . . . 91
8.3.60 EthIf_SwitchPortGetMacLearningMode . . . . . . . . . . . . 91
8.3.61 EthIf_GetSwitchPortIdentifier . . . . . . . . . . . . . . . . . . 92
8.3.62 EthIf_GetSwitchIdentifier . . . . . . . . . . . . . . . . . . . . 93
8.3.63 EthIf_WritePortMirrorConfiguration . . . . . . . . . . . . . . . 93
8.3.64 EthIf_ReadPortMirrorConfiguration . . . . . . . . . . . . . . . 94
8.3.65 EthIf_DeletePortMirrorConfiguration . . . . . . . . . . . . . . 95
8.3.66 EthIf_GetPortMirrorState . . . . . . . . . . . . . . . . . . . . 95
8.3.67 EthIf_SetPortMirrorState . . . . . . . . . . . . . . . . . . . . 96
8.3.68 EthIf_SetPortTestMode . . . . . . . . . . . . . . . . . . . . . 97
8.3.69 EthIf_SetPortLoopbackMode . . . . . . . . . . . . . . . . . . 97
8.3.70 EthIf_SetPortTxMode . . . . . . . . . . . . . . . . . . . . . . 98
8.3.71 EthIf_GetPortCableDiagnosticsResult . . . . . . . . . . . . . 99
8.3.72 EthIf_RunPortCableDiagnostic . . . . . . . . . . . . . . . . . 99
8.3.73 EthIf_RunCableDiagnostic . . . . . . . . . . . . . . . . . . . 100
8.3.74 EthIf_SwitchGetCfgDataRaw . . . . . . . . . . . . . . . . . . 101
8.3.75 EthIf_SwitchGetCfgDataInfo . . . . . . . . . . . . . . . . . . 101
8.3.76 EthIf_SwitchPortGetMaxFIFOBufferFillLevel . . . . . . . . . 102
8.3.77 EthIf_TransceiverGetMacMethod . . . . . . . . . . . . . . . . 103
8.3.78 EthIf_EthGetSpiStatus . . . . . . . . . . . . . . . . . . . . . 104
8.3.79 EthIf_GetBufCV2xPC5RxParams . . . . . . . . . . . . . . . 105
8.3.80 EthIf_GetBufCV2xPC5TxParams . . . . . . . . . . . . . . . . 106
8.3.81 EthIf_SetBufCV2xPC5TxParams . . . . . . . . . . . . . . . . 107
8.3.82 EthIf_GetChanCV2xPC5TxParams . . . . . . . . . . . . . . 108
8.3.83 EthIf_SwitchMacSecUpdateSecY . . . . . . . . . . . . . . . 109
8.3.84 EthIf_MacSecUpdateSecY . . . . . . . . . . . . . . . . . . . 110
8.3.85 EthIf_SwitchMacSecUpdateSecYNotification . . . . . . . . . 110
Known Limitations
Currently, chapter 5 Dependencies to other modules does not describe the versions of
dependent modules. Thus, a version check will extend the chapter.
Note: The Ethernet Interface is specified in a way that allows for object code delivery
of the code module, following the "one-fits-all" principle, i.e. the entire configuration of
the Ethernet Interface can be carried out without modifying any source code. Thus,
the configuration of the Ethernet Interface can be carried out largely without detailed
knowledge of the underlying hardware.
3 Related documentation
AUTOSAR_SWS_EthernetSwitchDriver
[18] Specification of Wireless Ethernet Transceiver Driver
AUTOSAR_SWS_WirelessEthernetTransceiverDriver
[19] Specification of Cellular Vehicle-2-X Driver
AUTOSAR_SWS_CellularV2XDriver
[20] IEEE Standard for Local and metropolitan area networks-Media Access Control
(MAC) Security
https://ieeexplore.ieee.org/document/8585421
4.1 Limitations
The Ethernet Interface is conceptually able to access one or more Ethernet Driver and
one or more Ethernet Transceiver Driver.
It is not possible to transmit data which exceeds the available buffer size of the used
Ethernet controller. Longer data has to be transmitted using the Internet Protocol (IP)
or Transmission Control Protocol (TCP).
6 Requirements Tracing
The following tables reference the requirements specified in [12, SRS BSWGeneral]
and [13, SRS Ethernet] and links to the fulfillment of these. Please note that if column
“Satisfied by” is empty for a specific requirement this means that this requirement is
not fulfilled by this document.
Requirement Description Satisfied by
[FO_RS_MACsec_- MACsec Protocol support [SWS_EthIf_00560]
00001]
[FO_RS_MACsec_- MACsec Key Agreement Protocol [SWS_EthIf_00581] [SWS_EthIf_00582]
00002] support
[FO_RS_MACsec_- Configure which Ethernet ports use [SWS_EthIf_00561] [SWS_EthIf_00562]
00004] MACsec
[FO_RS_MACsec_- Configuration of unprotected traffic [SWS_EthIf_00563]
00007] (for Software-based MACsec)
[FO_RS_MACsec_- MACsec Security Events [SWS_EthIf_00564]
00009]
[FO_RS_MACsec_- Support of integrity and confidentiality [SWS_EthIf_00565]
00010]
[FO_RS_MACsec_- MAC Security TAG [SWS_EthIf_00566] [SWS_EthIf_00568]
00011] [SWS_EthIf_00569] [SWS_EthIf_00570]
[SWS_EthIf_00571]
[FO_RS_MACsec_- MACsec EtherType [SWS_EthIf_00567]
00012]
[FO_RS_MACsec_- Support of Extended Packet Number [SWS_EthIf_00572]
00017] (XPN)
[FO_RS_MACsec_- Secure Channel Identifier (SCI) [SWS_EthIf_00573]
00018]
[FO_RS_MACsec_- Secure Data [SWS_EthIf_00574]
00019]
[FO_RS_MACsec_- Integrity Check Value (ICV) [SWS_EthIf_00575]
00020]
[FO_RS_MACsec_- Protect function in software solution [SWS_EthIf_00576]
00021]
[FO_RS_MACsec_- Validation function in software [SWS_EthIf_00577]
00022] solution
[FO_RS_MACsec_- Support of MKA Packets [SWS_EthIf_00583]
00023]
[FO_RS_MACsec_- List of minimal supported cipher [SWS_EthIf_00578]
00032] suites
[FO_RS_MACsec_- Validation function for ICVs [SWS_EthIf_00579]
00033]
[FO_RS_MACsec_- Generation function for ICVs [SWS_EthIf_00580]
00034]
[RS_Ids_00810] Basic SW security events [SWS_EthIf_00502] [SWS_EthIf_00503]
[SRS_BSW_00101] The Basic Software Module shall be [SWS_EthIf_00304] [SWS_EthIf_00306]
able to initialize variables and
hardware in a separate initialization
function
[SRS_BSW_00170] The AUTOSAR SW Components [SWS_EthIf_00999]
shall provide information about their
dependency from faults, signal
qualities, driver demands
5
4
Requirement Description Satisfied by
[SRS_BSW_00369] All AUTOSAR Basic Software [SWS_EthIf_00304] [SWS_EthIf_00306]
Modules shall not return specific
development error codes via the API
[SRS_Eth_00106] The Ethernet Transceiver Driver shall [SWS_EthIf_00245] [SWS_EthIf_00500]
switch on/off wake up functionality at
pre compile time.
[SRS_Eth_00107] The Ethernet Transceiver Driver shall [SWS_EthIf_00486] [SWS_EthIf_00490]
support access to the wake up [SWS_EthIf_91004]
reason.
[SRS_Eth_00117] The Ethernet Transceiver Driver shall [SWS_EthIf_00474] [SWS_EthIf_91014]
provide access to standardized [SWS_EthIf_91016] [SWS_EthIf_91018]
hardware features [SWS_EthIf_91020] [SWS_EthIf_91021]
[SWS_EthIf_91061]
[SRS_Eth_00125] The Ethernet Switch Driver shall [SWS_EthIf_91003] [SWS_EthIf_91007]
support switch frame management
[SRS_Eth_00156] The Ethernet Interface shall provide [SWS_EthIf_00497] [SWS_EthIf_00499]
indication for a received sleep [SWS_EthIf_91006]
request.
[SRS_Eth_00157] The Ethernet Interface shall trigger [SWS_EthIf_00264] [SWS_EthIf_00266]
requested modes for Ethernet [SWS_EthIf_00478] [SWS_EthIf_00479]
hardware with wake-up capability [SWS_EthIf_00480] [SWS_EthIf_00481]
even if the requested mode has [SWS_EthIf_00482] [SWS_EthIf_00483]
already been reached. [SWS_EthIf_00504]
7 Functional specification
In case CAN XL is used as physical medium, the configuration will contain an EthIfEth-
CanXLCtrlRef instead of an EthIfEthCtrlRef and an EthIfCanXLTrcvRef instead of
an EthIfEthTrcvRef. In this case, APIs denoted as <EthDrv>_Xxx will be called as
CanXL_Xxx, otherwise as Eth_Xxx, and likewise APIs denoted as <EthTrcv>_Yyy will
be called as CanXLTrcv_Yyy, otherwise EthTrcv_Yyy.
Users of the Ethernet Interface identify Ethernet controller resources using an indexing
scheme as depicted in Figure 7.2.
Since the EthIf is not concerned with the individual EthSwtPorts which belong to the
individual EthSwtes there is no indexing scheme for EthSwtPorts required in the EthIf.
Any BSW module which interacts with EthSwtPorts can directly refer to the ECU con-
figuration of the EthSwtPort for the indexing.
[SWS_EthIf_00224] dThe EthIf shall dispatch all accesses by the EthIfSwitchIdx index
to the respective EthSwt driver module with the EthSwtIdx valuec()
7.1.4 Requirements
This chapter lists requirements that shall be fulfilled by Ethernet Interface module im-
plementations.
The Ethernet Interface module environment comprises all modules which are calling
interfaces of the Ethernet Interface module.
[SWS_EthIf_00005] dThe Ethernet Interface module shall support pre-compile time,
link time and post-build time configuration.c()
[SWS_EthIf_00006] dThe header file EthIf.h shall include a software and specification
version number.c()
[SWS_EthIf_00007] dThe Ethernet Interface module shall perform a consistency
check between code files and header files based on pre-process-checking the version
numbers of related code files and header files.c()
[SWS_EthIf_00008] dIn case development error detection is enabled for the Ether-
net Interface module: The Ethernet Interface module shall check API parameters for
validity and report detected errors to the DET.c()
DET API functions are specified in [14, Specification of Default Error Tracer].
[SWS_EthIf_00010] dThe Ethernet Interface module shall implement the API func-
tions specified by the Ethernet Interface SWS as real C-code functions and shall not
implement the API as macros for object code deliveries.c()
[SWS_EthIf_00011] dNone of the Ethernet Interface module header files shall define
global variables.c()
[SWS_EthIf_00012] dThe Ethernet Interface module shall provide an XML file that con-
tains the data, which is required for the SW identification (it shall contain the vendor
identification, module ID and software version information), configuration and integra-
tion process. This file should describe vendor specific configuration parameters as well
as it should contain recommended configuration parameter values.c()
[SWS_EthIf_00117] dThe MCG shall read the ECU configuration description of the
Ethernet Driver and the Ethernet Interface module(s). While cluster related config-
uration parameters are contained in the Ethernet Interface module configuration de-
scription, Ethernet Driver related configuration data is contained in the Ethernet Driver
module configuration description. The Ethernet Interface module specific configuration
tool shall read both ECU module descriptions to derive the configuration data for all
Ethernet Drivers mapped to the Ethernet Interface module.c()
[SWS_EthIf_00118] dThe MCG shall ensure the consistency of the generated config-
uration data.c()
[SWS_EthIf_00013] dThe configuration of the Ethernet Interface module shall be con-
figured at ECU configuration time. None of the communication parameters shall be
configured at runtime.c()
[SWS_EthIf_00128] dThe Ethernet Interface shall support Virtual Local Area Networks
(VLAN).c()
[SWS_EthIf_00129] dThe Ethernet Interface shall encapsulate Virtual Local Area Net-
works (VLAN) into virtual controllers (Ethernet Interface controller) representing a ded-
icated VLAN.
All BSW modules above the Ethernet Interface shall interact based on those virtual
controllers.
The Ethernet Driver and Transceiver deal only with real controllers and are not aware
of the existence of virtual controllers.
Caveat: the virtual controller represents the untagged VLAN if no VLAN ID is set.c()
[SWS_EthIf_00130] dThe Ethernet Interface shall use the buffers provided by the Eth-
ernet Driver for VLAN support. If Can XL is used the Ethernet Interface shall use the
buffers provided by the Can XL Driver.c()
Ethernet switch management enables the possibility to control an Ethernet frame re-
garding an Ethernet switch port specific ingress and egress handling as well as provid-
ing a Ethernet switch port specific timestamp. This functionality is essential for other
BSW modules, in particular for EthTSyn, which requires Port specific information as-
sociated to a time synchronization [15] or path-delay measurement frame.
For an introduction of the basic HW architecture and interaction, please refer to [10,
Specification of Ethernet Driver].
For more details regarding functional sequences, please refer to [16, Specification of
Wireless Ethernet Driver].
Note: Ethernet switch management API’s supporting the <Upper Layer> to gather /
modify Ethernet switch port specific communication attributes.
The Ethernet Interface handle the maintained Ethernet hardware due to its configura-
tion:
• EthIfPhysController (representing physical Ethernet controller)
• EthIfController (representing virtual Ethernet controller to support VLANs)
• EthIfTransceiver (representing PHYs)
• EthIfSwitch (representation of an Ethernet switch)
• EthIfSwitchPortGroups (representing groups of EthSwtPorts)
At least one EthIfPhysController should be present in the configuration to interact with
the Ethernet driver. EthIfController represent the connection between the physical Eth-
ernet controller and used Ethernet hardware to communicate on and Ethernet network.
This could be either an EthIfTransceiver or an EthIfSwitch or an EthIfSwitchPortGroup.
If an upper layer wants to control the communication on a particular Ethernet network,
it calls the corresponding EthIfController via EthIf_SetControllerMode. The Eth-
ernet Interface handle a communication request, such that it takes care to forward the
request to the corresponding Ethernet hardware:
• EthIfTransceiver
• EthIfSwitch
• EthIfSwitchPortGroup with reference of type "control"
For EthIfController with reference of type "link-information" to an EthIfSwitchPort-
Group, the Ethernet Interface supervise the link state of all EthSwtPorts within a EthIf-
SwitchPortGroup and signal the accumulated link state to the corresponding upper
layer (EthSM [3]). Those EthIfSwitchPortGroups are controlled via a call of EthIf_-
SwitchPortGroupRequestMode. This is used if EthIfSwitchPortGroups are con-
trolled according to partial network requests. Partial network requests are forwarded
to BswM and a particular rule in the BswM lead to an action to control the corre-
sponding EthIfSwitchPortGroup. Thus the upper layer of the Ethernet Interface to
control the communication is EthSM and the BswM, if EthIfSwitchPortGroup switching
7.1.9.1 EthIfSwitchPortGroup
The Ethernet Interface supports the grouping of Ethernet switch ports (EthIfSwitch-
PortGroup). The request (either ACITVE or DOWN) will be handled and rated by the
Ethernet Interface. The Ethernet Interface has to decide either to put the EthifSwitch-
PotGroup to DOWN or ACTIVE state. ACTIVE-request for EthIfSwitchPortGroup will
always overrule DOWN-request for EthIfSwitchPortGroups. If a DOWN-request for an
EthIfSwitchPortGroup is ready for execution, the EthIf will check the EthSwtPorts which
are referenced by the EthIfSwitchPortGroup and decide if the EthSwtPort can be set to
DOWN state. If this is valid, the EthSwtPort is set to DOWN state after the configured
switch off delay timer has expired.
Note: Further requirements for switching of EthIfSwitchPortGroups are available in
chapter 7.1.9.2 and 8.3.21.
The Ethernet Interface need to know the actual link state of the EthIfSwitchPortGroups.
The link state for an EthIfSwitchPortGroup is computed over all link states of the Eth-
SwtPorts which are referenced by the EthIfSwitchPortGroup. The execution of the
computation is called "link state accumulation" and the result is called "accumulated
link state". The accumulated link state of the EthIfSwitchPortGroup is the actual state
of the EthIfSwitchPortGroup. The actual state of the EthIfSwitchPortGroup. The ac-
tual state of EthIfSwitchPortGroups referenced by an EthIfController is reported to the
EthSM by calling EthSM_TrcvLinkStateChg. The actual state of EthIfSwitchPort-
Groups which are not referenced by any EthIfController is reported to the BswM by
calling BswM_EthIf_PortGroupLinkStateChg.
[SWS_EthIf_00259] dThe link state for an EthIfSwitchPortGroup is computed over all
link states of the EthSwtPorts which are referenced by the EthIfSwitchPortGroup. Its
status is ETHTRCV_LINK_STATE_DOWN (link down) if one of the following conditions
is met:
• Referenced EthSwtPort with the role "host port" or the role "up link port" has link
down state
• All referenced EthSwtPort without a role have link down state
Otherwise its accumulated link state is ETHTRCV_LINK_STATE_ACTIVE (link up).c()
[SWS_EthIf_00260] dIf the EthIfCtrl references a EthIfSwitch but no port group is con-
figured, the EthIf shall indicate the link state of the host port to the EthSM by calling
EthSM_TrcvLinkStateChg for the EthIfController when the link state changes.c()
[SWS_EthIf_00261] dIn case a EthIfSwitchPortGroup is not connected to any EthIf-
Controller, the EthIf shall indicate the accumulated link state of the EthIfSwitchPort-
Group to the BswM by calling BswM_EthIf_PortGroupLinkStateChg for the EthIf-
SwitchPortGroup when the link state changes (refer to [SWS_EthIf_00259] for link
state accumulation).c()
[SWS_EthIf_00262] dIn case a EthIfSwitchPortGroup is connected to a EthIfController,
the EthIf shall indicate the accumulated link state of the EthIfSwitchPortGroup to the
EthSM by calling EthSM_TrcvLinkStateChg for the EthIfController when the link
state changes (refer to [SWS_EthIf_00259] for link state accumulation).c()
c(SRS_Eth_00157)
[SWS_EthIf_00482] dEverytime EthIf_SwitchPortGroupRequestMode has been
called with ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST, EthIf shall forward the call
for all EthSwtPorts of the respective EthIfSwitchPortGroup to the following functions in
the given order independent of the current EthSwtPort mode:
1. EthSwt_SetSwitchPortMode with ETH_MODE_ACTIVE_WITH_WAKEUP_RE-
QUEST
2. EthSwt_PortLinkStateRequest with ETHTRCV_LINK_STATE_ACTIVE,
only if current link state is ETHTRCV_LINK_STATE_DOWN
c(SRS_Eth_00157)
Rational for [SWS_EthIf_00479], [SWS_EthIf_00480], [SWS_EthIf_00481] and
[SWS_EthIf_00482]: A wake-up request has always to be forwarded to the lower layer
independent of the current mode to ensure that a wake-up is triggered on the network.
This could be used for e.g. communication channels where the Ethernet hardware
is compliant to OA TC10 (see [5, OPEN Sleep/Wake-up Specification for Automotive
Ethernet])
[SWS_EthIf_00483] dIf EthIf_SwitchPortGroupRequestMode is called with
ETH_MODE_ACTIVE or ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST, then a run-
ning timer to delay the switch off all ports of the respective EthIfSwitchPortGroup (
PortGroupIdx) shall be canceled.c(SRS_Eth_00157)
[SWS_EthIf_00263] dEthIf shall call the function <EthDrv>_SetControllerMode
of the corresponding Ethernet Controller Driver (EthIfPhysControllerIdx) with ETH_-
MODE_DOWN, if EthIf_SetControllerMode has been called with mode ETH_-
MODE_DOWN for all Ethernet Interface Controller referencing the Ethernet Controller.c
()
Note:
• In case of VLAN support, EthIf has to store internally the state of each EthIfCon-
troller in order to filter out the requests from upper layers and disable the callouts
to upper layers when the EthIfController is disabled.
[SWS_EthIf_00484] dIf EthIf_SetControllerMode is called for an EthIfController
with ETH_MODE_DOWN and this EthIfController has a reference to an EthIfTransceiver,
then EthIf shall forward the call to the following functions in the given order, if the current
mode of the EthIfTransceiver is ETH_MODE_ACTIVE:
1. <EthTrcv>_SetTransceiverMode with ETH_MODE_DOWN
2. <EthTrcv>_TransceiverLinkStateRequest with ETHTRCV_LINK_-
STATE_DOWN
c()
The following additional Ethernet switch port handling has been introduced to sup-
port a use case for a passive wake up of an ECU where all Ethernet switch ports of
the corresponding Ethernet switches shall be switched on immediately. E.g. after a
wakeup occurred. Afterwards it is checked if a PN request is received via NM frames
within EthIfPortStartupActiveTime. If a PN request is received, then the correspond-
ing EthIfSwitchPortGroups are requested with ETH_MODE_ACTIVE and corresponding
Ethernet switch ports stay active. All Ethernet switch ports where the corresponding
EthIfSwitchPortGroups are not requested (due to no according PN request received
within EthIfPortStartupActiveTime) are switched off.
[SWS_EthIf_00275] dIf EthIf_StartAllPorts has been called, then EthIf shall for-
ward the call to the following functions in the given order to all EthSwtPorts of all con-
figured EthIfSwitches:
1. Call EthSwt_SetSwitchPortMode with ETH_MODE_ACTIVE, if the current
mode is ETH_MODE_DOWN.
2. Call EthSwt_PortLinkStateRequest with ETHTRCV_LINK_STATE_AC-
TIVE, if the current link state is ETHTRCV_LINK_STATE_DOWN
For more details regarding time measurement with Switches, please refer to [17, Spec-
ification of Ethernet Switch Driver].
The controller is being called for general configuration of the Cellular V2X radio and
the Cellular V2X radio’s channel by:
• EthIf_GetChanCV2xPC5TxParams
The parameter values are requested or transmitted by unique parameter identifiers.
They are defined within the controller specification [19].
• GCM-AES-256
• GCM-AES-XPN-128
• GCM-AES-XPN-256
c(FO_RS_MACsec_00032)
[SWS_EthIf_00579]{DRAFT} dThe MACsec entity per SW of the Ethernet Interface
shall support a validation function for MACsec ICV.c(FO_RS_MACsec_00033)
[SWS_EthIf_00580]{DRAFT} dThe MACsec entity per SW of the Ethernet Interface
shall support a generation function for MACsec ICV.c(FO_RS_MACsec_00034)
[SWS_EthIf_00581]{DRAFT} dThe Ethernet Interface Module shall share the MACsec
Operational status between Ethernet Interface Controllers sharing a physical or virtual
controlled port. An Ethernet Interface controller shall trigger the MKA Module to start
the MKA sequence in a port with MKA_LinkStateChange after receiving the "Mode
Indication" from the Switch or Transceiver with the corresponding function EthIf_-
SwitchPortModeIndication or EthIf_TrcvModeIndication.c(FO_RS_MAC-
sec_00002)
[SWS_EthIf_00582]{DRAFT} dOnce the physical or virtual port can generate and vali-
date MACsec traffic (signaled by EthIf_MacSecOperational), all Controllers using
the virtual or physical port shall immediately communicate the MacSecOperational sta-
tus to the upper layers with EthSM_TrcvLinkStateChg.c(FO_RS_MACsec_00002)
[SWS_EthIf_00583]{DRAFT} dThe Ethernet Interface module shall support the MKA
related EtherTypes as defined in [20].c(FO_RS_MACsec_00023)
[SWS_EthIf_00584]{DRAFT} dThe Ethernet Interface module shall allow forwarding
the received Ethernet frames of a specific EtherType to multiple frame owners if con-
figured.c()
c(RS_Ids_00810)
Context data is not provided by the EthIf for the security events.
[SWS_EthIf_00017] d
Type of error Related error code Error value
API service called with invalid controller index ETHIF_E_INV_CTRL_IDX 0x01
API service called with invalid transceiver index ETHIF_E_INV_TRCV_IDX 0x02
API service called with invalid switch index ETHIF_E_INV_SWT_IDX 0x03
API service called with invalid port group index ETHIF_E_INV_PORT_GROUP_IDX 0x04
API service called when EthIf module was not ETHIF_E_UNINIT 0x05
initialized
API service called with invalid pointer in parameter ETHIF_E_PARAM_POINTER 0x06
list
API service called with invalid parameter ETHIF_E_INV_PARAM 0x07
EthIf_Init called with an invalid configuration ETHIF_E_INIT_FAILED 0x08
pointer
Invalid port index ETHIF_E_INV_PORT_IDX 0x09
c()
8 API specification
4
Module Header File Imported Type
IdsM IdsM_Types.h IdsM_SecurityEventIdType
c()
8.2.1 EthIf_ConfigType
[SWS_EthIf_00149] d
Name EthIf_ConfigType
Kind Structure
Description Implementation specific structure of the post build configuration
Available via EthIf.h
c()
8.2.2 EthIf_SwitchPortGroupIdxType
[SWS_EthIf_91101] d
Name EthIf_SwitchPortGroupIdxType
Kind Type
Derived from uint8
Range 0..255 – –
Description Data Type that represents the Ethernet interface switch port group index. The index is zero based
and unique for every configured switch port group.
Available via EthIf.h
c()
8.2.3 EthIf_MeasurementIdxType
[SWS_EthIf_91010] d
Name EthIf_MeasurementIdxType
Kind Type
Derived from uint8
Range ETHIF_MEAS_DROP_ 0x01 Measurement index of dropped
CRTLIDX datagrams caused by invalid Crtl
Idx/VLAN
ETHIF_MEAS_ 0x02-0x7F reserved by AUTOSAR
RESERVED_1
ETHIF_MEAS_ 0x80-0xEF Vendor specific range
RESERVED_2
ETHIF_MEAS_ 0xF0-0xFE reserved by AUTOSAR (future
RESERVED_3 use)
ETHIF_MEAS_ALL 0xFF represents all measurement
indexes
Description Index to select specific measurement data
Available via EthIf.h
c()
8.2.4 EthIf_SignalQualityResultType
[SWS_EthIf_91057] d
Name EthIf_SignalQualityResultType
Kind Structure
Elements HighestSignalQuality
Type uint32
Comment the highest signal quality of a link since last clear
5
4
LowestSignalQuality
Type uint32
Comment the lowest link signal quality of a link since last clear
ActualSignalQuality
Type uint32
Comment the actual signal quality
Description –
Available via EthIf.h
c()
8.3.1 EthIf_Init
[SWS_EthIf_00024] d
Service Name EthIf_Init
Syntax void EthIf_Init (
const EthIf_ConfigType* CfgPtr
)
Service ID [hex] 0x01
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CfgPtr Points to the implementation specific structure
Parameters (inout) None
Parameters (out) None
Return value None
Description Initializes the Ethernet Interface
Available via EthIf.h
c()
[SWS_EthIf_00025] dThe function shall store the access to the configuration structure
for subsequent API calls.c()
[SWS_EthIf_00114] dThe function shall change the state of the component from unini-
tialized to initialized.c()
[SWS_EthIf_00116] dIf development error detection is enabled: the function shall
check the parameter CfgPtr for containing a valid configuration. If the check fails,
the function shall raise the development error ETHIF_E_INIT_FAILED.c()
8.3.2 EthIf_SetControllerMode
[SWS_EthIf_00034] d
Service Name EthIf_SetControllerMode
Syntax Std_ReturnType EthIf_SetControllerMode (
uint8 CtrlIdx,
Eth_ModeType CtrlMode
)
Service ID [hex] 0x03
Sync/Async Asynchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
CtrlMode ETH_MODE_DOWN: disable the controller
ETH_MODE_ACTIVE: enable the controller
ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST: enable the
controller and request a wake-up on the network.
ETH_MODE_TX_OFFLINE: disable transmission handling in Eth
If. Please note, the according Ethernet controller is not affected
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: success
E_NOT_OK: controller mode could not be changed
Description Enables / disables the indexed controller
Available via EthIf.h
c()
Note: Further requirements regarding the call of EthIf_SetControllerMode are
described in chapter 7.1.9.2 and 7.1.10.
[SWS_EthIf_00036] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00037] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
8.3.3 EthIf_GetControllerMode
[SWS_EthIf_00039] d
Service Name EthIf_GetControllerMode
Syntax Std_ReturnType EthIf_GetControllerMode (
uint8 CtrlIdx,
Eth_ModeType* CtrlModePtr
)
5
4
Service ID [hex] 0x04
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) CtrlModePtr ETH_MODE_DOWN: the controller is disabled ETH_MODE_
ACTIVE: the controller is enabled
Return value Std_ReturnType E_OK: success
E_NOT_OK: controller could not be initialized
Description Obtains the state of the indexed controller
Available via EthIf.h
c()
[SWS_EthIf_00040] dThe function EthIf_GetControllerMode shall forward the
call to function <EthDrv>_GetControllerMode of the corresponding Ethernet Con-
troller Driver (EthIfPhysControllerIdx).c()
[SWS_EthIf_00041] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00042] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00043] dIf development error detection is enabled: the function shall
check the parameter CtrlModePtr for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.4 EthIf_CheckWakeup
[SWS_EthIf_00244] d
Service Name EthIf_CheckWakeup
Syntax Std_ReturnType EthIf_CheckWakeup (
EcuM_WakeupSourceType WakeupSource
)
Service ID [hex] 0x30
Sync/Async Asynchronous
Reentrancy Reentrant
Parameters (in) WakeupSource Source device which initiated the wake up event. The source
device could either be a Ethernet switch or a Ethernet transceiver
Parameters (inout) None
Parameters (out) None
5
4
Return value Std_ReturnType E_OK when the request to check for a wake-up of the affected
Ethernet hardware (e.g. PHY) has been accepted.
E_NOT_OK when the request to check for a wake-up of the
affected Ethernet hardware is rejected.
Description This API request the affected Ethernet hardware to check for a signaled wake-up. The used
Ethernet hardware could be an Ethernet switch or Ethernet transceiver (PHY). This is used e.g.
for Ethernet hardware which is compliant to the specification of Open Alliance TC10. This API
is called by the integration code. The function could be called in context of the interrupt or on
task level.
Available via EthIf.h
c()
[SWS_EthIf_00245] dFor all affected Ethernet transceiver (either referenced by EthIf-
Transceiver or by EthIfSwitchPortGroups) the function EthIf_CheckWakeup shall
forward the call to function <EthTrcv>_CheckWakeup of the respective Ethernet
Transceiver Driver.c(SRS_Eth_00106)
[SWS_EthIf_00500] dFor all affected Ethernet switches (referenced by EthIfSwitch)
the function EthIf_CheckWakeup shall forward the call to function EthSwt_-
SwitchCheckWakeup of the respective Ethernet Switch Driver.c(SRS_Eth_00106)
[SWS_EthIf_00246] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00247] dIf development error detection is enabled: the function shall
check the parameter WakeupSource for being valid. If the check fails, the function
shall raise the development error ETHIF_E_INV_PARAM.c()
8.3.5 EthIf_GetPhyWakeupReason
[SWS_EthIf_91004] d
Service Name EthIf_GetPhyWakeupReason
Syntax Std_ReturnType EthIf_GetPhyWakeupReason (
uint8 TrcvIdx,
EthTrcv_WakeupReasonType* WakeupReasonPtr
)
Service ID [hex] 0x69
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) WakeupReasonPtr Pointer to structure of least recent wakeup event, which was
detected by the Ethernet PHY
5
4
Return value Std_ReturnType E_OK: PHY wake up reason request has
been accepted.
E_NOT_OK: PHY wake up reason request has not
been accepted.
Description This function obtains the wake up reasons of the indexed Ethernet Transceiver (PHY) by calling
EthTrcv_GetBusWuReason(...)
Available via EthIf.h
c(SRS_Eth_00107)
[SWS_EthIf_00486] dThe function EthIf_GetPhyWakeupReason shall forward
the call to function EthTrcv_GetBusWuReason of the corresponding Ethernet
Transceiver Driver (EthIfTransceiverIdx).c(SRS_Eth_00107)
[SWS_EthIf_00487] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00488] dIf development error detection is enabled: the function shall
check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_TRCV_IDX.c()
[SWS_EthIf_00489] dIf development error detection is enabled: the function shall
check the parameter WakeupReasonPtr for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.6 EthIf_GetSwitchPortWakeupReason
[SWS_EthIf_91005] d
Service Name EthIf_GetSwitchPortWakeupReason
Syntax Std_ReturnType EthIf_GetSwitchPortWakeupReason (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
EthTrcv_WakeupReasonType* WakeupReasonPtr
)
Service ID [hex] 0x67
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) SwitchIdx Index of the Ethernet switch within the context of the Ethernet
Interface
SwitchPortIdx Index of the Ethernet switch port index in the context of the
Ethernet switch driver
Parameters (inout) None
Parameters (out) WakeupReasonPtr Pointer to structure of least recent wakeup event, which was
detected by the Ethernet switch port
5
4
Return value Std_ReturnType E_OK: Ethernet switch port wake up reason request has
been accepted.
E_NOT_OK: Ethernet switch port wake up reason request has
not been accepted.
Description This function obtains the wake up reasons of the indexed Ethernet switch port by calling Eth
Swt_GetSwitchPortWakeupReason().
Available via EthIf.h
c()
[SWS_EthIf_00490] dThe function EthIf_GetSwitchPortWakeupReason shall
forward the call to function EthSwt_GetSwitchPortWakeupReason of the corre-
sponding Ethernet Switch Driver (EthIfSwitchIdx).c(SRS_Eth_00107)
[SWS_EthIf_00491] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT otherwise (if DET is disabled)
return E_NOT_OK.c()
[SWS_EthIf_00492] dIf development error detection is enabled: the function shall
check the parameter SwitchIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_SWT_IDX otherwise (if DET is disabled)
return E_NOT_OK.c()
[SWS_EthIf_00493] dIf development error detection is enabled: the function shall
check the parameter SwitchPortIdx for being valid. If the check fails, the func-
tion shall raise the development error ETHIF_E_INV_PORT_IDX otherwise (if DET is
disabled) return E_NOT_OK.c()
[SWS_EthIf_00494] dIf development error detection is enabled: the function shall
check the parameter WakeupReasonPtr for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.7 EthIf_GetPhysAddr
[SWS_EthIf_00061] d
Service Name EthIf_GetPhysAddr
Syntax void EthIf_GetPhysAddr (
uint8 CtrlIdx,
uint8* PhysAddrPtr
)
Service ID [hex] 0x08
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters (inout) None
5
4
Parameters (out) PhysAddrPtr Physical source address (MAC address) in network byte order.
Return value None
Description Obtains the physical source address used by the indexed controller
Available via EthIf.h
c()
[SWS_EthIf_00062] dThe function EthIf_GetPhysAddr shall forward the call to the
respective Ethernet Controller Driver.c()
[SWS_EthIf_00063] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00064] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00065] dIf development error detection is enabled: the function shall
check the parameter PhysAddrPtr for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.8 EthIf_SetPhysAddr
[SWS_EthIf_00132] d
Service Name EthIf_SetPhysAddr
Syntax void EthIf_SetPhysAddr (
uint8 CtrlIdx,
const uint8* PhysAddrPtr
)
Service ID [hex] 0x0d
Sync/Async Synchronous
Reentrancy Non Reentrant for the same CtrlIdx, reentrant for different
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Driver.
PhysAddrPtr Pointer to memory containing the physical source address (MAC
address) in network byte order.
Parameters (inout) None
Parameters (out) None
Return value None
Description Sets the physical source address used by the indexed controller.
Available via EthIf.h
c()
[SWS_EthIf_00134] dThe function EthIf_SetPhysAddr shall forward the call to the
respective Ethernet Controller Driver.c()
8.3.9 EthIf_UpdatePhysAddrFilter
[SWS_EthIf_00139] d
Service Name EthIf_UpdatePhysAddrFilter
Syntax Std_ReturnType EthIf_UpdatePhysAddrFilter (
uint8 CtrlIdx,
const uint8* PhysAddrPtr,
Eth_FilterActionType Action
)
Service ID [hex] 0x0c
Sync/Async Synchronous
Reentrancy Non Reentrant for the same CtrlIdx, reentrant for different
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Driver.
PhysAddrPtr Pointer to memory containing the physical destination address
(MAC address) in network byte order. This is the multicast
destination address of the layer 2 Ethernet packet.
Action Add or remove the address from the Ethernet controllers filter.
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: filter was successfully changed
E_NOT_OK: filter could not be changed
Description Update the physical source address to/from the indexed controller filter. If the Ethernet
Controller is not capable to do the filtering, the software has to do this.
Available via EthIf.h
c()
[SWS_EthIf_00140] dThe function EthIf_SetPhysAddrFilter shall forward the
call to the respective Ethernet Controller Driver.c()
[SWS_EthIf_00141] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00142] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
8.3.10 EthIf_GetPortMacAddr
[SWS_EthIf_00190] d
Service Name EthIf_GetPortMacAddr
Syntax Std_ReturnType EthIf_GetPortMacAddr (
const uint8* MacAddrPtr,
uint8* SwitchIdxPtr,
uint8* PortIdxPtr
)
Service ID [hex] 0x28
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) MacAddrPtr MAC-address for which a switch port is searched over which the
node with this MAC-address can be reached.
Parameters (inout) None
Parameters (out) SwitchIdxPtr Pointer to the switch index
PortIdxPtr Pointer to the port index
Return value Std_ReturnType E_OK: success
E_NOT_OK: an error occurred, e.g. multiple ports were found
Description Obtains the port over which this MAC-address can be reached
Available via EthIf.h
c()
[SWS_EthIf_00191] dThe function EthIf_GetPortMacAddr shall return the switch
and port index over which the given MAC-address is reachable. If multiple or no ports
are possible, this API call will return E_NOT_OK. EthSwt_GetPortMacAddr will be
called for all Ethernet Switch drivers.c()
[SWS_EthIf_00192] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfGetPortMacAddrApi.c()
[SWS_EthIf_00193] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00194] dIf development error detection is enabled: the function shall
check the parameter MacAddrPtr, SwitchIdxPtr and PortIdxPtr for being valid.
If the check fails, the function shall raise the development error ETHIF_E_PARAM_-
POINTER.c()
8.3.11 EthIf_GetArlTable
[SWS_EthIf_00196] d
Service Name EthIf_GetArlTable
Syntax Std_ReturnType EthIf_GetArlTable (
uint8 switchIdx,
uint16* numberOfElements,
Eth_MacVlanType* arlTableListPointer
)
Service ID [hex] 0x29
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) switchIdx Index of the switch within the context of the Ethernet Switch Driver
Parameters (inout) numberOfElements In: Maximum number of elements which can be written into the
arlTable Out: Number of elements which are currently available in
the EthSwitch module.
Parameters (out) arlTableListPointer Returns a pointer to the memory where the ARL table of the
switch consisting of a list of structs with MAC-address, VLAN-ID
and port shall be stored.
Return value Std_ReturnType E_OK: success
E_NOT_OK: requested switchIdx is not valid or inactive
Description Obtains the address resolution table of a switch and copies the list into a user provided buffer.
The function will copy all or numberOfElements into the output list. If input value of numberOf
Elements is 0 the function will not copy any data but only return the number of valid entries in
the cache. arlTableListPointer may be NULL_PTR in this case.
Available via EthIf.h
c()
[SWS_EthIf_00197] dThe function EthIf_GetArlTable shall return a list of structs
with MAC-address, VLAN-ID and port for the indexed switch.c()
[SWS_EthIf_00254] dThe function EthIf_GetArlTable shall forward the call to
function EthSwt_GetArlTable of the respective Ethernet Switch Driver.c()
[SWS_EthIf_00198] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfGetArlTable.c()
[SWS_EthIf_00199] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00200] dIf development error detection is enabled: the function shall
check the parameter arlTableListPointer for being valid. If the check fails, the
function shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.12 EthIf_GetCtrlIdxList
[SWS_EthIf_91053] d
Service Name EthIf_GetCtrlIdxList
Syntax Std_ReturnType EthIf_GetCtrlIdxList (
uint8* NumberOfCtrlIdx,
uint8* CtrlIdxListPtr
)
Service ID [hex] 0x44
Sync/Async Asynchronous
Reentrancy Non Reentrant
Parameters (in) None
Parameters (inout) NumberOfCtrlIdx in: maximum number of controllers in CtrlIdxListPtr, 0 to return
the number of controllers but without filling CtrlIdxListPtr. out:
number of active controllers.
Parameters (out) CtrlIdxListPtr List of active controller indexes
Return value Std_ReturnType E_OK: success
E_NOT_OK: failure
Description Returns the number and index of all active Ethernet controllers.
Available via EthIf.h
c()
[SWS_EthIf_00298] dThe optional EthIf_GetCtrlIdxList API shall return only
the NumberOfCtrlIdx which are active.c()
[SWS_EthIf_00299] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00300] dIf development error detection is enabled: the function shall
check the OUT parameter CtrlIdxListPtr for being valid only if the the OUT pa-
rameter NumberOfCtrlIdx is greater 0x00. If the check fails, the function shall raise
the development error ETHIF_E_PARAM_POINTER.c()
8.3.13 EthIf_GetVlanId
[SWS_EthIf_91052] d
Service Name EthIf_GetVlanId
Syntax Std_ReturnType EthIf_GetVlanId (
uint8 CtrlIdx,
uint16* VlanIdPtr
)
Service ID [hex] 0x43
Sync/Async Synchronous
Reentrancy Non Reentrant
5
4
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) VlanIdPtr Pointer to store the VLAN identifier (VID) of the Ethernet
controller. 0 if the the Ethernet controller represents no virtual
network (VLAN).
Return value Std_ReturnType E_OK: success
E_NOT_OK: failure
Description Returns the VLAN identifier of the requested Ethernet controller.
Available via EthIf.h
c()
[SWS_EthIf_00301] dThe optional EthIf_GetVlanId API shall return the VlanId of
the requested CtrlIdx.c()
[SWS_EthIf_00302] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00303] dIf development error detection is enabled: the function shall
check the parameter VlanIdPtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.14 EthIf_GetAndResetMeasurementData
[SWS_EthIf_91011] d
Service Name EthIf_GetAndResetMeasurementData
Syntax Std_ReturnType EthIf_GetAndResetMeasurementData (
EthIf_MeasurementIdxType MeasurementIdx,
boolean MeasurementResetNeeded,
uint32* MeasurementDataPtr
)
Service ID [hex] 0x45
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) MeasurementIdx Data index of measurement data
MeasurementReset Flag to trigger a reset of the measurement data
Needed
Parameters (inout) None
Parameters (out) MeasurementDataPtr Reference to data buffer, where to copy measurement data
Return value Std_ReturnType E_OK: successful
E_NOT_OK: failed
Description Allows to read and reset detailed measurement data for diagnostic purposes. Get all
MeasurementIdx’s at once is not supported. ETHIF_MEAS_ALL shall only be used to reset all
MeasurementIdx’s at once. A NULL_PTR shall be provided for MeasurementDataPtr in this
case.
Available via EthIf.h
c()
8.3.15 EthIf_StoreConfiguration
[SWS_EthIf_00214] d
Service Name EthIf_StoreConfiguration
Syntax Std_ReturnType EthIf_StoreConfiguration (
uint8 SwitchIdx
)
Service ID [hex] 0x2c
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: Storage/Reset request accepted
E_NOT_OK: Storage/Reset request not accepted
Description Trigger the storage/reset of the configuration of the learned MAC/Port tables of a switch in a
persistent manner and will be used by e.g. CDD.
Available via EthIf.h
c()
8.3.16 EthIf_ResetConfiguration
[SWS_EthIf_00219] d
Service Name EthIf_ResetConfiguration
Syntax Std_ReturnType EthIf_ResetConfiguration (
uint8 SwitchIdx
)
Service ID [hex] 0x2d
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: Request to persistently reset the MAC/Port table was
accepted
E_NOT_OK: Request to persistently reset the MAC/Port table
was not accepted
Description The function shall request to reset the configuration of the learned MAC/Port tables of a
Ethernet switch in a persistent manner. This could be used by e.g. a CDD. The statically
configured entries shall still remain.
Available via EthIf.h
c()
[SWS_EthIf_00220] dThe function EthIf_ResetConfiguration shall trigger to re-
set the learned MAC/Port tables of a Ethernet switch.c()
[SWS_EthIf_00221] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfResetConfigurationApi.c()
[SWS_EthIf_00222] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
8.3.17 EthIf_GetCurrentTime
[SWS_EthIf_00154] d
Service Name EthIf_GetCurrentTime
Syntax Std_ReturnType EthIf_GetCurrentTime (
uint8 CtrlIdx,
Eth_TimeStampQualType* timeQualPtr,
Eth_TimeStampType* timeStampPtr
)
Service ID [hex] 0x22
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the addresses ETH controller.
Parameters (inout) None
Parameters (out) timeQualPtr quality of HW time stamp, e.g. based on current drift
timeStampPtr current time stamp
Return value Std_ReturnType E_OK: successful
E_NOT_OK: failed
Description Returns a time value out of the HW registers according to the capability of the HW. Is the HW
resolution is lower than the Eth_TimeStampType resolution resp. range, the remaining bits will
be filled with 0.
Important Note: EthIf_GetCurrentTime may be called within an exclusive area.
Available via EthIf.h
c()
[SWS_EthIf_00155] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00156] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00157] dIf development error detection is enabled: the function shall
check the parameter timeQualPtr and timeStampPtr for being valid. If the check
fails, the function shall raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00158] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfGlobalTimeSupport.c()
[SWS_EthIf_00473] dThe EthIf module shall apply appropriate mechanisms to allow
calls of EthIf_GetCurrentTime API from other partitions than its main function, e.g.
by providing an EthIf satellite.c()
8.3.18 EthIf_EnableEgressTimeStamp
[SWS_EthIf_00160] d
Service Name EthIf_EnableEgressTimeStamp
Syntax void EthIf_EnableEgressTimeStamp (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx
)
Service ID [hex] 0x23
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the addresses ETH controller.
BufIdx Index of the message buffer, where Application expects egress
time stamping
Parameters (inout) None
Parameters (out) None
Return value None
Description Activates egress time stamping on a dedicated message object. Some HW does store once the
egress time stamp marker and some HW needs it always before transmission. There will be no
"disable" functionality, due to the fact, that the message type is always "time stamped" by
network design.
Available via EthIf.h
c()
[SWS_EthIf_00161] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00162] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00164] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfGlobalTimeSupport.c()
8.3.19 EthIf_GetEgressTimeStamp
[SWS_EthIf_00166] d
Service Name EthIf_GetEgressTimeStamp
Syntax Std_ReturnType EthIf_GetEgressTimeStamp (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
Eth_TimeStampQualType* timeQualPtr,
Eth_TimeStampType* timeStampPtr
)
Service ID [hex] 0x24
Sync/Async Synchronous
5
4
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the address ETH controller.
BufIdx Index of the message buffer, where the Upper Layer expects
egress time stamping
Parameters (inout) None
Parameters (out) timeQualPtr quality of HW time stamp, e.g. based on current drift
timeStampPtr current time stamp
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed to read time stamp.
Description Reads back the egress time stamp on a dedicated message object. It must be called within the
TxConfirmation() function.
Available via EthIf.h
c()
[SWS_EthIf_00167] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00168] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00169] dIf development error detection is enabled: the function shall
check the parameter timeQualPtr and timeStampPtr for being valid. If the check
fails, the function shall raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00170] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfGlobalTimeSupport.c()
8.3.20 EthIf_GetIngressTimeStamp
[SWS_EthIf_00172] d
Service Name EthIf_GetIngressTimeStamp
Syntax Std_ReturnType EthIf_GetIngressTimeStamp (
uint8 CtrlIdx,
const Eth_DataType* DataPtr,
Eth_TimeStampQualType* timeQualPtr,
Eth_TimeStampType* timeStampPtr
)
Service ID [hex] 0x25
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the addresses ETH controller.
DataPtr Pointer to the message buffer, where Application expects ingress
time stamping
Parameters (inout) None
5
4
Parameters (out) timeQualPtr quality of HW time stamp, e.g. based on current drift
timeStampPtr current time stamp
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed to read time stamp.
Description Reads back the ingress time stamp on a dedicated message object. It must be called within the
RxIndication() function.
Available via EthIf.h
c()
[SWS_EthIf_00173] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00174] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00175] dIf development error detection is enabled: the function shall
check the parameter DataPtr, timeQualPtr and timeStampPtr for being valid.
If the check fails, the function shall raise the development error ETHIF_E_PARAM_-
POINTER.c()
[SWS_EthIf_00176] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfGlobalTimeSupport.c()
8.3.21 EthIf_SwitchPortGroupRequestMode
[SWS_EthIf_91102] d
Service Name EthIf_SwitchPortGroupRequestMode
Syntax Std_ReturnType EthIf_SwitchPortGroupRequestMode (
EthIf_SwitchPortGroupIdxType PortGroupIdx,
Eth_ModeType PortMode
)
Service ID [hex] 0x06
Sync/Async Asynchronous
Reentrancy Non Reentrant
Parameters (in) PortGroupIdx Index of the port group within the context of the Ethernet Interface
PortMode ETH_MODE_DOWN: disable the Ethernet switch port group
ETH_MODE_ACTIVE: enable the Ethernet switch port group
ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST: enable the
port group and request for a wake-up on the network
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: success
E_NOT_OK: port group mode could not be changed
5
4
Description Request a mode for the EthIfSwtPortGroup. The call shall be forwarded to EthSwt by calling
EthSwt_SetSwitchPortMode for all EthSwtPorts referenced by the port group.
Available via EthIf.h
c()
[SWS_EthIf_00270] dIf EthIf_SwitchPortGroupRequestMode is called with
ETH_MODE_DOWN EthIf shall start a timer with EthIfSwitchOffPortTimedelay for all ports
of the respective EthIf_SwitchPortGroup if the mode ETH_MODE_DOWN has been re-
quested for all EthIfSwitchPortGroups referencing the port and the current mode is
ETH_MODE_ACTIVE.c()
[SWS_EthIf_00271] dIf the timer to switch off ports (see [SWS_EthIf_00270]) elapses
for a port, EthIf shall call the following functions in the given order for the corresponding
EthSwtPort:
1. EthSwt_PortLinkStateRequest with ETHTRCV_LINK_STATE_DOWN
2. EthSwt_SetSwitchPortMode with ETH_MODE_DOWN
c()
Note: The implementation has to ensure that EthSwtPorts within EthIfSwitchPort-
Groups are only disabled if all prior activation request have been withdrawn. This
could be realized e.g. by a counter mechanism.
Rationale: Delaying to switch off EthSwtPorts by EthIfSwitchOffPortTimedelay is
needed to ensure a simultaneous switch-off of the Ethernet switch port and the Eth-
ernet hardware (PHY or another Ethernet switch) of the connected communication
partner:
1. If the Ethernet hardware of the connected communication partner is an PHY,
then the EthIfSwitchOffPortTimedelay cover the time which is needed until the
PHY of the connected communication partner will be switched off, due to the NM
handling.
2. If the Ethernet hardware of the connected communication partner is an Ethernet
switch, then both EthSwtPorts should be switched off in the same point in time to
avoid link down recognition.
[SWS_EthIf_00273] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00274] dIf development error detection is enabled: the function shall
check that the provided parameter PortGroupIdx addresses a port group not refer-
enced by any EthIfController. If the check fails, the function shall raise the development
error ETHIF_E_INV_PORT_GROUP_IDX.c()
Rationale: Avoid that a EthIfSwitchPortGroup which shall be controlled by EthIfCon-
troller is incidentally called by BswM
8.3.22 EthIf_StartAllPorts
[SWS_EthIf_91103] d
Service Name EthIf_StartAllPorts
Syntax Std_ReturnType EthIf_StartAllPorts (
void
)
Service ID [hex] 0x07
Sync/Async Asynchronous
Reentrancy Reentrant
Parameters (in) None
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: Request was accepted
E_NOT_OK: Request was rejected
Description Request to set all configured and affected EthSwtPorts to ETH_MODE_ACTIVE
Available via EthIf.h
c()
[SWS_EthIf_00277] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
8.3.23 EthIf_SetSwitchMgmtInfo
[SWS_EthIf_91003] d
Service Name EthIf_SetSwitchMgmtInfo
Syntax Std_ReturnType EthIf_SetSwitchMgmtInfo (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
EthSwt_MgmtInfoType* MgmtInfoPtr
)
Service ID [hex] 0x38
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of an Ethernet Interface controller
BufIdx Ethernet Tx Buffer index
MgmtInfoPtr Pointer to the management information
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: Management infos successfully set
E_NOT_OK: Setting of management infos failed
Description Provides additional management information along to an Ethernet frame that requires special
treatment within the Switch. It has to be called between EthIf_ProvideTxBuffer() and EthIf_
Transmit() of the related frame.
Available via EthIf.h
c(SRS_Eth_00125)
8.3.24 EthIf_GetRxMgmtObject
[SWS_EthIf_91105] d
Service Name EthIf_GetRxMgmtObject
Syntax Std_ReturnType EthIf_GetRxMgmtObject (
uint8 CtrlIdx,
Eth_DataType* DataPtr,
EthSwt_MgmtObjectType **MgmtObjectPtr
)
Service ID [hex] 0x47
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) CtrlIdx Index of an Ethernet Interface controller
DataPtr Ethernet data pointer
Parameters (inout) None
Parameters (out) **MgmtObjectPtr MgmtObjectPtr Pointer to the management object
Return value Std_ReturnType E_OK: success
E_NOT_OK: management object could not be obtained
Description Request the MgmtObject of the (in this context) unique DataPtr.
Available via EthIf.h
c()
8.3.25 EthIf_GetTxMgmtObject
[SWS_EthIf_91106] d
Service Name EthIf_GetTxMgmtObject
Syntax Std_ReturnType EthIf_GetTxMgmtObject (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
EthSwt_MgmtObjectType **MgmtObjectPtr
)
Service ID [hex] 0x48
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) CtrlIdx Index of an Ethernet Interface controller
BufIdx Ethernet Rx Buffer index
Parameters (inout) None
Parameters (out) **MgmtObjectPtr Pointer to the management object
Return value Std_ReturnType E_OK: success
E_NOT_OK: management object could not be obtained
Description Request the MgmtObject of the (in this context) unique BufIdx.
Available via EthIf.h
c()
8.3.26 EthIf_SwitchEnableTimeStamping
[SWS_EthIf_91007] d
Service Name EthIf_SwitchEnableTimeStamping
Syntax Std_ReturnType EthIf_SwitchEnableTimeStamping (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
EthSwt_MgmtInfoType* MgmtInfo
)
Service ID [hex] 0x39
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
BufIdx Index of the message buffer, where Application expects egress
time stamping
Parameters (inout) None
Parameters (out) MgmtInfo Management information
Return value Std_ReturnType E_OK: Time stamping on egress successfully enabled
E_NOT_OK: Enabling of time stamping on egress has been failed
Description Activates egress time stamping on a dedicated message object, addressed by CtrlIdx and Buf
Idx.
Available via EthIf.h
c(SRS_Eth_00125)
8.3.27 EthIf_VerifyConfig
[SWS_EthIf_91012] d
Service Name EthIf_VerifyConfig
Syntax Std_ReturnType EthIf_VerifyConfig (
uint8 SwitchIdx,
boolean* Result
)
Service ID [hex] 0x40
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Interface
Parameters (inout) None
Parameters (out) Result Result of verification, TRUE: configureation verified ok, FALSE:
configuraton values found corrupted
Return value Std_ReturnType E_OK: Configuration verificaton succeeded,
E_NOT_OK: Configuration verification not succeeded.
Description Forwarded to EthSwt_VerifyConfig. EthSwt_VerifyConfig verifies the Switch Configuration
depending on the HW-Architecture, HW-capability and the intended accuracy of this verification.
Available via EthIf.h
c()
8.3.28 EthIf_SetForwardingMode
[SWS_EthIf_91013] d
Service Name EthIf_SetForwardingMode
Syntax Std_ReturnType EthIf_SetForwardingMode (
uint8 SwitchIdx,
boolean mode
)
Service ID [hex] 0x41
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
mode True Forwarding enabled, False Forwarding disabled
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: stopping of frame forwarding succeeded,
E_NOT_OK: stopping of frame forwarding not succeeded.
Description Verifies the Switch Configuration. If Configuration is not valid, Switch is reconfigured.
Available via EthIf.h
c()
[SWS_EthIf_00306] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the
function shall raise the development error ETHIF_E_UNINIT.c(SRS_BSW_00101,
SRS_BSW_00369)
[SWS_EthIf_00307] dThe function shall be compile time configurable On/Off by the
configuration parameter: EthIfSetForwardingModeApi.c()
8.3.29 EthIf_GetTrcvSignalQuality
[SWS_EthIf_91056] d
Service Name EthIf_GetTrcvSignalQuality
Syntax Std_ReturnType EthIf_GetTrcvSignalQuality (
uint8 TrcvIdx,
EthIf_SignalQualityResultType* ResultPtr
)
Service ID [hex] 0x18
Sync/Async Synchronous
Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) ResultPtr Pointer to the memory where the signal quality in percent shall be
stored.
Return value Std_ReturnType E_OK: The signal quality retrieved successfully
E_NOT_OK: The signal quality not retrieved successfully
Description Retrieves the signal quality of the link of the given Ethernet transceiver
Available via EthIf.h
c()
[SWS_EthIf_00391] dThe function EthIf_GetTrcvSignalQuality shall forward
the call to function EthTrcv_GetPhySignalQuality of the corresponding Ethernet
Transceiver Driver (EthIfTransceiverIdx).c()
[SWS_EthIf_00392] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00393] dIf development error detection is enabled: the function shall
check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_TRCV_IDX.c()
[SWS_EthIf_00394] dIf development error detection is enabled: the function shall
check the parameter ResultPtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.30 EthIf_GetSwitchPortSignalQuality
[SWS_EthIf_91058] d
Service Name EthIf_GetSwitchPortSignalQuality
Syntax Std_ReturnType EthIf_GetSwitchPortSignalQuality (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
EthIf_SignalQualityResultType* ResultPtr
)
Service ID [hex] 0x1a
Sync/Async Synchronous
Reentrancy Reentrant for different Ethernet switch indexes and Ethernet Switch port indexes. Non reentrant
for the same SwitchPortIdx.
Parameters (in) SwitchIdx Index of the Ethernet switch within the context of the Ethernet
Interface
SwitchPortIdx Index of the Ethernet switch port within the context of the
Ethernet Interface
Parameters (inout) None
Parameters (out) ResultPtr Pointer to the memory where the signal quality in percent shall be
stored.
Return value Std_ReturnType E_OK: The signal quality retrieved successfully
E_NOT_OK: The signal quality not retrieved successfully
Description Retrieves the signal quality of the link of the given Ethernet switch port
Available via EthIf.h
c()
[SWS_EthIf_00395] dThe function EthIf_GetSwitchPortSignalQuality shall
forward the call to function EthSwt_GetPortSignalQuality of the corresponding
Ethernet Switch Driver (EthIfSwitchIdx).c()
[SWS_EthIf_00396] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00397] dIf development error detection is enabled: the function shall
check the parameter SwitchIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_SWT_IDX.c()
[SWS_EthIf_00495] dIf development error detection is enabled: the function shall
check the parameter SwitchPortIdx for being valid. If the check fails, the func-
tion shall raise the development error ETHIF_E_INV_PORT_IDX otherwise (if DET is
disabled) return E_NOT_OK.c()
[SWS_EthIf_00399] dIf development error detection is enabled: the function shall
check the parameter ResultPtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.31 EthIf_ClearTrcvSignalQuality
[SWS_EthIf_91059] d
Service Name EthIf_ClearTrcvSignalQuality
Syntax Std_ReturnType EthIf_ClearTrcvSignalQuality (
uint8 TrcvIdx
)
Service ID [hex] 0x19
Sync/Async Synchronous
Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The signal quality cleared successfully
E_NOT_OK: The signal quality cleared not successfully
Description Clear the stored signal quality of the link of the given Ethernet transceiver
Available via EthIf.h
c()
[SWS_EthIf_00400] dThe function EthIf_ClearTrcvSignalQuality shall clear
the stored signal quality values (see EthIf_SignalQualityResultType) of the
EthIfTransceiver given by TrcvIdx.c()
[SWS_EthIf_00401] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00402] dIf development error detection is enabled: the function shall
check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_TRCV_IDX.c()
8.3.32 EthIf_ClearSwitchPortSignalQuality
[SWS_EthIf_91060] d
Service Name EthIf_ClearSwitchPortSignalQuality
Syntax Std_ReturnType EthIf_ClearSwitchPortSignalQuality (
uint8 SwitchIdx,
uint8 SwitchPortIdx
)
Service ID [hex] 0x1b
Sync/Async Synchronous
Reentrancy Reentrant for different Ethernet switch indexes and Ethernet Switch port indexes. Non reentrant
for the same SwitchPortIdx.
Parameters (in) SwitchIdx Index of the Ethernet switch within the context of the Ethernet
Interface
5
4
SwitchPortIdx Index of the Ethernet switch port within the context of the
Ethernet Interface
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The signal quality cleared successfully
E_NOT_OK: The signal quality cleared not successfully
Description Clear the stored signal quality of the link of the given Ethernet switch port
Available via EthIf.h
c()
[SWS_EthIf_00404] dThe function EthIf_ClearSwitchPortSignalQuality
shall clear the stored signal quality values (see EthIf_SignalQualityResult-
Type) of the EthSwtPort given by SwitchIdx and SwitchPortIdx.c()
[SWS_EthIf_00405] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00406] dIf development error detection is enabled: the function shall
check the parameter SwitchIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_SWT_IDX.c()
[SWS_EthIf_00496] dIf development error detection is enabled: the function shall
check the parameter SwitchPortIdx for being valid. If the check fails, the func-
tion shall raise the development error ETHIF_E_INV_PORT_IDX otherwise (if DET is
disabled) return E_NOT_OK.c()
8.3.33 EthIf_SetPhyTestMode
[SWS_EthIf_91016] d
Service Name EthIf_SetPhyTestMode
Syntax Std_ReturnType EthIf_SetPhyTestMode (
uint8 TrcvIdx,
EthTrcv_PhyTestModeType Mode
)
Service ID [hex] 0x17
Sync/Async Synchronous
Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Mode Test mode to be activated
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted
E_NOT_OK: The request has not been accepted.
5
4
Description Activates a given test mode.
Available via EthIf.h
c(SRS_Eth_00117)
[SWS_EthIf_00324] dThe function EthIf_SetPhyTestMode shall forward the call
to function EthTrcv_SetPhyTestMode of the corresponding Ethernet Transceiver
Driver (EthIfTransceiverIdx).c()
[SWS_EthIf_00325] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00326] dIf development error detection is enabled: the function shall
check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_TRCV_IDX.c()
8.3.34 EthIf_SetPhyLoopbackMode
[SWS_EthIf_91018] d
Service Name EthIf_SetPhyLoopbackMode
Syntax Std_ReturnType EthIf_SetPhyLoopbackMode (
uint8 TrcvIdx,
EthTrcv_PhyLoopbackModeType Mode
)
Service ID [hex] 0x12
Sync/Async Synchronous
Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Mode Loopback mode to be activated
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted
E_NOT_OK: The request has not been accepted.
Description Activates a given loopback mode.
Available via EthIf.h
c(SRS_Eth_00117)
[SWS_EthIf_00327] dThe function EthIf_SetPhyLoopbackMode shall forward the
call to function EthTrcv_SetPhyLoopbackMode of the corresponding Ethernet
Transceiver Driver (EthIfTransceiverIdx).c()
[SWS_EthIf_00328] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
8.3.35 EthIf_SetPhyTxMode
[SWS_EthIf_91061] d
Service Name EthIf_SetPhyTxMode
Syntax Std_ReturnType EthIf_SetPhyTxMode (
uint8 TrcvIdx,
EthTrcv_PhyTxModeType Mode
)
Service ID [hex] 0x13
Sync/Async Synchronous
Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Mode Transmission mode to be activated
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted
E_NOT_OK: The request has not been accepted
Description Activates a given transmission mode.
Available via EthIf.h
c(SRS_Eth_00117)
[SWS_EthIf_00388] dThe function EthIf_SetPhyTxMode shall forward the call to
function EthTrcv_SetPhyTxMode of the corresponding Ethernet Transceiver Driver
(EthIfTransceiverIdx).c()
[SWS_EthIf_00389] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00390] dIf development error detection is enabled: the function shall
check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_TRCV_IDX.c()
8.3.36 EthIf_GetCableDiagnosticsResult
[SWS_EthIf_91014] d
Service Name EthIf_GetCableDiagnosticsResult
Syntax Std_ReturnType EthIf_GetCableDiagnosticsResult (
uint8 TrcvIdx,
EthTrcv_CableDiagResultType* ResultPtr
)
Service ID [hex] 0x14
Sync/Async Synchronous
Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) ResultPtr Pointer to the location where the cable diagnostics result shall be
stored
Return value Std_ReturnType E_OK: The request has been accepted
E_NOT_OK: The request has not been accepted
Description Retrieves the cable diagnostics result of a given transceiver.
Available via EthIf.h
c(SRS_Eth_00117)
[SWS_EthIf_00330] dThe function EthIf_GetCableDiagnosticsResult shall
forward the call to function EthTrcv_GetCableDiagnosticsResult of the corre-
sponding Ethernet Transceiver Driver (EthIfTransceiverIdx).c()
[SWS_EthIf_00331] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00332] dIf development error detection is enabled: the function shall
check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_TRCV_IDX.c()
[SWS_EthIf_00333] dIf development error detection is enabled: the function shall
check the parameter ResultPtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.37 EthIf_GetPhyIdentifier
[SWS_EthIf_91020] d
Service Name EthIf_GetPhyIdentifier
Syntax Std_ReturnType EthIf_GetPhyIdentifier (
uint8 TrcvIdx,
uint32* OrgUniqueIdPtr,
uint8* ModelNrPtr,
uint8* RevisionNrPtr
)
Service ID [hex] 0x15
Sync/Async Synchronous
Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) OrgUniqueIdPtr Pointer to the memory where the Organizationally Unique
Identifier shall be stored.
ModelNrPtr Pointer to the memory where the Manufacturer’s Model Number
shall be stored.
RevisionNrPtr Pointer to the memory where the Revision Number shall be
stored.
Return value Std_ReturnType E_OK: The request has been accepted
E_NOT_OK: The request has not been accepted
Description Obtains the PHY identifier of the Ethernet Interface according to IEEE 802.3-2015 chapter
22.2.4.3.1 PHY Identifer.
Available via EthIf.h
c(SRS_Eth_00117)
[SWS_EthIf_00334] dThe function EthIf_GetPhyIdentifier shall forward the call
to function EthTrcv_GetPhyIdentifier of the corresponding Ethernet Transceiver
Driver (EthIfTransceiverIdx).c()
[SWS_EthIf_00335] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00336] dIf development error detection is enabled: the function shall
check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_TRCV_IDX.c()
[SWS_EthIf_00337] dIf development error detection is enabled: the function shall
check the parameter OrgUniqueIdPtr for being valid. If the check fails, the func-
tion shall raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00338] dIf development error detection is enabled: the function shall
check the parameter ModelNrPtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00339] dIf development error detection is enabled: the function shall
check the parameter RevisionNrPtr for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.38 EthIf_GetBufWRxParams
[SWS_EthIf_91002] d
Service Name EthIf_GetBufWRxParams
Syntax Std_ReturnType EthIf_GetBufWRxParams (
uint8 CtrlIdx,
const WEth_BufWRxParamIdType* RxParamIds,
uint32* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x32
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
RxParamIds IDs of the Parameters to read
NumParams Number of Parameters
Parameters (inout) None
Parameters (out) ParamValues Values of the Parameters requested
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed reading parameters
Description Read out values related to the receive direction of the transceiver for a received packet. For
example, this could be RSSI or Channel belonging to one single packet.
Available via EthIf.h
c()
[SWS_EthIf_00341] dThe function EthIf_GetBufWRxParams shall forward the call
to function WEth_GetBufWRxParams of the respective Wireless Ethernet Controller
Driver.c()
[SWS_EthIf_00342] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfEnableWEthApi.c()
[SWS_EthIf_00343] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00344] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00345] dIf development error detection is enabled: the function shall
check the parameter RxParamIds for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00346] dIf development error detection is enabled: the function shall
check the parameter ParamValues for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
Note: The function requires previous reception (EthIf_RxIndication).
8.3.39 EthIf_GetBufWTxParams
[SWS_EthIf_91054] d
Service Name EthIf_GetBufWTxParams
Syntax Std_ReturnType EthIf_GetBufWTxParams (
uint8 CtrlIdx,
const WEth_BufWTxParamIdType* TxParamIds,
uint32* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x31
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
TxParamIds IDs of the Parameter that are requested
NumParams Number of Parameters that are requested
Parameters (inout) None
Parameters (out) ParamValues Values of the Parameters requested
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed reading parameters
Description Read out values related to the transmit direction of the transceiver for a transmitted packet. For
example, this could be transaction ID belonging to one single packet.
Available via EthIf.h
c()
[SWS_EthIf_00347] dThe function EthIf_GetBufWTxParams shall forward the call
to function WEth_GetBufWTxParams of the respective Wireless Ethernet Controller
Driver.c()
[SWS_EthIf_00348] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfEnableWEthApi.c()
[SWS_EthIf_00349] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00350] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00351] dIf development error detection is enabled: the function shall
check the parameter TxParamIds for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00352] dIf development error detection is enabled: the function shall
check the parameter ParamValues for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
Note: The function requires previous transmission (EthIf_Transmit).
8.3.40 EthIf_SetBufWTxParams
[SWS_EthIf_91017] d
Service Name EthIf_SetBufWTxParams
Syntax Std_ReturnType EthIf_SetBufWTxParams (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
const WEth_BufWTxParamIdType* TxParamIds,
const uint32* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x33
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
BufIdx Index of the buffer resource
TxParamIds IDs of the Parameter that are provided to the transmit radio
ParamValues Values of the Parameters that are provided to the transmit radio
NumParams Number of Parameters that are provided to the transmit radio
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed setting parameter
Description Set values related to the transmit direction of the transceiver for a specific buffer (packet to be
sent). For example, this can be the desired transmit power or the channel belonging to one
single packet.
Available via EthIf.h
c()
[SWS_EthIf_00353] dThe function EthIf_SetBufWTxParams shall forward the call
to function WEth_SetBufWTxParams of the respective Wireless Ethernet Controller
Driver.c()
[SWS_EthIf_00354] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfEnableWEthApi.c()
[SWS_EthIf_00355] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00356] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00357] dIf development error detection is enabled: the function shall
check the parameter BufIdx for being valid. If the check fails, the function shall raise
the development error ETHIF_E_INV_PARAM.c()
[SWS_EthIf_00358] dIf development error detection is enabled: the function shall
check the parameter TxParamIds for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.41 EthIf_SetRadioParams
[SWS_EthIf_91026] d
Service Name EthIf_SetRadioParams
Syntax Std_ReturnType EthIf_SetRadioParams (
uint8 TrcvId,
const WEthTrcv_SetRadioParamIdType* ParamIds,
const uint32* ParamValue,
uint8 NumParams
)
Service ID [hex] 0x34
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvId Index of the transceiver
ParamIds IDs of the Parameters to set
ParamValue Values of the Parameters to set
NumParams Number of Parameters to set
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed writing parameters
Description Set values related to a transceiver’s wireless radio. For example, this could be the selection of
the radio settings (channel, ...).
Available via EthIf.h
c()
[SWS_EthIf_00360] dThe function EthIf_SetRadioParams shall forward the
call to function WEthTrcv_SetRadioParams of the respective Wireless Ethernet
Transceiver Driver.c()
[SWS_EthIf_00361] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfEnableWEthApi.c()
[SWS_EthIf_00362] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00363] dIf development error detection is enabled: the function shall
check the parameter TrcvId for being valid. If the check fails, the function shall raise
the development error ETHIF_E_INV_TRCV_IDX.c()
[SWS_EthIf_00364] dIf development error detection is enabled: the function shall
check the parameter ParamIds for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.42 EthIf_SetChanRxParams
[SWS_EthIf_91034] d
Service Name EthIf_SetChanRxParams
Syntax Std_ReturnType EthIf_SetChanRxParams (
uint8 TrcvId,
uint8 RadioId,
const WEthTrcv_SetChanRxParamIdType* ParamIds,
const uint32* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x35
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvId Index of the transceiver
RadioId Index of the Transceiver’s Radio (including channel)
ParamIds IDs of the Parameters to set
ParamValues Values of the Parameters to set
NumParams Number of Parameters to set
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed writing parameters
Description Set values related to the receive direction of a transceiver’s wireless channel. For example, this
could be a channel parameter like the frequency.
Available via EthIf.h
c()
[SWS_EthIf_00366] dThe function EthIf_SetChanRxParams shall forward the
call to function WEthTrcv_SetChanRxParams of the respective Wireless Ethernet
Transceiver Driver.c()
[SWS_EthIf_00367] dThe function EthIf_SetChanRxParams shall be pre compile
time configurable On/Off by the configuration parameter: EthIfEnableWEthApi.c()
[SWS_EthIf_00368] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00369] dIf development error detection is enabled: the function shall
check the parameter TrcvId for being valid. If the check fails, the function shall raise
the development error ETHIF_E_INV_TRCV_IDX.c()
8.3.43 EthIf_SetChanTxParams
[SWS_EthIf_91042] d
Service Name EthIf_SetChanTxParams
Syntax Std_ReturnType EthIf_SetChanTxParams (
uint8 TrcvId,
uint8 RadioId,
const WEthTrcv_SetChanTxParamIdType* TxParamIds,
const uint32* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x36
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvId Index of the transceiver
RadioId Index of the Transceiver’s Radio (including channel)
TxParamIds IDs of the Parameters to set
ParamValues Values of the Parameters to set
NumParams Number of Parameters to set
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed writing parameters
Description Set values related to the transmit direction of a transceiver’s wireless channel. For example,
this could be the bitrate of a channel.
Available via EthIf.h
c()
[SWS_EthIf_00373] dThe function EthIf_SetChanTxParams shall forward the
call to function WEthTrcv_SetChanTxParams of the respective Wireless Ethernet
Transceiver Driver.c()
[SWS_EthIf_00374] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfEnableWEthApi.c()
[SWS_EthIf_00375] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
8.3.44 EthIf_GetChanRxParams
[SWS_EthIf_91050] d
Service Name EthIf_GetChanRxParams
Syntax Std_ReturnType EthIf_GetChanRxParams (
uint8 TrcvId,
uint8 RadioId,
const WEthTrcv_GetChanRxParamIdType* ParamIds,
uint32* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x37
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvId Index of the transceiver
RadioId Index of the Transceiver’s Radio ( including channel)
ParamIds IDs of the Parameters to read
NumParams Number of Parameters to read
Parameters (inout) None
Parameters (out) ParamValues Values of the requested Parameters
Return value Std_ReturnType E_OK: success
E_NOT_OK: failed reading parameters
Description Read values related to the receive direction of the transceiver. For example, this could be a
Channel Busy Ratio (CBR) or the average Channel Idle Time (CIT).
Available via EthIf.h
c()
[SWS_EthIf_00380] dThe function EthIf_GetChanRxParams shall forward the
call to function WEthTrcv_GetChanRxParams of the respective Wireless Ethernet
Transceiver Driver.c()
[SWS_EthIf_00381] dThe function shall be pre compile time configurable On/Off by
the configuration parameter: EthIfEnableWEthApi.c()
8.3.45 EthIf_ProvideTxBuffer
[SWS_EthIf_00067] d
Service Name EthIf_ProvideTxBuffer
Syntax BufReq_ReturnType EthIf_ProvideTxBuffer (
uint8 CtrlIdx,
Eth_FrameType FrameType,
uint8 Priority,
Eth_BufIdxType* BufIdxPtr,
uint8** BufPtr,
uint16* LenBytePtr
)
Service ID [hex] 0x09
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
FrameType Ethernet Frame Type (EtherType)
Priority Priority value which shall be used for the 3-bit PCP field of the
VLAN tag
Parameters (inout) LenBytePtr in: desired length in bytes, out: granted length in bytes
Parameters (out) BufIdxPtr Index to the granted buffer resource. To be used for subsequent
requests
BufPtr Pointer to the granted buffer
Return value BufReq_ReturnType BUFREQ_OK: success
BUFREQ_E_NOT_OK: development error detected
BUFREQ_E_BUSY: all buffers in use
BUFREQ_E_OVFL: requested buffer too large
Description Provides access to a transmit buffer of the specified Ethernet controller.
Available via EthIf.h
c()
[SWS_EthIf_00146] dIf CtrlIdx refers to an EthIfCtrl where no EthIfVlanID is config-
ured, the parameters FrameType and Priority are not used.c()
[SWS_EthIf_00147] dIf VLAN is used
• EthIf shall increment the input desired length by 4 bytes before calling the Ether-
net Driver module
• EthIf shall store the PCP (Priority parameter), CFI (always 0), VID (configured
VLAN ID) and value of the FrameType parameter at the beginning of the buffer
received from <EthDrv>_ProvideTxBuffer).
• EthIf shall increment the BufPtr by 4 bytes when returning the granted buffer
• EthIf shall decrement the output granted length by 4 bytes
c()
[SWS_EthIf_00068] dIf the latest accepted controller mode is equal to ETH_MODE_AC-
TIVE or ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST for the given EthIfController,
then the function EthIf_ProvideTxBuffer shall forward the call to the respective
Ethernet Controller Driver or CanXL Controller Driver. Otherwise the function shall
reject the request for a transmission buffer and return with E_NOT_OK.c()
[SWS_EthIf_00069] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00070] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00071] dIf development error detection is enabled: the function shall
check the parameter BufIdxPtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00072] dIf development error detection is enabled: the function shall
check the parameter BufPtr for being valid. If the check fails, the function shall raise
the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00073] dIf development error detection is enabled: the function shall
check the parameter LenBytePtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.46 EthIf_Transmit
[SWS_EthIf_00075] d
Service Name EthIf_Transmit
Syntax Std_ReturnType EthIf_Transmit (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
Eth_FrameType FrameType,
boolean TxConfirmation,
uint16 LenByte,
const uint8* PhysAddrPtr
)
Service ID [hex] 0x0a
Sync/Async Synchronous
Reentrancy Reentrant for different buffer indexes and Ctrl indexes
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
BufIdx Index of the buffer resource
FrameType Ethernet frame type
TxConfirmation Activates transmission confirmation
LenByte Data length in byte
PhysAddrPtr Physical target address (MAC address) in network byte order
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: success
E_NOT_OK: transmission failed
Description Triggers transmission of a previously filled transmit buffer
Available via EthIf.h
c()
[SWS_EthIf_00250] dIf CtrlIdx refers to an EthIfCtrl where an EthIfVlanID is con-
figured, the parameters FrameType is not used, and 0x8100 is provided to <EthDrv>
_Transmit instead.c()
[SWS_EthIf_00076] dIf the latest accepted controller mode is equal to ETH_MODE_AC-
TIVE or ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST for the given EthIfController,
then the function EthIf_Transmit shall forward the call to the respective Ethernet
Controller Driver. Otherwise the function shall reject the request for a transmission and
return with E_NOT_OK.c()
[SWS_EthIf_00077] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00078] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00079] dIf development error detection is enabled: the function shall
check the parameter BufIdx for being valid. If the check fails, the function shall raise
the development error ETHIF_E_INV_PARAM.c()
8.3.47 EthIf_GetVersionInfo
[SWS_EthIf_00082] d
Service Name EthIf_GetVersionInfo
Syntax void EthIf_GetVersionInfo (
Std_VersionInfoType* VersionInfoPtr
)
Service ID [hex] 0x0b
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) None
Parameters (inout) None
Parameters (out) VersionInfoPtr Version information of this module
Return value None
Description Returns the version information of this module
Available via EthIf.h
c()
[SWS_EthIf_00127] dIf development error detection is enabled: the function shall
check the parameter VersionInfoPtr for being valid. If the check fails, the func-
tion shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.48 EthIf_GetSwitchPortMode
[SWS_EthIf_91107] d
Service Name EthIf_GetSwitchPortMode
Syntax Std_ReturnType EthIf_GetSwitchPortMode (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
Eth_ModeType* PortModePtr
)
Service ID [hex] 0x49
Sync/Async Synchronous /Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
5
4
Parameters (out) PortModePtr ETH_MODE_DOWN: The Ethernet switch port of the given
Ethernet switch is disabled ETH_MODE_ACTIVE: The Ethernet
switch port of the given Ethernet switch is enabled
Return value Std_ReturnType E_OK: success
E_NOT_OK: The mode of the indexed switch port could not be
obtained, or the function is called in state ETHSWT_STATE_
UNINIT or ETHSWT_STATE_INIT.
Description Obtains the mode of the indexed switch port
Available via EthIf.h
c()
[SWS_EthIf_00415] dThe function EthIf_GetSwitchPortMode shall forward the
call to function EthSwt_GetSwitchPortMode of the corresponding Ethernet Switch
Driver (EthIfSwitchIdx).c()
8.3.49 EthIf_GetTransceiverMode
[SWS_EthIf_91108] d
Service Name EthIf_GetTransceiverMode
Syntax Std_ReturnType EthIf_GetTransceiverMode (
uint8 TrcvIdx,
Eth_ModeType* TrcvModePtr
)
Service ID [hex] 0x4a
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Transceiver Driver
Parameters (inout) None
Parameters (out) TrcvModePtr ETH_MODE_DOWN: the transceiver is disabled ETH_MODE_
ACTIVE: the transceiver is enable
Return value Std_ReturnType E_OK: success
E_NOT_OK: transceiver could not be initialized
Description Obtains the state of the indexed transceiver
Available via EthIf.h
c()
[SWS_EthIf_00417] dThe function EthIf_GetTransceiverMode shall forward the
call to function <EthTrcv>_GetTransceiverMode of the corresponding Ethernet
Transceiver Driver (EthIfTransceiverIdx).c()
8.3.50 EthIf_SwitchPortGetLinkState
[SWS_EthIf_91109] d
Service Name EthIf_SwitchPortGetLinkState
Syntax Std_ReturnType EthIf_SwitchPortGetLinkState (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
EthTrcv_LinkStateType* LinkStatePtr
)
Service ID [hex] 0x4b
Sync/Async Synchronous /Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) LinkStatePtr ETHTRCV_LINK_STATE_DOWN: Switch port is disconnected
ETHTRCV_LINK_STATE_ACTIVE: Switch port is connected
Return value Std_ReturnType E_OK: success
E_NOT_OK: Link state of the indexed switch port could not be
obtained, or the function is called in state ETHSWT_STATE_
UNINIT or ETHSWT_STATE_INIT.
Description Obtains the link state of the indexed switch port
Available via EthIf.h
c()
[SWS_EthIf_00419] dThe function EthIf_SwitchPortGetLinkState shall for-
ward the call to function EthSwt_GetLinkState of the corresponding Ethernet
Switch Driver (EthIfSwitchIdx).c()
8.3.51 EthIf_TransceiverGetLinkState
[SWS_EthIf_91110] d
Service Name EthIf_TransceiverGetLinkState
Syntax Std_ReturnType EthIf_TransceiverGetLinkState (
uint8 TrcvIdx,
EthTrcv_LinkStateType* LinkStatePtr
)
Service ID [hex] 0x4c
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Transceiver Driver
Parameters (inout) None
Parameters (out) LinkStatePtr ETHTRCV_LINK_STATE_DOWN: transceiver is disconnected
ETHTRCV_LINK_STATE_ACTIVE: transceiver is connected
Return value Std_ReturnType E_OK: success
E_NOT_OK: transceiver could not be initialized
5
4
Description Obtains the link state of the indexed transceiver
Available via EthIf.h
c()
[SWS_EthIf_00421] dThe function EthIf_TransceiverGetLinkState shall for-
ward the call to function <EthTrcv>_GetLinkState of the corresponding Ethernet
Transceiver Driver (EthIfTransceiverIdx).c()
8.3.52 EthIf_SwitchPortGetBaudRate
[SWS_EthIf_91111] d
Service Name EthIf_SwitchPortGetBaudRate
Syntax Std_ReturnType EthIf_SwitchPortGetBaudRate (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
EthTrcv_BaudRateType* BaudRatePtr
)
Service ID [hex] 0x4d
Sync/Async Synchronous /Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) BaudRatePtr ETHTRCV_BAUD_RATE_10MBIT: 10MBit connection
ETHTRCV_BAUD_RATE_100MBIT: 100MBit connection
ETHTRCV_BAUD_RATE_1000MBIT: 1000MBit connection
ETHTRCV_BAUD_RATE_2500MBIT: 2500MBit connection
Return value Std_ReturnType E_OK: success
E_NOT_OK: Baud rate of the indexed switch port could not be
obtained, or the function is called in state ETHSWT_STATE_
UNINIT or ETHSWT_STATE_INIT.
Description Obtains the baud rate of the indexed switch port
Available via EthIf.h
c()
[SWS_EthIf_00423] dThe function EthIf_SwitchPortGetBaudRate shall forward
the call to function EthSwt_GetBaudRate of the corresponding Ethernet Switch
Driver (EthIfSwitchIdx).c()
8.3.53 EthIf_TransceiverGetBaudRate
[SWS_EthIf_91112] d
Service Name EthIf_TransceiverGetBaudRate
Syntax Std_ReturnType EthIf_TransceiverGetBaudRate (
uint8 TrcvIdx,
EthTrcv_BaudRateType* BaudRatePtr
)
Service ID [hex] 0x4e
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Transceiver Driver
Parameters (inout) None
Parameters (out) BaudRatePtr ETHTRCV_BAUD_RATE_10MBIT: 10MBit connection
ETHTRCV_BAUD_RATE_100MBIT: 100MBit connection
ETHTRCV_BAUD_RATE_1000MBIT: 1000MBit connection
ETHTRCV_BAUD_RATE_2500MBIT: 2500MBit connection
Return value Std_ReturnType E_OK: success
E_NOT_OK: transceiver could not be initialized
Description Obtains the baud rate of the indexed transceiver
Available via EthIf.h
c()
[SWS_EthIf_00426] dThe function EthIf_TransceiverGetBaudRate shall for-
ward the call to function EthTrcv_GetBaudRate of the corresponding Ethernet
Transceiver Driver (EthIfTransceiverIdx).c()
8.3.54 EthIf_SwitchPortGetDuplexMode
[SWS_EthIf_91113] d
Service Name EthIf_SwitchPortGetDuplexMode
Syntax Std_ReturnType EthIf_SwitchPortGetDuplexMode (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
EthTrcv_DuplexModeType* DuplexModePtr
)
Service ID [hex] 0x4f
Sync/Async Synchronous /Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) DuplexModePtr ETHTRCV_DUPLEX_MODE_HALF: half duplex connections
ETHTRCV_DUPLEXMODE_FULL: full duplex connection
5
4
Return value Std_ReturnType E_OK: success
E_NOT_OK: duplex mode of the indexed switch port could not be
obtained, or the function is called in state ETHSWT_STATE_
UNINIT or ETHSWT_STATE_INIT.
Description Obtains the duplex mode of the indexed switch port
Available via EthIf.h
c()
[SWS_EthIf_00428] dThe function EthIf_SwitchPortGetDuplexMode shall for-
ward the call to function EthSwt_GetDuplexMode of the corresponding Ethernet
Switch Driver (EthIfSwitchIdx).c()
8.3.55 EthIf_TransceiverGetDuplexMode
[SWS_EthIf_91114] d
Service Name EthIf_TransceiverGetDuplexMode
Syntax Std_ReturnType EthIf_TransceiverGetDuplexMode (
uint8 TrcvIdx,
EthTrcv_DuplexModeType* DuplexModePtr
)
Service ID [hex] 0x50
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Transceiver Driver
Parameters (inout) None
Parameters (out) DuplexModePtr ETHTRCV_DUPLEX_MODE_HALF: half duplex connections
ETHTRCV_DUPLEX_MODE_FULL: full duplex connection
Return value Std_ReturnType E_OK: success
E_NOT_OK: transceiver could not be initialized
Description Obtains the duplex mode of the indexed transceiver
Available via EthIf.h
c()
[SWS_EthIf_00430] dThe function EthIf_TransceiverGetDuplexMode shall for-
ward the call to function EthTrcv_GetDuplexMode of the corresponding Ethernet
Transceiver Driver (EthIfTransceiverIdx).c()
8.3.56 EthIf_SwitchPortGetCounterValues
[SWS_EthIf_91115] d
Service Name EthIf_SwitchPortGetCounterValues
Syntax Std_ReturnType EthIf_SwitchPortGetCounterValues (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
Eth_CounterType* CounterPtr
)
Service ID [hex] 0x51
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) CounterPtr counter values according to IETF RFC 1757, RFC 1643 and RFC
2233.
Return value Std_ReturnType E_OK: success
E_NOT_OK: counter values read failure
Description Reads a list with drop counter values of the corresponding port of the switch. The meaning of
these values is described at Eth_CounterType.
Available via EthIf.h
c()
[SWS_EthIf_00432] dThe function EthIf_SwitchPortGetCounterValues shall
forward the call to function EthSwt_GetCounterValues of the corresponding Ether-
net Switch Driver (EthIfSwitchIdx).c()
8.3.57 EthIf_SwitchPortGetRxStats
[SWS_EthIf_91116] d
Service Name EthIf_SwitchPortGetRxStats
Syntax Std_ReturnType EthIf_SwitchPortGetRxStats (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
Eth_RxStatsType* RxStatsPtr
)
Service ID [hex] 0x52
Sync/Async Synchronous /Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) RxStatsPtr List of values according to IETF RFC 2819 (Remote Network
Monitoring Management Information Base)
Return value Std_ReturnType E_OK: success
E_NOT_OK: drop counter could not be obtained
5
4
Description Returns a list of statistic counters defined with Eth_RxTatsType. The majority of these Counters
are derived from the IETF RFC2819.
Available via EthIf.h
c()
[SWS_EthIf_00434] dThe function EthIf_SwitchPortGetRxStats shall forward
the call to function EthSwt_GetRxStats of the corresponding Ethernet Switch Driver
(EthIfSwitchIdx).c()
8.3.58 EthIf_SwitchPortGetTxStats
[SWS_EthIf_91117] d
Service Name EthIf_SwitchPortGetTxStats
Syntax Std_ReturnType EthIf_SwitchPortGetTxStats (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
Eth_TxStatsType* TxStatsPtr
)
Service ID [hex] 0x53
Sync/Async Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx –
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) TxStatsPtr List of values to read statistic values for transmission.
Return value Std_ReturnType E_OK: success
E_NOTOK: Tx-statistics could not be obtained
Description List of values to read statistic values for transmission.
Available via EthIf.h
c()
[SWS_EthIf_00436] dThe function EthIf_SwitchPortGetTxStats shall forward
the call to function EthSwt_GetTxStats of the corresponding Ethernet Switch Driver
(EthIfSwitchIdx).c()
8.3.59 EthIf_SwitchPortGetTxErrorCounterValues
[SWS_EthIf_91118] d
Service Name EthIf_SwitchPortGetTxErrorCounterValues
Syntax Std_ReturnType EthIf_SwitchPortGetTxErrorCounterValues (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
Eth_TxErrorCounterValuesType* TxStatsPtr
)
Service ID [hex] 0x54
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Drive
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) TxStatsPtr List of values to read statistic error counter values for
transmission.
Return value Std_ReturnType E_OK: success,
E_NOTOK: Tx-statistics could not be obtained
Description List of values to read statistic error counter values for transmission from.
Available via EthIf.h
c()
[SWS_EthIf_00438] dThe function EthIf_SwitchPortGetTxErrorCounterVal-
ues shall forward the call to function EthSwt_GetTxErrorCounterValues of the
corresponding Ethernet Switch Driver (EthIfSwitchIdx).c()
8.3.60 EthIf_SwitchPortGetMacLearningMode
[SWS_EthIf_91119] d
Service Name EthIf_SwitchPortGetMacLearningMode
Syntax Std_ReturnType EthIf_SwitchPortGetMacLearningMode (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
EthSwt_MacLearningType* MacLearningModePtr
)
Service ID [hex] 0x55
Sync/Async Synchronous /Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) MacLearningModePtr Defines whether MAC addresses shall be learned and if they
shall be learned in software or hardware.
Return value Std_ReturnType E_OK: success
E_NOT_OK: configuration could be persistently reset
5
4
Description Returns the MAC learning mode, i.e. 1.) HW learning enabled, 2.) Hardware learning disabled,
3.) Software learning enabled. Note: This feature is hardware dependent, i.e. the switch
hardware needs to support the different learning modes
Available via EthIf.h
c()
[SWS_EthIf_00440] dThe function EthIf_SwitchPortGetMacLearningMode
shall forward the call to function EthSwt_GetMacLearningMode of the correspond-
ing Ethernet Switch Driver (EthIfSwitchIdx).c()
8.3.61 EthIf_GetSwitchPortIdentifier
[SWS_EthIf_91120] d
Service Name EthIf_GetSwitchPortIdentifier
Syntax Std_ReturnType EthIf_GetSwitchPortIdentifier (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
uint32* OrgUniqueIdPtr,
uint8* ModelNrPtr,
uint8* RevisionNrPtr
)
Service ID [hex] 0x56
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) OrgUniqueIdPtr Pointer to the memory where the Organizationally Unique
Identifier (OUI) shall be stored.
ModelNrPtr Pointer to the memory where the Manufacturer’s Model Number
shall be stored.
RevisionNrPtr Pointer to the memory where the Revision Number shall be
stored.
Return value Std_ReturnType E_OK: organizationally unique identifier of the Ethernet
transceiver could be read.
E_NOT_OK: organizationally unique identifier of the Ethernet
transceiver could not be obtained (i.e. OUI is not available).
Description This function retrieves the OUI (24 bit) of the indexed Ethernet switch port.
Available via EthIf.h
c()
[SWS_EthIf_00442] dThe function EthIf_GetSwitchPortIdentifier shall for-
ward the call to function EthSwt_GetPortIdentifier of the corresponding Eth-
ernet Switch Driver (EthIfSwitchIdx).c()
8.3.62 EthIf_GetSwitchIdentifier
[SWS_EthIf_91121] d
Service Name EthIf_GetSwitchIdentifier
Syntax Std_ReturnType EthIf_GetSwitchIdentifier (
uint8 SwitchIdx,
uint32* OrgUniqueIdPtr
)
Service ID [hex] 0x57
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
Parameters (inout) None
Parameters (out) OrgUniqueIdPtr Pointer to the memory where the Organizationally Unique
Identifier shall be stored.
Return value Std_ReturnType E_OK: organizationally unique identifier of the Ethernet switch
could be read.
E_NOT_OK: organizationally unique identifier of the Ethernet
switch could not be read (i.e. no OUI is available for this Ethernet
switch)
Description Obtain the Organizationally Unique Identifier that is given by the IEEE of the indexed Ethernet
switch. This function shall provide the OUI of Ethernet switch. The OUI has a size of 24 bit. If a
ethernet switch can provide the OUI the 8 most significant bits of the OUI shall be set to
0x00xxxxxx. If a Ethernet switch can not provide the OUI the 8 most significant bits of the OUI
shall be set to 0xFFxxxxxx.
Available via EthIf.h
c()
[SWS_EthIf_00444] dThe function EthIf_GetSwitchIdentifier shall forward
the call to function EthSwt_GetSwitchIdentifier of the corresponding Ethernet
Switch Driver (EthIfSwitchIdx).c()
8.3.63 EthIf_WritePortMirrorConfiguration
[SWS_EthIf_91122] d
Service Name EthIf_WritePortMirrorConfiguration
Syntax Std_ReturnType EthIf_WritePortMirrorConfiguration (
uint8 MirroredSwitchIdx,
const EthSwt_PortMirrorCfgType* PortMirrorConfigurationPtr
)
Service ID [hex] 0x58
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) MirroredSwitchIdx Index of the switch within the context of the Ethernet Switch
Driver, where the Ethernet switch port is located, that has to be
mirrored
PortMirrorConfiguration –
Ptr
Parameters (inout) None
5
4
Parameters (out) None
Return value Std_ReturnType E_OK: the port mirror configuration for the indexed Ethernet
switch port was written.
E_NOT_OK: the port mirror configuration for the indexed
Ethernet switch port was not written. (i.e. indexed ethernet switch
is not available)
ETHSWT_PORT_MIRRORING_CONFIGURATION_NOT_
SUPPORTED: port mirroring configuration is not supported by
Ethernet switch driver or by the Ethernet switch hardware
Description Store the given port mirror configuration in a shadow buffer in the Ethernet switch driver for the
given MirroredSwitchIdx.
Available via EthIf.h
c()
[SWS_EthIf_00446] dThe function EthIf_WritePortMirrorConfiguration
shall forward the call to function EthSwt_WritePortMirrorConfiguration of the
corresponding Ethernet Switch Driver (EthIfSwitchIdx).c()
8.3.64 EthIf_ReadPortMirrorConfiguration
[SWS_EthIf_91123] d
Service Name EthIf_ReadPortMirrorConfiguration
Syntax Std_ReturnType EthIf_ReadPortMirrorConfiguration (
uint8 MirroredSwitchIdx,
EthSwt_PortMirrorCfgType* PortMirrorConfigurationPtr
)
Service ID [hex] 0x59
Sync/Async Asynchronous Asynchronous
Reentrancy Non Reentrant
Parameters (in) MirroredSwitchIdx Index of the Ethernet switch within the context of the Ethernet
Switch Driver, where the Ethernet switch ports are located, that
have to be mirrored
Parameters (inout) None
Parameters (out) PortMirrorConfiguration Pointer to the memory where the port configuration shall be
Ptr stored.
Return value Std_ReturnType E_OK: the port mirror configuration for the indexed Ethernet
switch port was red successfully.
E_NOT_OK: the port mirror configuration for the indexed
Ethernet switch was not red successfully. (i.e. indexed Ethernet
switch is not available)
Description Obtain the port mirror configuration of the given Ethernet switch.
Available via EthIf.h
c()
[SWS_EthIf_00448] dThe function EthIf_ReadPortMirrorConfiguration shall
forward the call to function EthSwt_ReadPortMirrorConfiguration of the corre-
sponding Ethernet Switch Driver (EthIfSwitchIdx).c()
8.3.65 EthIf_DeletePortMirrorConfiguration
[SWS_EthIf_91124] d
Service Name EthIf_DeletePortMirrorConfiguration
Syntax Std_ReturnType EthIf_DeletePortMirrorConfiguration (
uint8 MirroredSwitchIdx
)
Service ID [hex] 0x5a
Sync/Async Synchronous
Reentrancy Reentrant Reentrant for different MirroredSwitchIdx. Non reentrant for the same SwitchIdx.
Parameters (in) MirroredSwitchIdx Index of the switch within the context of the Ethernet Switch
Driver.
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: Port mirror configuration was deleted successfully
E_NOT_OK: Port mirror configuration was not deleted
successfully. (e.g. the port mirroring is enabled)
Description Delete the stored port mirror configuration of the given MirroredSwitchIdx. If no port mirror
configuration was found for the given MirroredSwitchIdx, the return value shall be E_OK.
Available via EthIf.h
c()
[SWS_EthIf_00450] dThe function EthIf_DeletePortMirrorConfiguration
shall forward the call to function EthSwt_DeletePortMirrorConfiguration of
the corresponding Ethernet Switch Driver (EthIfSwitchIdx).c()
8.3.66 EthIf_GetPortMirrorState
[SWS_EthIf_91125] d
Service Name EthIf_GetPortMirrorState
Syntax Std_ReturnType EthIf_GetPortMirrorState (
uint8 SwitchIdx,
uint8 PortIdx,
EthSwt_PortMirrorStateType* PortMirrorStatePtr
)
Service ID [hex] 0x5b
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
PortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) PortMirrorStatePtr Pointer to the memory where the port mirroring state (either
PORT_MIRRORING_ENABLED or PORT_MIRRORING_
DISABLED)of the given Ethernet switch port shall be stored.
5
4
Return value Std_ReturnType E_OK: the port mirroring state for the indexed Ethernet switch
port returned successfully.
E_NOT_OK: the port mirror configuration for the indexed
Ethernet switch returned not successfully. (i.e. indexed ethernet
switch port is not available)
Description Obtain the current status of the port mirroring for the indexed Ethernet switch port
Available via EthIf.h
c()
[SWS_EthIf_00452] dThe function EthIf_GetPortMirrorState shall forward the
call to function EthSwt_GetPortMirrorState of the corresponding Ethernet Switch
Driver (EthIfSwitchIdx).c()
8.3.67 EthIf_SetPortMirrorState
[SWS_EthIf_91126] d
Service Name EthIf_SetPortMirrorState
Syntax Std_ReturnType EthIf_SetPortMirrorState (
uint8 MirroredSwitchIdx,
uint8 PortIdx,
EthSwt_PortMirrorStateType PortMirrorState
)
Service ID [hex] 0x5c
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) MirroredSwitchIdx Index of the Ethernet switch within the context of the Ethernet
Switch Driver, where the port mirroring configuration is located
that has to be enabled and disabled, repectively.
PortIdx Index of the port at the addressed switch
PortMirrorState Contain the requested port mirroring state either PORT_
MIRRORING_ENABLED or PORT_MIRRORING_DISABLED
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType Std_ReturnType E_OK: the requested port mirroring state for the
indexed Ethernet switch port was set successfully.
E_NOT_OK: the requested port mirroring state for the indexed
Ethernet switch was not set successfully. (i.e. indexed Ethernet
switch is not available, no port mirrior configuration is available)
Description Request to set the given port mirroring state of the port mirror configuration for the given
Ethernet switch.
Available via EthIf.h
c()
[SWS_EthIf_00454] dThe function EthIf_SetPortMirrorState shall forward the
call to function EthSwt_SetPortMirrorState of the corresponding Ethernet Switch
Driver (EthIfSwitchIdx).c()
8.3.68 EthIf_SetPortTestMode
[SWS_EthIf_91127] d
Service Name EthIf_SetPortTestMode
Syntax Std_ReturnType EthIf_SetPortTestMode (
uint8 SwitchIdx,
uint8 PortIdx,
EthTrcv_PhyTestModeType Mode
)
Service ID [hex] 0x5d
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
PortIdx Index of the port at the addressed switch
Mode Test mode to be activated
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: the port test mode for the indexed Ethernet switch port
was set successfully.
E_NOT_OK: the port test mode for the indexed Ethernet switch
was not set successfully. (i.e. indexed Ethernet switch port is not
available)
Description Activates a given test mode of the indexed Ethernet switch port.
Available via EthIf.h
c()
[SWS_EthIf_00456] dThe function EthIf_SetPortTestMode shall forward the call
to function EthSwt_SetPortTestMode of the corresponding Ethernet Switch Driver
(EthIfSwitchIdx).c()
8.3.69 EthIf_SetPortLoopbackMode
[SWS_EthIf_91128] d
Service Name EthIf_SetPortLoopbackMode
Syntax Std_ReturnType EthIf_SetPortLoopbackMode (
uint8 SwitchIdx,
uint8 PortIdx,
EthTrcv_PhyLoopbackModeType Mode
)
Service ID [hex] 0x5e
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
PortIdx Index of the port at the addressed switch
Mode Loop-back mode to be activated
Parameters (inout) None
Parameters (out) None
5
4
Return value Std_ReturnType E_OK: the port mirroring loop-back back mode for the indexed
Ethernet switch port was activated successfully.
E_NOT_OK: the port mirroring loop-back back mode for the
indexed Ethernet switch port was not activated successfully. (i.e.
indexed Ethernet switch port is not available)
Description Activates a given test loop-back mode of the indexed Ethernet switch port.
Available via EthIf.h
c()
[SWS_EthIf_00458] dThe function EthIf_SetPortLoopbackMode shall forward
the call to function EthSwt_SetPortLoopbackMode of the corresponding Ethernet
Switch Driver (EthIfSwitchIdx).c()
8.3.70 EthIf_SetPortTxMode
[SWS_EthIf_91129] d
Service Name EthIf_SetPortTxMode
Syntax Std_ReturnType EthIf_SetPortTxMode (
uint8 SwitchIdx,
uint8 PortIdx,
EthTrcv_PhyTxModeType Mode
)
Service ID [hex] 0x5f
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
PortIdx Index of the port at the addressed switch
Mode Transmission mode to be activated
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: the port Tx mode for the indexed Ethernet switch port was
activated successfully.
E_NOT_OK: the port Tx mode for the indexed Ethernet switch
port was not activated successfully. (i.e. indexed Ethernet switch
port is not available)
Description Activates a given transmission mode of the indexed Ethernet switch port.
Available via EthIf.h
c()
[SWS_EthIf_00460] dThe function EthIf_SetPortTxMode shall forward the call to
function EthSwt_SetPortTxMode of the corresponding Ethernet Switch Driver (EthIf-
SwitchIdx).c()
8.3.71 EthIf_GetPortCableDiagnosticsResult
[SWS_EthIf_91130] d
Service Name EthIf_GetPortCableDiagnosticsResult
Syntax Std_ReturnType EthIf_GetPortCableDiagnosticsResult (
uint8 SwitchIdx,
uint8 PortIdx,
EthTrcv_CableDiagResultType* ResultPtr
)
Service ID [hex] 0x60
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
PortIdx Index of the port at the addressed switch
Parameters (inout) None
Parameters (out) ResultPtr Pointer to the location where the cable diagnostics result shall be
stored
Return value Std_ReturnType E_OK:the port cable diagnostic result for the indexed Ethernet
switch port was obtained successfully.
E_NOT_OK: the port cable diagnostic result for the indexed
Ethernet switch port was not obtained successfully. (i.e. indexed
Ethernet switch port is not available)
Description Retrieves the cable diagnostics result of the indexed Ethernet switch port respectively the
referenced Ethernet Transceiver Driver.
Available via EthIf.h
c()
[SWS_EthIf_00462] dThe function EthIf_GetPortCableDiagnosticsResult
shall forward the call to function EthSwt_GetPortCableDiagnosticsResult of
the corresponding Ethernet Switch Driver (EthIfSwitchIdx).c()
8.3.72 EthIf_RunPortCableDiagnostic
[SWS_EthIf_91131] d
Service Name EthIf_RunPortCableDiagnostic
Syntax Std_ReturnType EthIf_RunPortCableDiagnostic (
uint8 SwitchIdx,
uint8 PortIdx
)
Service ID [hex] 0x61
Sync/Async Asynchronous Asynchronous
Reentrancy Reentrant Reentrant for different SwitchIdx and PortIdx. Non reentrant for the same SwitchIdx
and PortIdx.
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch
Driver.
PortIdx Index of the port at the addressed switch.
Parameters (inout) None
Parameters (out) None
5
4
Return value Std_ReturnType E_OK: The trigger to run the cable diagnostic has been accepted
E_NOT_OK: The trigger to run the cable diagnostic has not been
accepted
Description Trigger the cable diagnostics of the given Ethernet Switch port (PortIdx) by calling EthTrcv_Run
CableDiagnostic of the referenced Ethernet transceiver.
Available via EthIf.h
c()
[SWS_EthIf_00464] dIf the function EthIf_RunPortCableDiagnostic is called,
EthIf shall ensure that the corresponding EthIfController is in mode ETH_MODE_AC-
TIVE and forward the call to function EthSwt_RunPortCableDiagnostic of the
corresponding Ethernet Switch Driver (EthIfSwitchIdx).c()
8.3.73 EthIf_RunCableDiagnostic
[SWS_EthIf_91132] d
Service Name EthIf_RunCableDiagnostic
Syntax Std_ReturnType EthIf_RunCableDiagnostic (
uint8 TrcvIdx
)
Service ID [hex] 0x62
Sync/Async Asynchronous Asynchronous
Reentrancy Reentrant Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.
Parameters (in) TrcvIdx Index of the Ethernet transceiver within the context of the
Ethernet Transceiver Driver.
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The trigger has been accepted.
E_NOT_OK: The trigger has not been accepted.
Description Trigger the cable diagnostics for the given Ethernet transceiver.
Available via EthIf.h
c()
[SWS_EthIf_00466] dIf the function EthIf_RunCableDiagnostic is called, EthIf
shall ensure that the corresponding EthIfController is in mode ETH_MODE_ACTIVE and
forward the call to function EthTrcv_RunCableDiagnostic of the corresponding
Ethernet Transceiver Driver (EthIfTransceiverIdx).c()
8.3.74 EthIf_SwitchGetCfgDataRaw
[SWS_EthIf_91133] d
Service Name EthIf_SwitchGetCfgDataRaw
Syntax Std_ReturnType EthIf_SwitchGetCfgDataRaw (
uint8 SwitchIdx,
uint32 Offset,
uint16 Length,
uint8* BufferPtr
)
Service ID [hex] 0x63
Sync/Async Asynchronous Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the Ethernet switch within the context of the Ethernet
Switch Driver
Offset Offset of the Ethernet switch memory from where the reading
starts
Length Length of data in bytes that shall be copied
Parameters (inout) None
Parameters (out) BufferPtr Pointer to the location where the data shall be copied
Return value Std_ReturnType E_OK: the data read was triggered successfully
E_NOT_OK: the data read was not triggered successfully (i.e.
indexed Ethernet switch is not available)
Description Retrieves the data in memory of the indexed Ethernet switch in variable length
Available via EthIf.h
c()
[SWS_EthIf_00468] dThe function EthIf_SwitchGetCfgDataRaw shall forward the
call to function EthSwt_GetCfgDataRaw of the corresponding Ethernet Switch Driver
(EthIfSwitchIdx).c()
8.3.75 EthIf_SwitchGetCfgDataInfo
[SWS_EthIf_91134] d
Service Name EthIf_SwitchGetCfgDataInfo
Syntax Std_ReturnType EthIf_SwitchGetCfgDataInfo (
uint8 SwitchIdx,
uint32* DataSizePtr,
uint32* DataAdressPtr
)
Service ID [hex] 0x64
Sync/Async Asynchronous
Reentrancy Reentrant
Parameters (in) SwitchIdx Index of the Ethernet switch within the context of the Ethernet
Switch Driver
Parameters (inout) None
5
4
Parameters (out) DataSizePtr Pointer to the location where the total size of the configuration
data shall be copied
DataAdressPtr Pointer to the location where the start address of the
configuration registers shall be copied
Return value Std_ReturnType E_OK: the data was obtained successfully
E_NOT_OK: the data was not obtained successfully. (i.e. indexed
Ethernet switch is not available)
Description Retrieves the total size of data and the memory start address of the indexed Ethernet Switch.
Available via EthIf.h
c()
[SWS_EthIf_00470] dThe function EthIf_SwitchGetCfgDataInfo shall forward
the call to function EthSwt_GetCfgDataInfo of the corresponding Ethernet Switch
Driver (EthIfSwitchIdx).c()
8.3.76 EthIf_SwitchPortGetMaxFIFOBufferFillLevel
[SWS_EthIf_91135] d
Service Name EthIf_SwitchPortGetMaxFIFOBufferFillLevel
Syntax Std_ReturnType EthIf_SwitchPortGetMaxFIFOBufferFillLevel (
uint8 SwitchPortIdx,
uint8 PortIdx,
uint8 SwitchPortEgressFifoIdx,
uint32* SwitchPortEgressFifoBufferLevelPtr
)
Service ID [hex] 0x65
Sync/Async Asynchronous
Reentrancy Reentrant Reentrant for different SwitchIdx and PortIdx. Non reentrant for the same SwitchIdx
and PortIdx.
Parameters (in) SwitchPortIdx Index of the Ethernet switch within the context of the Ethernet
Switch Driver.
PortIdx Index of the Ethernet switch egress port at the addressed
Ethernet switch.
SwitchPortEgressFifoIdx Index of the egress FIFO of the addressed Ethernet switch port
Parameters (inout) None
Parameters (out) SwitchPortEgressFifo Pointer to a memory location, where the maximum amount of
BufferLevelPtr allocated FIFO buffer (in bytes) since the last read out shall be
stored
Return value Std_ReturnType E_OK: success
E_NOT_OK: The maximal FIFO buffer level could not be obtained
Description The function retrieves the maximum amount of allocated FIFO buffer of the indexed Ethernet
switch egress port. If the Ethernet switch hardware does not support Ethernet switch port
based maximal FIFO buffer level, the content of SwitchPortEgressFifoBufferLevelPtr shall be
set to 0xFFFFFFFF. This API may be called by e.g. a CDD.
Available via EthIf.h
c()
[SWS_EthIf_00472] dThe function EthIf_SwitchPortGetMaxFIFOBufferFil-
lLevel shall forward the call to function EthSwt_GetMaxFIFOBufferFillLevel
of the corresponding Ethernet Switch Driver (EthIfSwitchIdx).c()
8.3.77 EthIf_TransceiverGetMacMethod
[SWS_EthIf_91021] d
Service Name EthIf_TransceiverGetMacMethod
Syntax Std_ReturnType EthIf_TransceiverGetMacMethod (
uint8* TrcvIdx,
EthTrcv_MacMethodType* MacModePtr
)
Service ID [hex] 0x66
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) TrcvIdx Index of the transceiver within the context of the Ethernet
Transceiver Driver
Parameters (inout) None
Parameters (out) MacModePtr ETHTRCV_MAC_TYPE_CSMA_CD: Carrier-sense multiple
access with collicion detection. ETHTRCV_MAC_TYPE_PLCA:
Physical layer collision avoidance.
Return value Std_ReturnType E_OK: success.
E_NOT_OK: transceiver request has not been accepted.
Description Obtains the media access mode of the transceiver.
Available via EthIf.h
c(SRS_Eth_00117)
[SWS_EthIf_00474] dThe function EthIf_TransceiverGetMacMethod shall for-
ward the call to function EthTrcv_GetMacMethod of the corresponding Ethernet
Transceiver Driver (EthIfTransceiverIdx).c(SRS_Eth_00117)
[SWS_EthIf_00475] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00476] dIf development error detection is enabled: the function shall
check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00477] dIf development error detection is enabled: the function shall
check the parameter MacModePtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.78 EthIf_EthGetSpiStatus
[SWS_EthIf_91022]{DRAFT} d
Service Name EthIf_EthGetSpiStatus (draft)
Syntax Std_ReturnType EthIf_EthGetSpiStatus (
uint8* CtrlIdx,
Eth_SpiStatusType* SpiStatusPtr
)
Service ID [hex] 0x6a
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the controller within the context of the Ethernet controller
Driver
Parameters (inout) None
Parameters (out) SpiStatusPtr Status of the SPI interface
Return value Std_ReturnType E_OK: success.
E_NOT_OK: Controller request has not been accepted.
Description When MACPHY controller are used, obtains the SPI interface status.
Tags: atp.Status=draft
Available via EthIf.h
c()
[SWS_EthIf_00505]{DRAFT} dThe function EthIf_EthGetSpiStatus shall forward
the call to function Eth_GetSpiStatus of the corresponding Ethernet Driver (Ctr-
lIdx).c()
[SWS_EthIf_00506]{DRAFT} dIf development error detection is enabled: the function
shall check that the service EthIf_Init was previously called. If the check fails, the
function shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00507]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00508]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter SpiStatusPtr for being valid. If the check fails, the func-
tion shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.79 EthIf_GetBufCV2xPC5RxParams
[SWS_EthIf_91201] d
Service Name EthIf_GetBufCV2xPC5RxParams
Syntax Std_ReturnType EthIf_GetBufCV2xPC5RxParams (
uint8 CtrlId,
const CV2x_BufCV2xPC5RxParamIdType* RxParamIds,
uint16* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x60
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlId Index of the Ethernet controller within the context of the Ethernet
Interface
RxParamIds IDs of the Parameters to read
NumParams Number of Parameters
Parameters (inout) None
Parameters (out) ParamValues Values of the Parameters requested
Return value Std_ReturnType E_OK: success E_NOT_OK: failed reading parameter
Description Read out values related to the receive direction of the Cellular V2X for a received packet. For
example, this could be CBR belonging to one single packet.
Available via EthIf.h
c()
[SWS_EthIf_00521]{DRAFT} dThe function EthIf_GetBufCV2xPC5RxParams shall
forward the call to function CV2x_GetBufCV2xPC5RxParams of the respective Cellu-
lar V2X Driver.c()
[SWS_EthIf_00522]{DRAFT} dThe function EthIf_GetBufCV2xPC5RxParams shall
be pre compile time configurable On/Off by the configuration parameter: EthIfEn-
ableCV2xApi.c()
[SWS_EthIf_00523]{DRAFT} dIf development error detection is enabled: the function
shall check that the service EthIf_Init was previously called. If the check fails, the
function shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00524]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00525]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter RxParamIds for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00526]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter ParamValues for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c() Note: The function
requires previous transmission (EthIf_RxIndication).
8.3.80 EthIf_GetBufCV2xPC5TxParams
[SWS_EthIf_91202] d
Service Name EthIf_GetBufCV2xPC5TxParams
Syntax Std_ReturnType EthIf_GetBufCV2xPC5TxParams (
uint8 CtrlId,
const CV2x_BufCV2xPC5TxParamIdType* TxParamIds,
uint16* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x61
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlId Index of the Ethernet controller within the context of the Ethernet
Interface
TxParamIds IDs of the Parameter to get
NumParams Number of Parameters
Parameters (inout) None
Parameters (out) ParamValues Values of the Parameters requested
Return value Std_ReturnType E_OK: success E_NOT_OK: failed reading parameter
Description Read out values related to the transmit direction of the Cellular V2X for a transmitted packet.
For example, this could be transaction ID belonging to one single packet.
Available via EthIf.h
c()
[SWS_EthIf_00531]{DRAFT} dThe function EthIf_GetBufCV2xPC5TxParams shall
forward the call to function CV2x_GetBufCV2xPC5TxParams of the respective Cellu-
lar V2X Driver.c()
[SWS_EthIf_00532]{DRAFT} dThe function EthIf_GetBufCV2xPC5TxParams shall
be pre compile time configurable On/Off by the configuration parameter: EthIfEn-
ableCV2xApi.c()
[SWS_EthIf_00533]{DRAFT} dIf development error detection is enabled: the function
shall check that the service EthIf_Init was previously called. If the check fails, the
function shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00534]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00535]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter TxParamIds for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00536]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter ParamValues for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c() Note: The function
requires previous transmission (EthIf_Transmit).
8.3.81 EthIf_SetBufCV2xPC5TxParams
[SWS_EthIf_91203] d
Service Name EthIf_SetBufCV2xPC5TxParams
Syntax Std_ReturnType EthIf_SetBufCV2xPC5TxParams (
uint8 CtrlId,
uint8 BufIdx,
const CV2x_BufCV2xPC5TxParamIdType* TxParamIds,
const uint16* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x62
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlId Index of the Ethernet controller within the context of the Ethernet
Interface
BufIdx Index of the buffer resource
TxParamIds IDs of the Parameter to set
ParamValues Value of the Parameter to set
NumParams Number of Parameters
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: success E_NOT_OK: failed setting parameter
Description Set values related to the transmit direction of the Cellular V2X for a specific buffer (packet to be
sent). For example, this can be the desired ProSe per-packet priority belonging to one single
packet.
Available via EthIf.h
c()
[SWS_EthIf_00541]{DRAFT} dThe function EthIf_SetBufCV2xPC5TxParams shall
forward the call to function CV2x_SetBufCV2xPC5TxParams of the respective Cellu-
lar V2X Driver.c()
[SWS_EthIf_00542]{DRAFT} dThe function EthIf_SetBufCV2xPC5TxParams shall
be pre compile time configurable On/Off by the configuration parameter: EthIfEn-
ableCV2xApi.c()
[SWS_EthIf_00543]{DRAFT} dIf development error detection is enabled: the function
shall check that the service EthIf_Init was previously called. If the check fails, the
function shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00544]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00545]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter BufIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00546]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter TxParamIds for being valid. If the check fails, the function
shall raise the development error ETHIF_E_PARAM_POINTER.c()
8.3.82 EthIf_GetChanCV2xPC5TxParams
[SWS_EthIf_91204] d
Service Name EthIf_GetChanCV2xPC5TxParams
Syntax Std_ReturnType EthIf_GetChanCV2xPC5TxParams (
uint8 CtrlId,
uint8 ChannelId,
const CV2x_GetChanTxParamIdType* ParamIds,
uint32* ParamValues,
uint8 NumParams
)
Service ID [hex] 0x63
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlId Index of the controller within the context of the Cellular V2X
Driver (Transceiver Id)
ChannelId Index of Transceiver’s Radio Channel
ParamIds IDs of the Parameters to read
NumParams Number of parameters to read
Parameters (inout) None
Parameters (out) ParamValues Value of the requested Parameters
Return value Std_ReturnType E_OK: success E_NOT_OK: failed setting parameter
Description Read values related to the receive direction of the channel. For example, this could be a
Channel Busy Ratio(CBR)
Available via
c()
[SWS_EthIf_00551]{DRAFT} dThe function EthIf_GetChanCV2xPC5TxParams
shall forward the call to function Cv2x_GetChanTxParams of the respective Cellu-
lar V2X Driver.c()
[SWS_EthIf_00552]{DRAFT} dThe function EthIf_GetChanCV2xPC5TxParams
shall be pre compile time configurable On/Off by the configuration parameter:
EthIfEnableCV2xApi.c()
[SWS_EthIf_00553]{DRAFT} dIf development error detection is enabled: the function
shall check that the service EthIf_Init was previously called. If the check fails, the
function shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00554]{DRAFT} dIf development error detection is enabled: the function
shall check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
8.3.83 EthIf_SwitchMacSecUpdateSecY
[SWS_EthIf_91219]{DRAFT} d
Service Name EthIf_SwitchMacSecUpdateSecY (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecUpdateSecY (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
const Mka_MacSecConfigType* MACsecCfgPtr,
uint64 TxSci
)
Service ID [hex] 0x6d
Sync/Async Asynchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
MACsecCfgPtr Pointer to the structure to configure a MACsec Entity (SecY)
TxSci Secure Channel Identifier for the MACsec’s Transmission Secure
channel
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Switch to update the SecY/PAC of the the provided port with the
provided parameters. A Transmission Secure Channel with the provided SCI shall be
configured during the first call. A pointer to a MACsec Basic Parameters Configuration file shall
be provided to create the Secure Channel.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.84 EthIf_MacSecUpdateSecY
[SWS_EthIf_91215]{DRAFT} d
Service Name EthIf_MacSecUpdateSecY (DRAFT)
Syntax Std_ReturnType EthIf_MacSecUpdateSecY (
uint8 CtrlIdx,
const Mka_MacSecConfigType* MACsecCfgPtr,
uint64 TxSci
)
Service ID [hex] 0x88
Sync/Async Asynchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
MACsecCfgPtr Pointer to the structure to configure a MACsec Entity (SecY)
TxSci Secure Channel Identifier for the MACsec’s Transmission Secure
channel
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver to update the
SecY/PAC of the PHY with the provided parameters. A Transmission Secure Channel with the
provided SCI shall be configured during the first call. A pointer to a MACsec Basic Parameters
Configuration file shall be provided to create the Secure Channel.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.85 EthIf_SwitchMacSecUpdateSecYNotification
[SWS_EthIf_91217]{DRAFT} d
Service Name EthIf_SwitchMacSecUpdateSecYNotification (DRAFT)
Syntax void EthIf_SwitchMacSecUpdateSecYNotification (
const EthSwt_MgmtInfoType* MgmtInfoPtr
)
Service ID [hex] 0x6b
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
Parameters (inout) None
Parameters (out) None
Return value None
5
4
Description Callback to notify that EhtIf_SwitchMacSecUpdateSecY finished.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.86 EthIf_MacSecUpdateSecYNotification
[SWS_EthIf_91218]{DRAFT} d
Service Name EthIf_MacSecUpdateSecYNotification (DRAFT)
Syntax void EthIf_MacSecUpdateSecYNotification (
uint8 CtrlIdx
)
Service ID [hex] 0x6c
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) None
Return value None
Description Callback to notify that EhtIf_SwitchMacSecUpdateSecY finished.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.87 EthIf_SwitchMacSecInitRxSc
[SWS_EthIf_91220]{DRAFT} d
Service Name EthIf_SwitchMacSecInitRxSc (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecInitRxSc (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint64 Sci
)
Service ID [hex] 0x6e
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
Sci Secure Channel Identifier for the MACsec’s Reception Secure
channel
Parameters (inout) None
5
4
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Switch Driver to configure a Reception Secure Channel for the given
Secure Channel Identifier.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.88 EthIf_MacSecInitRxSc
[SWS_EthIf_91211]{DRAFT} d
Service Name EthIf_MacSecInitRxSc (DRAFT)
Syntax Std_ReturnType EthIf_MacSecInitRxSc (
uint8 CtrlIdx,
uint64 Sci
)
Service ID [hex] 0x87
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Sci Secure Channel Identifier for the MACsec’s Reception Secure
channel
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to
configure a Reception Secure Channel for the given Secure Channel Identifier.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.89 EthIf_SwitchMacSecResetRxSc
[SWS_EthIf_91221]{DRAFT} d
Service Name EthIf_SwitchMacSecResetRxSc (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecResetRxSc (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint64 Sci
)
Service ID [hex] 0x6f
5
4
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
Sci Secure Channel Identifier for the MACsec’s Reception Secure
channel
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Switch Driver to reset to default the MACsec values of the Reception
Secure Channel for the given Secure Channel Identifier.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.90 EthIf_MacSecResetRxSc
[SWS_EthIf_91213]{DRAFT} d
Service Name EthIf_MacSecResetRxSc (DRAFT)
Syntax Std_ReturnType EthIf_MacSecResetRxSc (
uint8 CtrlIdx,
uint64 Sci
)
Service ID [hex] 0x86
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Sci Secure Channel Identifier for the MACsec’s Reception Secure
channel
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to reset
to default the MACsec values of the Reception Secure Channel for the given Secure Channel
Identifier.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.91 EthIf_SwitchMacSecAddTxSa
[SWS_EthIf_91222]{DRAFT} d
Service Name EthIf_SwitchMacSecAddTxSa (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecAddTxSa (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint8 An,
uint64 NextPn,
uint32 Ssci,
const Mka_SakKeyPtrType* KeysPtr,
boolean Active
)
Service ID [hex] 0x70
Sync/Async Asynchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
An Association Number to use in the MACsec’s transmission secure
association
NextPn Next accepted Packet Number in the MACsec’s transmission
secure association
Ssci Short Secure Channel Identifiert used in the MACsec’s
transmission secure association
KeysPtr Pointer to the SAKs Key (and needed Key information) to use in
the MACsec’s transmission secure association
Active Boolean to enable/disable the MACsec’s transmission secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Switch Driver to create a Transmission Secure Association in the
provided port. The Short Secure Channel Identifier is included to support XPN configurations.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.92 EthIf_MacSecAddTxSa
[SWS_EthIf_91206]{DRAFT} d
Service Name EthIf_MacSecAddTxSa (DRAFT)
Syntax Std_ReturnType EthIf_MacSecAddTxSa (
uint8 CtrlIdx,
uint8 An,
uint64 NextPn,
uint32 Ssci,
const Mka_SakKeyPtrType* KeysPtr,
boolean Active
)
Service ID [hex] 0x85
Sync/Async Asynchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
An Association Number to use in the MACsec’s transmission secure
association
NextPn Next accepted Packet Number in the MACsec’s transmission
secure association
Ssci Short Secure Channel Identifiert used in the MACsec’s
transmission secure association
KeysPtr Pointer to the SAKs Key (and needed Key information) to use in
the MACsec’s transmission secure association
Active Boolean to enable/disable the MACsec’s transmission secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to create
a Transmission Secure Association in the Transceiver. The Short Secure Channel Identifier is
included to support XPN configurations.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.93 EthIf_SwitchMacSecAddTxSaNotification
[SWS_EthIf_91223]{DRAFT} d
Service Name EthIf_SwitchMacSecAddTxSaNotification (DRAFT)
Syntax void EthIf_SwitchMacSecAddTxSaNotification (
const EthSwt_MgmtInfoType* MgmtInfoPtr
)
Service ID [hex] 0x71
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
5
4
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
Parameters (inout) None
Parameters (out) None
Return value None
Description Callback to notify that EthIf_SwitchMacSecAddTxSa finished.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.94 EthIf_MacSecAddTxSaNotification
[SWS_EthIf_91224]{DRAFT} d
Service Name EthIf_MacSecAddTxSaNotification (DRAFT)
Syntax void EthIf_MacSecAddTxSaNotification (
uint8 CtrlIdx
)
Service ID [hex] 0x72
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) None
Return value None
Description Callback to notify that EthIf_MacSecAddTxSa finished.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.95 EthIf_SwitchMacSecUpdateTxSa
[SWS_EthIf_91225]{DRAFT} d
Service Name EthIf_SwitchMacSecUpdateTxSa (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecUpdateTxSa (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint8 An,
uint64 NextPn,
boolean Active
)
Service ID [hex] 0x73
5
4
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
An Association Number to use in the MACsec’s transmission secure
association
NextPn Next accepted Packet Number in the MACsec’s transmission
secure association
Active Boolean to enable/disable the MACsec’s transmission secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests the Ethernet Switch Driver to update the Transmission Secure Association with the
given Packet Number. The Active parameter is included to change the specified AN status.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.96 EthIf_MacSecUpdateTxSa
[SWS_EthIf_91216]{DRAFT} d
Service Name EthIf_MacSecUpdateTxSa (DRAFT)
Syntax Std_ReturnType EthIf_MacSecUpdateTxSa (
uint8 CtrlIdx,
uint8 An,
uint64 NextPn,
boolean Active
)
Service ID [hex] 0x84
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
An Association Number to use in the MACsec’s transmission secure
association
NextPn Next accepted Packet Number in the MACsec’s transmission
secure association
Active Boolean to enable/disable the MACsec’s transmission secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
5
4
Description Requests the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to update
the Transmission Secure Association with the given Packet Number. The Active parameter is
included to change the specified AN status.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.97 EthIf_SwitchMacSecDeleteTxSa
[SWS_EthIf_91226]{DRAFT} d
Service Name EthIf_SwitchMacSecDeleteTxSa (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecDeleteTxSa (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint8 An
)
Service ID [hex] 0x74
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
An Association Number to use in the MACsec’s transmission secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Switch Driver to remove the Transmission Secure Association identified
by the provided Association Number.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.98 EthIf_MacSecDeleteTxSa
[SWS_EthIf_91208]{DRAFT} d
Service Name EthIf_MacSecDeleteTxSa (DRAFT)
Syntax Std_ReturnType EthIf_MacSecDeleteTxSa (
uint8 CtrlIdx,
uint8 An
)
Service ID [hex] 0x16
Sync/Async Synchronous
5
4
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
An Association Number to use in the MACsec’s transmission secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to remove
the Transmission Secure Association identified by the provided Association Number.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.99 EthIf_SwitchMacSecAddRxSa
[SWS_EthIf_91227]{DRAFT} d
Service Name EthIf_SwitchMacSecAddRxSa (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecAddRxSa (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint8 An,
uint64 LowestPn,
uint32 Ssci,
const Mka_SakKeyPtrType* KeysPtr,
boolean Active
)
Service ID [hex] 0x75
Sync/Async Asynchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
An Association Number to use in the MACsec’s reception secure
association
LowestPn Lowest accepted Packet Number in the MACsec’s reception
secure association
Ssci Short Secure Channel Identifiert used in the MACsec’s reception
secure association
KeysPtr Pointer to the SAKs Key (and needed Key information) to use in
the MACsec’s reception secure association
Active Boolean to enable/disable the MACsec’s reception secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
5
4
Description Request the Ethernet Switch Driver to create a Reception Secure Association in the provided
Port. The Short Secure Channel Identifier is included to support XPN configurations.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.100 EthIf_MacSecAddRxSa
[SWS_EthIf_91205]{DRAFT} d
Service Name EthIf_MacSecAddRxSa (DRAFT)
Syntax Std_ReturnType EthIf_MacSecAddRxSa (
uint8 CtrlIdx,
uint8 An,
uint64 LowestPn,
uint32 Ssci,
const Mka_SakKeyPtrType* KeysPtr,
boolean Active
)
Service ID [hex] 0x83
Sync/Async Asynchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
An Association Number to use in the MACsec’s reception secure
association
LowestPn Lowest accepted Packet Number in the MACsec’s reception
secure association
Ssci Short Secure Channel Identifiert used in the MACsec’s reception
secure association
KeysPtr Pointer to the SAKs Key (and needed Key information) to use in
the MACsec’s reception secure association
Active Boolean to enable/disable the MACsec’s reception secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to create a
Reception Secure Association in the Transceiver. The Short Secure Channel Identifier is
included to support XPN configurations.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.101 EthIf_SwitchMacSecAddRxSaNotification
[SWS_EthIf_91228]{DRAFT} d
Service Name EthIf_SwitchMacSecAddRxSaNotification (DRAFT)
Syntax void EthIf_SwitchMacSecAddRxSaNotification (
const EthSwt_MgmtInfoType* MgmtInfoPtr
)
Service ID [hex] 0x76
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
Parameters (inout) None
Parameters (out) None
Return value None
Description Callback to notify that EthIf_SwitchMacSecAddRxSa finished.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.102 EthIf_MacSecAddRxSaNotification
[SWS_EthIf_91229]{DRAFT} d
Service Name EthIf_MacSecAddRxSaNotification (DRAFT)
Syntax void EthIf_MacSecAddRxSaNotification (
uint8 CtrlIdx
)
Service ID [hex] 0x77
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) None
Return value None
Description Callback to notify that EthIf_MacSecAddRxSa finished.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.103 EthIf_SwitchMacSecUpdateRxSa
[SWS_EthIf_91230]{DRAFT} d
Service Name EthIf_SwitchMacSecUpdateRxSa (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecUpdateRxSa (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint8 An,
uint64 LowestPn,
boolean Active
)
Service ID [hex] 0x78
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
An Association Number to use in the MACsec’s reception secure
association
LowestPn Lowest accepted Packet Number in the MACsec’s reception
secure association
Active Boolean to enable/disable the MACsec’s reception secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Switch Driver to update the Reception Secure Association with the given
Packet Number. The Active parameter is included to change the specified AN status.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.104 EthIf_MacSecUpdateRxSa
[SWS_EthIf_91214]{DRAFT} d
Service Name EthIf_MacSecUpdateRxSa (DRAFT)
Syntax Std_ReturnType EthIf_MacSecUpdateRxSa (
uint8 CtrlIdx,
uint8 An,
uint64 LowestPn,
boolean Active
)
Service ID [hex] 0x82
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
5
4
An Association Number to use in the MACsec’s reception secure
association
LowestPn Lowest accepted Packet Number in the MACsec’s reception
secure association
Active Boolean to enable/disable the MACsec’s reception secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to update
the Reception Secure Association with the given Packet Number. The Active parameter is
included to change the specified AN status.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.105 EthIf_SwitchMacSecDeleteRxSa
[SWS_EthIf_91231]{DRAFT} d
Service Name EthIf_SwitchMacSecDeleteRxSa (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecDeleteRxSa (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint8 An
)
Service ID [hex] 0x79
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
An Association Number to use in the MACsec’s reception secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Switch Driver to remove the Reception Secure Association identified by
the provided Association Number.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.106 EthIf_MacSecDeleteRxSa
[SWS_EthIf_91207]{DRAFT} d
Service Name EthIf_MacSecDeleteRxSa (DRAFT)
Syntax Std_ReturnType EthIf_MacSecDeleteRxSa (
uint8 CtrlIdx,
uint8 An
)
Service ID [hex] 0x81
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
An Association Number to use in the MACsec’s reception secure
association
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to remove
the Reception Secure Association identified by the provided Association Number.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.107 EthIf_SwitchMacSecGetTxSaNextPn
[SWS_EthIf_91232]{DRAFT} d
Service Name EthIf_SwitchMacSecGetTxSaNextPn (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecGetTxSaNextPn (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
uint8 An,
uint64* NextPnPtr
)
Service ID [hex] 0x7a
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
An Association Number to use in the MACsec’s reception secure
association
Parameters (inout) None
Parameters (out) NextPnPtr Pointer to the Next Packet Number read out from the MACsec
Entity (SecY)
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
5
4
Description Request the Ethernet Switch Driver to return the Packet Number that is used for the next packet
in the given Transmission Secure Association.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.108 EthIf_MacSecGetTxSaNextPn
[SWS_EthIf_91210]{DRAFT} d
Service Name EthIf_MacSecGetTxSaNextPn (DRAFT)
Syntax Std_ReturnType EthIf_MacSecGetTxSaNextPn (
uint8 CtrlIdx,
uint8 An,
uint64* NextPnPtr
)
Service ID [hex] 0x90
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
An Association Number to use in the MACsec’s reception secure
association
Parameters (inout) None
Parameters (out) NextPnPtr Pointer to the Next Packet Number read out from the MACsec
Entity (SecY)
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to return
the Packet Number that is used for the next packet in the given Transmission Secure
Association.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.109 EthIf_SwitchMacSecGetMacSecStats
[SWS_EthIf_91233]{DRAFT} d
Service Name EthIf_SwitchMacSecGetMacSecStats (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecGetMacSecStats (
const EthSwt_MgmtInfoType* MgmtInfoPtr
)
Service ID [hex] 0x7b
Sync/Async Asynchronous
5
4
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet switch Driver to provide MACsec statistics. The result is returned through
EthIf_SwitchMacSecGetMacSecStatsNotification.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.110 EthIf_MacSecGetMacSecStats
[SWS_EthIf_91209]{DRAFT} d
Service Name EthIf_MacSecGetMacSecStats (DRAFT)
Syntax Std_ReturnType EthIf_MacSecGetMacSecStats (
uint8 CtrlIdx
)
Service ID [hex] 0x89
Sync/Async Asynchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Request the Ethernet Inferface (MACsec per SW) or the Ethernet Transceiver Driver to provide
MACsec statistics. The result is returned through EthIf_MacSecGetMacSecStatsNotification
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.111 EthIf_SwitchMacSecGetMacSecStatsNotification
[SWS_EthIf_91234]{DRAFT} d
Service Name EthIf_SwitchMacSecGetMacSecStatsNotification (DRAFT)
Syntax void EthIf_SwitchMacSecGetMacSecStatsNotification (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
const Mka_Stats_SecYType* MacSecStatsPtr
)
Service ID [hex] 0x7c
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
MacSecStatsPtr Pointer to a structure including the MACsec statistics of an MKA
participant
Parameters (inout) None
Parameters (out) None
Return value None
Description Callback to notify that EthIf_SwitchMacSecGetMacSecStats finished and provide the requested
statistics.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.112 EthIf_MacSecGetMacSecStatsNotification
[SWS_EthIf_91235]{DRAFT} d
Service Name EthIf_MacSecGetMacSecStatsNotification (DRAFT)
Syntax void EthIf_MacSecGetMacSecStatsNotification (
uint8 CtrlIdx,
const Mka_Stats_SecYType* MacSecStatsPtr
)
Service ID [hex] 0x7d
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
MacSecStatsPtr Pointer to a structure including the MACsec statistics of an MKA
participant
Parameters (inout) None
Parameters (out) None
Return value None
Description Callback to notify that EthIf_MacSecGetMacSecStats finished and provide the requested
statistics.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.113 EthIf_SwitchMacSecOperational
[SWS_EthIf_91236]{DRAFT} d
Service Name EthIf_SwitchMacSecOperational (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecOperational (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
boolean MacSecOperational
)
Service ID [hex] 0x7e
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
MacSecOperational Boolean to notify if MACsec is operational
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description To inform EthIf that MacSec is operational and that EthSM can be notified. (Switch case)
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.114 EthIf_MacSecOperational
[SWS_EthIf_91212]{DRAFT} d
Service Name EthIf_MacSecOperational (DRAFT)
Syntax Std_ReturnType EthIf_MacSecOperational (
uint8 CtrlIdx,
boolean MacSecOperational
)
Service ID [hex] 0x1c
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
MacSecOperational Boolean to notify if MACsec is operational
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description To inform EthIf that MacSec is operational and that EthSM can be informed. (Ethernet Inferface
(MACsec per SW) or the Ethernet Transceiver Driver)
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.115 EthIf_SwitchMacSecSetControlledPortEnabled
[SWS_EthIf_91237]{DRAFT} d
Service Name EthIf_SwitchMacSecSetControlledPortEnabled (DRAFT)
Syntax Std_ReturnType EthIf_SwitchMacSecSetControlledPortEnabled (
const EthSwt_MgmtInfoType* MgmtInfoPtr,
boolean ControlledPortEnabled
)
Service ID [hex] 0x7f
Sync/Async Synchronous
Reentrancy Reentrant for different MgmtInfoPtr, Non reentrant for the same MgmtInfoPtr
Parameters (in) MgmtInfoPtr Pointer to the management information within the context of an
Ethernet Switch Driver. SwitchIdx in context of EthIf, PortIdx in
context of EthSwt.
ControlledPortEnabled Boolean to activate the Controlled Port of the PAE
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests to set the Controlled Port enabled parameter of a PAE.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.3.116 EthIf_MacSecSetControlledPortEnabled
[SWS_EthIf_91238]{DRAFT} d
Service Name EthIf_MacSecSetControlledPortEnabled (DRAFT)
Syntax Std_ReturnType EthIf_MacSecSetControlledPortEnabled (
uint8 CtrlIdx,
boolean ControlledPortEnabled
)
Service ID [hex] 0x80
Sync/Async Synchronous
Reentrancy Reentrant for different CtrlIdx, Non reentrant for the same CtrlIdx
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
ControlledPortEnabled Boolean to activate the Controlled Port of the PAE
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: The request has been accepted E_NOT_OK: The request
has not been accepted
Description Requests to set the Controlled Port enabled parameter of a PAE.
Tags: atp.Status=DRAFT
Available via EthIf.h
c()
8.4.1 EthIf_RxIndication
[SWS_EthIf_00085] d
Service Name EthIf_RxIndication
Syntax void EthIf_RxIndication (
uint8 CtrlIdx,
Eth_FrameType FrameType,
boolean IsBroadcast,
const uint8* PhysAddrPtr,
const Eth_DataType* DataPtr,
uint16 LenByte
)
Service ID [hex] 0x10
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the physical Ethernet controller within the context of the
Ethernet Interface
FrameType Frame type of received Ethernet frame
IsBroadcast parameter to indicate a broadcast frame
PhysAddrPtr Pointer to Physical source address (MAC address in network byte
order) of received Ethernet frame
DataPtr Pointer to payload of received Ethernet frame.
LenByte Length (bytes) of the payload in received frame.
Parameters (inout) None
Parameters (out) None
Return value None
Description Handles a received frame received by the indexed controller
Available via EthIf.h
c()
[SWS_EthIf_00086] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00087] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00088] dIf development error detection is enabled: the function shall
check the parameter DataPtr for being valid. If the check fails, the function shall
raise the development error ETHIF_E_PARAM_POINTER.c()
[SWS_EthIf_00151] dThe Ethernet Driver shall indicate broadcast message with the
parameter IsBroadcast to the Ethernet Interface.c()
[SWS_EthIf_00145] dIf the VLAN is not active the Ethernet Interface shall increment
the corresponding measurement data and filter the messagec()
8.4.2 EthIf_TxConfirmation
[SWS_EthIf_00091] d
Service Name EthIf_TxConfirmation
Syntax void EthIf_TxConfirmation (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
Std_ReturnType Result
)
Service ID [hex] 0x11
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) CtrlIdx Index of the physical Ethernet controller within the context of the
Ethernet Interface
BufIdx Index of the transmitted buffer
Result E_OK: The transmission was successful, E_NOT_OK: The
transmission failed.
Parameters (inout) None
Parameters (out) None
Return value None
Description Confirms frame transmission by the indexed controller
Available via EthIf.h
c()
[SWS_EthIf_00255] dEthIf_TxConfirmation shall pass the Result received within
EthIf_TxConfirmation to the configured upper layer via <UL>_TxConfirma-
tion.c()
[SWS_EthIf_00092] dIf development error detection is enabled: the function shall
check that the service EthIf_Init was previously called. If the check fails, the func-
tion shall raise the development error ETHIF_E_UNINIT.c()
[SWS_EthIf_00093] dIf development error detection is enabled: the function shall
check the parameter CtrlIdx for being valid. If the check fails, the function shall
raise the development error ETHIF_E_INV_CTRL_IDX.c()
[SWS_EthIf_00094] dIf development error detection is enabled: the function shall
check the parameter BufIdx for being valid. If the check fails, the function shall raise
the development error ETHIF_E_INV_PARAM.c()
8.4.3 EthIf_CtrlModeIndication
[SWS_EthIf_00231] d
Service Name EthIf_CtrlModeIndication
Syntax void EthIf_CtrlModeIndication (
uint8 CtrlIdx,
Eth_ModeType CtrlMode
)
Service ID [hex] 0x0e
Sync/Async Synchronous
Reentrancy Non Reentrant for the same CtrlIdx, reentrant for different
Parameters (in) CtrlIdx Index of the physical Ethernet controller within the context of the
Ethernet Interface
CtrlMode Notified Ethernet controller mode
Parameters (inout) None
Parameters (out) None
Return value None
Description Called asynchronously when mode has been read out. Triggered by previous <EthDrv>_Set
ControllerMode call. Can directly be called within the trigger functions.
Available via EthIf.h
c()
[SWS_EthIf_00252] dThe function shall call EthSM_CtrlModeIndication.c()
8.4.4 EthIf_TrcvModeIndication
[SWS_EthIf_00232] d
Service Name EthIf_TrcvModeIndication
Syntax void EthIf_TrcvModeIndication (
uint8 TrcvIdx,
Eth_ModeType TrcvMode
)
Service ID [hex] 0x0f
Sync/Async Synchronous
Reentrancy Non Reentrant for the same CtrlIdx, reentrant for different
Parameters (in) TrcvIdx Index of the Ethernet transceiver within the context of the
Ethernet Interface
TrcvMode Notified Ethernet transceiver mode
Parameters (inout) None
Parameters (out) None
Return value None
Description Called asynchronously when a mode change has been read out. If the function is triggered by
previous call of EthTrcv_SetTransceiverMode it can directly be called within the trigger function.
Available via EthIf.h
c()
8.4.5 EthIf_SwitchPortModeIndication
[SWS_EthIf_91055] d
Service Name EthIf_SwitchPortModeIndication
Syntax void EthIf_SwitchPortModeIndication (
uint8 SwitchIdx,
uint8 SwitchPortIdx,
Eth_ModeType PortMode
)
Service ID [hex] 0x46
Sync/Async Asynchronous
Reentrancy Non Reentrant
Parameters (in) SwitchIdx Index of the switch within the context of the Ethernet Switch Driver
SwitchPortIdx Index of the port at the addressed switch.
PortMode Notified Ethernet Switch port mode.
Parameters (inout) None
Parameters (out) None
Return value None
Description The EthIf shall determine the expected notifications based on the EthSwtPort configuration. In
case the EthSwtPort references an EthTrcv the EthIf expects a notification from the EthTrcv via
API EthIf_TrcvModeIndication(). Otherwise the EthIf expects a notification from the EthSwt via
API EthIf_SwitchPortModeIndication()
Available via EthIf.h
c()
8.4.6 EthIf_SleepIndication
[SWS_EthIf_91006]{DRAFT} d
Service Name EthIf_SleepIndication (draft)
Syntax void EthIf_SleepIndication (
uint8 TrcvIdx
)
Service ID [hex] 0x68
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) TrcvIdx Index of the Ethernet transceiver within the context of the
Ethernet Interface
Parameters (inout) None
Parameters (out) None
Return value None
Description This API is called by the corresponding EthTrcv, if a sleep indication was detected on the
network. This could be used e.g. for Ethernet hardware which is compliant to the OA TC10. In
this case the Ethernet hardware (PHY) detect an Sleep.Indication which was triggered by a
Sleep.Request of the connected link partner.
Tags: atp.Status=draft
Available via EthIf.h
c(SRS_Eth_00156)
8.5.1 EthIf_MainFunctionRx
[SWS_EthIf_00097] d
Service Name EthIf_MainFunctionRx
Syntax void EthIf_MainFunctionRx (
void
)
Service ID [hex] 0x20
Description The function checks for new received frames and issues reception indications in polling mode.
Available via SchM_EthIf.h
c()
[SWS_EthIf_00099] dThe receive frame check shall be pre compile time configurable
On/Off by the configuration parameter: EthIfEnableRxInterrupt.c()
[SWS_EthIf_91051] d
Service Name EthIf_MainFunctionRx_<PriorityProcessing ShortName>
Syntax void EthIf_MainFunctionRx_<PriorityProcessing ShortName> (
void
)
Service ID [hex] 0x42
Description The function checks for new received frames at the related Ethernet controller or CanXL
controller and reception queue by calling <EthDrv>_Receive() with the respective FifoIdx. Eth
If_MainFunctionRx shall receive frames from all FIFOs that are not assigned for processing via
EthIfPhysCtrlRxMainFunctionPriorityProcessing.
Available via EthIf_SchM.h
c()
8.5.3 EthIf_MainFunctionTx
[SWS_EthIf_00113] d
Service Name EthIf_MainFunctionTx
Syntax void EthIf_MainFunctionTx (
void
)
Service ID [hex] 0x21
Description The function issues transmission confirmations in polling mode. It checks also for transceiver
state changes.
Available via SchM_EthIf.h
c()
[SWS_EthIf_00100] dThe transmission confirmation check shall be pre compile time
configurable On/Off by the configuration parameter: EthIfEnableTxInterrupt.c()
[SWS_EthIf_00101] dThe frequency of polling the transceiver state change shall
be configurable by the configuration parameter: EthIfTrcvLinkStateChgMain-
Reload.c()
8.5.4 EthIf_MainFunctionState
[SWS_EthIf_91104] d
Service Name EthIf_MainFunctionState
Syntax void EthIf_MainFunctionState (
void
)
Service ID [hex] 0x05
Sync/Async Asynchronous
Reentrancy Non Reentrant
Parameters (in) None
Parameters (inout) None
Parameters (out) None
Return value None
Description The function is polling different communication hardware (Ethernet transceiver, Ethernet switch
ports) related information, e.g. link state, signal quality.
Available via EthIf_SchM.h
c()
[SWS_EthIf_00407] dThe function EthIf_MainFunctionState shall poll Ethernet
communication hardware related information with the period of EthIfMainFunction-
StatePeriod.c()
[SWS_EthIf_00408] dFor each Ethernet switch port where a link state ETHTRCV_-
LINK_STATE_ACTIVE is yielded and references an Ethernet Transceiver the function
shall poll the signal quality by calling EthSwt_GetPortSignalQuality.c()
Note: This section defines all interfaces, which are required to fulfill the core function-
ality of the module.
This section defines all interfaces, which are required to fulfill an optional functionality
of the module.
[SWS_EthIf_00103] d
API Function Header File Description
BswM_EthIf_PortGroupLinkStateChg BswM_EthIf.h Function called by EthIf to indicate the link state
change of a certain Ethernet switch port group.
CanXL_GetControllerMode CanXL.h Obtains the communication state of the indexed
controller
CanXL_GetPhysAddr CanXL.h Obtains the physical source address used by the
indexed controller
CanXL_ProvideTxBuffer CanXL.h Provides access to a transmit buffer of the queue
related to the specified priority
CanXL_Receive CanXL.h Receive a frame from the related queue.
CanXL_SetControllerMode CanXL.h Enables / Disables Rx/Tx communication of the
indexed controller
5
4
API Function Header File Description
CanXL_Transmit CanXL.h Triggers transmission of a previously filled transmit
buffer
CanXL_TxConfirmation CanXL.h Triggers frame transmission confirmation
CanXLTrcv_GetLinkState CanXLTrcv.h Obtains the link state of the indexed transceiver
CanXLTrcv_GetTransceiverMode CanXLTrcv.h Obtains the state of the indexed transceiver
CanXLTrcv_SetTransceiverMode CanXLTrcv.h Enables / disables the indexed transceiver
CV2x_GetBufCV2xPC5RxParams CV2x.h Read out values related to a received packet. For
(draft) example, this could be CBR to one single
packet.This API is valid only within the context of
CV2x_Receive
Tags: atp.Status=draft
CV2x_GetBufCV2xPC5TxParams CV2x.h Read out values related to the receive direction for a
(draft) transmitted packet. For example, this could be
transaction ID to one single packet. This API is valid
only within the context of CV2x_TxConfirmation
Tags: atp.Status=draft
CV2x_GetChanCV2xPC5TxParams CV2x.h Read values related to the receive direction of the
(draft) channel. For example, this could be a Channel Busy
Ratio (CBR)
Tags: atp.Status=draft
CV2x_SetBufCV2xPC5TxParams CV2x.h Set values related to the transmit direction for a
(draft) specific buffer (packet to be sent). For example, this
can be PPPP belonging to one single packet.
Tags: atp.Status=draft
Eth_GetControllerMode Eth.h Obtains the communication state of the indexed
controller
Eth_GetPhysAddr Eth.h Obtains the physical source address used by the
indexed controller
Eth_ProvideTxBuffer Eth.h Provides access to a transmit buffer of the queue
related to the specified priority
Eth_ReadMii Eth.h Reads a transceiver register
Eth_Receive Eth.h Receive a frame from the related queue.
Eth_SetControllerMode Eth.h Enables / Disables Rx/Tx communication of the
indexed controller
Eth_Transmit Eth.h Triggers transmission of a previously filled transmit
buffer
Eth_TxConfirmation Eth.h Triggers frame transmission confirmation
Eth_WriteMii Eth.h Configures a transceiver register or triggers a
function offered by the receiver
EthSM_CtrlModeIndication EthSM.h Called when mode has been read out. Either
triggered by previous EthIf_GetControllerMode or by
EthIf_SetControllerMode call. Can directly be called
within the trigger functions.
5
4
API Function Header File Description
EthSM_SleepIndication (draft) EthSM.h This API is called by the EthIf and indicate that a
sleep indication was detected on the network. This
API is only called if the ECU is acting as a passive
communication slave on the corresponding
communication channel (the referenced EthTrcv of
the affected EthIfTransceiver has set EthTrcvActAs
SlavePassiveEnabled to TRUE). This could be used
e.g. for Ethernet hardware which is compliant to the
OA TC10. In this case the Ethernet hardware detect
an Sleep.Indication which was triggered by a
Sleep.Request of the connected link partner.
Tags: atp.Status=draft
EthSM_TrcvLinkStateChg EthSM.h This service is called by the Ethernet Interface to
report a transceiver link state change.
EthSwt_PortEnableTimeStamp EthSwt.h Activates egress time stamping on a dedicated
message object on a dedicated port of a Switch if
EthSwtPortTimeStampSupport is set to TRUE for
this port. The selective activation of dedicated
message objects for time stamping reduces the
number of notification calls only to the required calls.
Some HW does store once the egress time stamp
marker and some HW needs it always before
transmission. There will be no disabled functionality,
due to the fact, that the message type is always
"time stamped" by network design.
EthSwt_SetMgmtInfo EthSwt.h Extends the Ethernet frame prepared previously by
EthSwt_EthTxPrepareFrame() with the
management information to achieve transmission
only on specific ports.
EthTrcv_GetBaudRate EthTrcv.h Obtains the baud rate of the indexed transceiver
EthTrcv_GetDuplexMode EthTrcv.h Obtains the duplex mode of the indexed transceiver
EthTrcv_GetLinkState EthTrcv.h Obtains the link state of the indexed transceiver
EthTrcv_GetTransceiverMode EthTrcv.h Obtains the state of the indexed transceiver
EthTrcv_SetTransceiverMode EthTrcv.h Enables / disables the indexed transceiver
EthTrcv_StartAutoNegotiation EthTrcv.h Restarts the negotiation of the transmission
parameters used by the indexed transceiver
IdsM_SetSecurityEvent IdsM.h This API is the application interface to report
security events to the IdsM.
IdsM_SetSecurityEventWithContext IdsM.h This API is the application interface to report
Data security events with context data to the IdsM.
WEth_GetBufWRxParams WEth.h Read out values related to the receive direction for a
received packet. For example, this could be RSSI or
Channel belonging to one single packet.This API is
valid only within the context of WEth_Receive
WEth_GetBufWTxParams WEth.h Read out values related to the transmit direction for
a transmitted packet. For example, this could be
transaction ID belonging to one single packet.This
API is valid only within the context of WEth_Tx
Confirmation.
WEth_SetBufWTxParams WEth.h Set values related to the transmit direction for a
specific buffer (packet to be sent). For example, this
can be the desired transmit power or the channel
belonging to one single packet.
WEthTrcv_GetChanRxParams WEthTrcv.h Read values related to the receive direction of the
transceiver. For example, this could be a Channel
Busy Ratio (CBR) or the average Channel Idle Time
(CIT).
5
4
API Function Header File Description
WEthTrcv_SetChanRxParams WEthTrcv.h Set values related to the receive direction of a
transceiver’s wireless channel.For example, this
could be a channel parameter like the frequency.
WEthTrcv_SetChanTxParams WEthTrcv.h Set values related to the transmit direction of a
transceiver’s wireless channel. For example, this
could be the bitrate of a channel.
WEthTrcv_SetRadioParams WEthTrcv.h Set values related to a transceiver’s wireless radio.
For example, this could be the selection of the radio
settings (channel, ...).
c()
In this section, all interfaces are listed where the target function could be configured.
The target function is usually a callback function. The names of this kind of interfaces
are not fixed because they are configurable.
[SWS_EthIf_00104] d
Service Name <User>_RxIndication
Syntax void <User>_RxIndication (
uint8 CtrlIdx,
Eth_FrameType FrameType,
boolean IsBroadcast,
const uint8* PhysAddrPtr,
const uint8* DataPtr,
uint16 LenByte
)
Sync/Async Synchronous
Reentrancy Dont care
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
FrameType frame type of received Ethernet frame
IsBroadcast parameter to indicate a broadcast frame
PhysAddrPtr pointer to Physical source address (MAC address in network byte
order) of received Ethernet frame
DataPtr Pointer to payload of the received Ethernet frame (i.e. Ethernet
header is not provided).
LenByte Length of received data.
Parameters (inout) None
Parameters (out) None
Return value None
Description Indicates the reception of an Ethernet frame
Available via configurable
c()
[SWS_EthIf_00105] dThe callback function shall be configurable by the configuration
parameter: EthIfRxIndicationFunction.c()
[SWS_EthIf_00106] d
Service Name <UL>_TxConfirmation
Syntax void <UL>_TxConfirmation (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
Std_ReturnType Result
)
Sync/Async Synchronous
Reentrancy Dont care
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
BufIdx Index of the buffer resource
Result –
Parameters (inout) None
Parameters (out) None
Return value None
Description Confirms the transmission of an Ethernet frame
Available via configurable
c()
[SWS_EthIf_00107] dThe callback function shall be configurable by the configuration
parameter: EthIfTxConfirmationFunction.c()
[SWS_EthIf_00108] d
Service Name <User>_TrcvLinkStateChg
Syntax void <User>_TrcvLinkStateChg (
uint8 CtrlIdx,
EthTrcv_LinkStateType TrcvLinkState
)
Sync/Async Synchronous
Reentrancy Don’t care
Parameters (in) CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
TrcvLinkState ETHTRCV_LINK_STATE_DOWN transceiver link is down
ETHTRCV_LINK_STATE_ACTIVE transceiver link is up
Parameters (inout) None
Parameters (out) None
Return value None
Description Indicates the change of a transceiver state
Available via configurable
c()
[SWS_EthIf_00109] dThe callback function shall be configurable by the configuration
parameter: EthIfTrcvLinkStateChgFunction.c()
[SWS_EthIf_00229] dEthIfControllers not referring to an Ethernet Transceiver, i.e. no
valid EthIfEthTrcvRef or EthIfCanXLTrcvRef is configured, shall act as if the
transceiver was present and the transceiver status was ETHTRCV_LINK_STATE_AC-
TIVE.c()
9 Sequence diagrams
The sequence diagrams show the basic operations carried out during operation. They
show the interaction of the Ethernet Interface with upper layer BSW module and the
underlying Ethernet Controller Driver.
Please note that the sequence diagrams are an extension for illustrational purposes to
ease understanding of the specification.
9.1 Initialization
Name: EthIf_Initalization
Package: EthIf
Version: 1.0
Author: fix0ec2
EthIf_Init(const EthIf_ConfigType*)
Eth_Init(const Eth_ConfigType*)
EthTrcv_Init(const EthTrcv_ConfigType*)
EthIf_SetControllerMode(CtrlIdx,
ETH_MODE_ACTIVE)
Eth_SetControllerMode
(CtrlIdx,
ETH_MODE_ACTIVE)
EthIf_CtrlModeIndication(CtrlIdx,
ETH_MODE_ACTIVE)
EthSM_CtrlModeIndication(CtrlIdx,
ETH_MODE_ACTIVE)
EthTrcv_SetTransceiverMode(TrcvIdx,
ETH_MODE_ACTIVE)
EthTrcv_TransceiverLinkStateRequest(TrcvIdx,
ETHTRCV_LINK_STAT_ACTIVE)
EthIf_TrcvModeIndication(CtrlIdx,
ETH_MODE_ACTIVE): int
EthIf_Init(const EthIf_ConfigType*)
EthSwt_Init(const EthSwt_ConfigType*)
Eth_Init(const Eth_ConfigType*)
EthTrcv_Init(const EthTrcv_ConfigType*)
UL «module» «module»
:EthIf :Eth
EthIf_ProvideTxBuffer
(BufReq_ReturnType, uint8,
Eth_FrameType, uint8, Eth_BufIdxType**,
uint8***, uint16**) Eth_ProvideTxBuffer(BufReq_ReturnType,
uint8, uint8, Eth_BufIdxType**, uint8***,
uint16**)
EthIf_Transmit(Std_ReturnType, uint8,
Eth_BufIdxType, Eth_FrameType, boolean,
uint16, const uint8*)
Eth_Transmit(Std_ReturnType, uint8,
Eth_BufIdxType, Eth_FrameType ,
boolean, uint16, const uint8*)
EthIf_MainFunctionTx()
Eth_TxConfirmation(void,
uint8)
EthIf_TxConfirmation(uint8,
Eth_BufIdxType, Std_ReturnType)
UL_TxConfirmation(CtrlIdx,
Bufidx)
Name: EthIf_TransmissionInterrupt
Package: EthIf
Version: 1.0
Author: fix0ec2
UL «module» «module»
:EthIf :Eth
EthIf_ProvideTxBuffer
(BufReq_ReturnType, uint8,
Eth_FrameType, uint8, Eth_BufIdxType**,
Eth_ProvideTxBuffer(BufReq_ReturnType,
uint8***, uint16**)
uint8, uint8, Eth_BufIdxType**, uint8***,
uint16**)
Eth_TxIrqHdlr_
EthIf_TxConfirmation(uint8,
Eth_BufIdxType, Std_ReturnType)
UL_TxConfirmation(CtrlIdx,
BufIdx)
UL «module» «module»
:EthIf :Eth
EthIf_MainFunctionRx()
Eth_Receive(uint8,
uint8,
Eth_RxStatusType**)
Name: EthIf_ReceptionInterrupt
Package: EthIf
Version: 1.0
Author: fix0ec2
UL «module» «module»
:EthIf :Eth
Eth_RxI
EthIf_RxIndication(uint8, Eth_FrameType, boolean,
const uint8*, const Eth_DataType*, uint16)
UL «module» «module»
:EthIf :EthTrcv
alt
[EthIfMainFunctionStatePeriod NOT defined]
EthIf_MainFunctionRx()
[EthIfMainFunctionStatePeriod defined]
EthIf_MainFunctionState()
EthTrcv_GetLinkState(Std_ReturnType, uint8,
EthTrcv_LinkStateType**)
UL_LinkStateChange(CtrlIdx, LinkState)
EthIf_MainFunctionRx()
External Reference
EthIf_MainFunctionState()
EthSM_TrcvLinkStateChg(uint8,
EthTrcv_LinkStateType)
alt
[EthIfMainFunctionStatePeriod defined]
EthIf_MainFunctionState()
EthSM_TrcvLinkStateChg(uint8, EthTrcv_LinkStateType)
9.9 Link State Change with Port Groups and Partial Network Clus-
ter
Name: EthIf_EthSwt_LinkStateChangePortGroupPNC
Package: EthIf
Version: 1.0
Author: fix0ec2
EthIf_MainFunctionRx()
External Reference
EthIf_MainFunctionState()
EthSM_TrcvLinkStateChg(uint8, EthTrcv_LinkStateType)
BswM_EthIf_PortGroupLinkStateChg(EthIf_SwitchPortGroupIdxType,
EthTrcv_LinkStateType)
Eth Rx frame()
[IsMgmtFrameOnly == FALSE]:
[EthSwtSwitchManagementSupport == ON]
EthSwt_EthRxFinishedIndication
(Std_ReturnType, uint8, Eth_BufIdxType)
EthSwt_MainFunction()
[(RxMgmtObject.Ownership ==
ETHSWT_MGMT_OBJ_OWNED_BY_ETHSWT) &&
(Management Info Available)]:
RxMgmtObject.Ownership =
ETHSWT_MGMT_OBJ_OWNED_BY_<UPPER_LAYER>
[EthSwtSwitchManagementSupport == ON]
EthSwt_EthTxAdaptBufferLength(uint16**)
TxMgmtObject.Ownership ==
ETHSWT_MGMT_OBJ_OWNED_BY_ETHSWT
EthSwt_MainFunction()
[(TxMgmtObject.Ownership ==
ETHSWT_MGMT_OBJ_OWNED_BY_ETHSWT) &&
(Management Info Available)]:
TxMgmtObject.Ownership =
ETHSWT_MGMT_OBJ_OWNED_BY_<UPPER_LAYER>
10 Configuration specification
In general, this chapter defines configuration parameters and their clustering into con-
tainers. In order to support the specification Chapter 10.1 describes fundamentals.
It also specifies a template (table) you shall use for the parameter specification. We
intend to leave Chapter 10.1 in the specification to guarantee comprehension.
Chapter 10.2 specifies the structure (containers) and the parameters of the module
Ethernet Interface.
Chapter 10.3 specifies published information of the module Ethernet Interface.
+container EthIfGeneral:
EcucParamConfContainerDef
min = 1
EthIfDevErrorDetect: max = 255
+parameter
EcucBooleanParamDef
defaultValue = false
+parameter EthIfEnableRxInterrupt:
EcucBooleanParamDef
+parameter EthIfEnableTxInterrupt:
EcucBooleanParamDef
EthIfVersionInfoApi:
+parameter
EcucBooleanParamDef
defaultValue = false
EthIfVersionInfoApiMacro:
+parameter
EcucBooleanParamDef
min = 1
max = 255
EthIfMainFunctionPeriod:
+parameter EcucFloatParamDef
min = 0
EthIfPublicCddHeaderFile:
max = INF
EcucStringParamDef
+parameter
maxLength = 32
minLength = 1
EthIfRxIndicationIterations: lowerMultiplicity = 0
EcucIntegerParamDef upperMultiplicity = *
+parameter
min = 0
max = 65535
lowerMultiplicity = 0
upperMultiplicity = 1
+parameter EthIfGetAndResetMeasurementDataApi:
EcucBooleanParamDef
+parameter EthIfStartAutoNegotiation:
EcucBooleanParamDef defaultValue = false
+parameter EthIfGetBaudRate:
EcucBooleanParamDef
+parameter EthIfGetCounterState:
EcucBooleanParamDef
+parameter EthIfGlobalTimeSupport:
EcucBooleanParamDef
EthIfWakeUpSupport:
+parameter EcucBooleanParamDef
lowerMultiplicity = 1
upperMultiplicity = 1
defaultValue = false
EthIfGeneral: EthIfSwitchOffPortTimeDelay:
EcucParamConfContainerDef EcucFloatParamDef
+parameter
min = 0.001
max = 65.535 EthIfPortStartupActiveTime:
lowerMultiplicity = 0 EcucFloatParamDef
upperMultiplicity = 1
+parameter min = 0.001
max = 65.535
lowerMultiplicity = 0
EthIfMainFunctionStatePeriod: upperMultiplicity = 1
EcucFloatParamDef
+parameter
min = 0
max = INF
lowerMultiplicity = 0
upperMultiplicity = 1 EthIfSetForwardingModeApi:
+parameter EcucBooleanParamDef
defaultValue = false
EthIfVerifyConfigApi:
+parameter
EcucBooleanParamDef
defaultValue = false
+parameter EthIfSwitchManagementSupport:
EcucBooleanParamDef
+parameter EthIfGetCtrlIdxList:
EcucBooleanParamDef
EthIfEnableWEthApi:
EcucBooleanParamDef
+parameter
defaultValue = false
lowerMultiplicity = 0
upperMultiplicity = 1
+parameter EthIfEnableSignalQualityApi:
EcucBooleanParamDef
EthIfSignalQualityCheckPeriod:
+parameter EcucFloatParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
+parameter EthIfEnableSecurityEventReporting:
EcucBooleanParamDef
+subContainer defaultValue = false
EthIfSecurityEventRefs:
EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
EthIfEnableCV2xApi:
+parameter EcucBooleanParamDef
defaultValue = false
lowerMultiplicity = 0
upperMultiplicity = 1
EthIfFrameType:
EthIfConfigSet: EthIfFrameOwnerConfig: EcucIntegerParamDef
EcucParamConfContainerDef EcucParamConfContainerDef +parameter
+subContainer min = 0
lowerMultiplicity = 1 max = 65535
upperMultiplicity = *
+parameter EthIfOwner:
EcucIntegerParamDef
min = 0
max = 255
EthIfRxIndicationConfig:
EcucParamConfContainerDef
+subContainer
+parameter EthIfRxIndicationFunction:
lowerMultiplicity = 1 EcucFunctionNameDef
upperMultiplicity = *
EthIfTxConfirmationConfig:
EcucParamConfContainerDef
+subContainer
+parameter EthIfTxConfirmationFunction:
lowerMultiplicity = 0 EcucFunctionNameDef
upperMultiplicity = *
EthIfPhysController:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
EthIfController:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
EthIfTransceiver:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
EthIfSwitch:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
EthIfSwitchPortGroup:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
EthIfSwitchIdx:
EthIfSwitch:
EcucIntegerParamDef
EcucParamConfContainerDef +parameter
min = 0
lowerMultiplicity = 0
max = 255
upperMultiplicity = *
symbolicNameValue = true
+destination EthSwtConfig:
+reference EthIfSwitchRef: EcucReferenceDef EcucParamConfContainerDef
requiresSymbolicNameValue = true lowerMultiplicity = 1
upperMultiplicity = *
(from EthSwt)
EthIfSwitchPortGroupIdx:
EcucIntegerParamDef
EthIfSwitchPortGroup:
+parameter
EcucParamConfContainerDef min = 0
max = 255
lowerMultiplicity = 0 symbolicNameValue = true
upperMultiplicity = *
EthSwtPort:
EthIfPortRef: EcucReferenceDef EcucParamConfContainerDef
+destination
+reference
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = * upperMultiplicity = *
requiresSymbolicNameValue = true
(from EthSwt)
lowerMultiplicity = 0 +literal
upperMultiplicity = 1 ETHIF_SWITCH_PORT_GROUP_CONTROL:
EcucEnumerationLiteralDef
EthCtrlConfigEgressQueue:
EcucParamConfContainerDef
EthIfPhysControllerIdx:
EthIfPhysController: EcucIntegerParamDef lowerMultiplicity = 1
EcucParamConfContainerDef +parameter upperMultiplicity = 8
min = 0
lowerMultiplicity = 1 max = 255 +destination (from Eth)
upperMultiplicity = * symbolicNameValue = true
EthIfPhysCtrlRxIngressQueueRef:
EcucReferenceDef
EthIfPhysCtrlRxMainFunctionPriorityProcessing:
+reference
EcucParamConfContainerDef lowerMultiplicity = 0
upperMultiplicity = 1
lowerMultiplicity = 0
requiresSymbolicNameValue = true
upperMultiplicity = *
+parameter EthIfPhysCtrlRxMainFunctionPeriod:
EcucFloatParamDef
+subContainer
+parameter EthIfPhysCtrlRxIndicationIterations:
EcucIntegerParamDef
EthIfCanXLCtrlRxIngressFifoRef:
+reference EcucReferenceDef
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
+destination
CanXLEthIngressFifo:
EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
(from CanXLDrv)
+reference
EthIfWEthCtrlRef: EcucReferenceDef
lowerMultiplicity = 0
EthIfEthCtrlRef: EcucReferenceDef upperMultiplicity = 1
+reference
lowerMultiplicity = 0 requiresSymbolicNameValue = true
upperMultiplicity = 1
requiresSymbolicNameValue = true
+destination
+destination
EthCtrlConfig:
WEthCtrlConfig:
EcucParamConfContainerDef
EcucParamConfContainerDef
lowerMultiplicity = 1
lowerMultiplicity = 1
upperMultiplicity = *
upperMultiplicity = *
(from CanDrv)
EthIfCV2xCtrlRef: EcucReferenceDef
+reference +destination CV2xCtrlConfig:
lowerMultiplicity = 0 EcucParamConfContainerDef
upperMultiplicity = 1
requiresSymbolicNameValue = true
(from CellurarV2xDriver)
EthIfPhysController:
EthIfController: EthIfPhysControllerRef:
+reference +destination EcucParamConfContainerDef
EcucParamConfContainerDef EcucReferenceDef
lowerMultiplicity = 1
lowerMultiplicity = 1 requiresSymbolicNameValue = true upperMultiplicity = *
upperMultiplicity = *
EthIfCtrlIdx:
+parameter EcucIntegerParamDef
min = 0
max = 255
symbolicNameValue = true
EthIfVlanId:
EcucIntegerParamDef
+parameter
min = 0
max = 4095
lowerMultiplicity = 0
upperMultiplicity = 1
EthIfCtrlMtu:
+parameter EcucIntegerParamDef
min = 64
max = 9000
EthIfMaxTxBufsTotal:
+parameter EcucIntegerParamDef
min = 1
max = 4294967295
EthIfEthTrcvRef: EcucReferenceDef
EthIfTransceiver:
+reference +destination
lowerMultiplicity = 0 EcucParamConfContainerDef
upperMultiplicity = 1
lowerMultiplicity = 0
requiresSymbolicNameValue = true
upperMultiplicity = *
EthIfSwitchRefOrPortGroupRef: EthIfSwitch:
EcucChoiceReferenceDef EcucParamConfContainerDef
+destination
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
+reference
EthIfSwitchPortGroup:
+destination EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
+literal
NO_MACSEC:
EthIfMacSecSupport:
EcucEnumerationLiteralDef
EcucEnumerationParamDef
defaultValue = NO_MACSEC
lowerMultiplicity = 0 +literal
+parameter upperMultiplicity = 1 HW_MACSEC:
EcucEnumerationLiteralDef
+literal SW_MACSEC:
EcucEnumerationLiteralDef
EthIfTransceiver:
EthIfTransceiverIdx:
EcucParamConfContainerDef
EcucIntegerParamDef
+parameter
lowerMultiplicity = 0
min = 0
upperMultiplicity = *
max = 255
symbolicNameValue = true
(from EthTrcv)
WEthTrcvConfig:
EthIfWEthTrcvRef: EcucReferenceDef
+destination EcucParamConfContainerDef
+reference lowerMultiplicity = 0
lowerMultiplicity = 1
upperMultiplicity = 1
upperMultiplicity = *
requiresSymbolicNameValue = true
(from WEthTrcv)
EthIfQualifiedUnexpectedLinkDownTime:
EcucFloatParamDef
+parameter
min = 0
max = INF
lowerMultiplicity = 0
upperMultiplicity = 1
(from CanTrcv)
EthIfGeneral:
EcucParamConfContainerDef +parameter EthIfEnableSecurityEventReporting:
EcucBooleanParamDef
defaultValue = false
+subContainer
ETHIF_SEV_DROP_VLAN_DOUBLE_TAG: EcucReferenceDef
+reference +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
ETHIF_SEV_DROP_INV_VLAN: EcucReferenceDef
+reference lowerMultiplicity = 0 +destination
upperMultiplicity = 1
requiresSymbolicNameValue = true
ETHIF_SEV_DROP_ETH_MAC_COLLISION: EcucReferenceDef
+reference +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
(from IdsM)
10.2.1 EthIf
Included Containers
Container Name Multiplicity Scope / Dependency
EthIfConfigSet 1 Collecting container for all parameters with post-build
configuration classes.
EthIfGeneral 1 This container contains the general configuration parameters of
the Ethernet Interface.
10.2.2 EthIfGeneral
4
Default value false
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local
4
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local
4
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local
4
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local
dependency: If parameter is defined, then EthIf_MainFunctionState shall be generated.
4
Type EcucStringParamDef
Default value –
Length 1-32
Regular Expression –
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
4
Description Specifies the period in units of seconds in which the signal quality it polled in the
context of EthIf_MainfunctionState. The value shall be an integral multiple of EthIfMain
FunctionStatePeriod.
Multiplicity 0..1
Type EcucFloatParamDef
Range [-INF .. INF]
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local
dependency: If this parameter is defined, the EthIf_MainFunctionState shall be
generated and parameter EthIfEnableSignalQualityApi shall be set to TRUE.
4
Description Denote the time delay after the mode "ETH_MODE_DOWN" of a EthIfSwitchPortGroup
will be executed.
This is only used for EthIfSwtPortGroups which are not referenced by any EthIf
Controller.
The time delay shall be greater than the UdpNm timings, because UdpNm shall finish
its shutdown handling. (Repeat Message State, Prepare Bus-Sleep state, Bus-Sleep
state).
Multiplicity 0..1
Type EcucFloatParamDef
Range [0.001 .. 65.535]
Default value –
Post-Build Variant Multiplicity true
Post-Build Variant Value true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local
dependency: EthIfSwitchOffPortTimeDelay > (UdpNmTimeoutTime + UdpNmWaitBus
SleepTime)
4
Post-build time –
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
EthIfSecurityEventRefs 0..1 Container for the references to IdsMEvent elements representing
the security events that the EthIf module shall report to the IdsM
in case the coresponding security related event occurs (and if
EthIfEnableSecurityEventReporting is set to "true"). The
standardized security events in this container can be extended
by vendor-specific security events.
Tags: atp.Status=draft
10.2.3 EthIfConfigSet
Included Containers
Container Name Multiplicity Scope / Dependency
EthIfController 1..* This container contains the configuration of EthIfController.
EthIfFrameOwnerConfig 1..* Configuration of Ethernet frame owner
EthIfPhysController 1..* This container contains the configuration of EthIfPhysController.
The usage of EthIfEthCtrlRef, EthIfCanXLCtrlRef, and EthIfWEth
CtrlRef and EthIfCV2xCtrlRef is exclusive OR.
EthIfRxIndicationConfig 1..* Configuration of receive callback functions.
EthIfSwitch 0..* This container contains the configuration of EthIfSwitches.
EthIfSwitchPortGroup 0..* This container contains the configuration of EthIfSwitchPort
Groups.
If EthIfSwitchPortGroups are controlled by PNC one EthIfSwitch
PortGroup per PNC shall exist.
The host port shall be part of all EthIfSwitchPortGroups.
The up link port of a master switch and the up link port of the
slave switch shall be part of all EthIfSwitchPortGroups that
contain EthSwtPorts belonging to the slave switch.
EthIfTransceiver 0..* This container contains the configuration of EthIfTransceiver.
The usage of EthIfEthTrcvRef, EthIfCanXLTrcvRef, and EthIf
WEthTrcvRef is exclusive OR.
EthIfTrcvLinkStateChgConfig 1..* Specifies link state change callback function
EthIfTxConfirmationConfig 0..* Configuration of transmit indication callback functions.
10.2.4 EthIfController
4
Description MACsec support of the ethernet interface controller.
Tags: atp.Status=draft
Multiplicity 0..1
Type EcucEnumerationParamDef
Range HW_MACSEC –
Tags: atp.Status=draft
NO_MACSEC –
Tags: atp.Status=draft
SW_MACSEC –
Tags: atp.Status=draft
Default value NO_MACSEC
Post-Build Variant Multiplicity true
Post-Build Variant Value true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
4
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: ECU
4
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: ECU
No Included Containers
10.2.5 EthIfFrameOwnerConfig
No Included Containers
10.2.6 EthIfPhysController
4
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: ECU
Included Containers
Container Name Multiplicity Scope / Dependency
EthIfPhysCtrlRxMainFunction 0..* Configuration of ingress FIFO based main function processing.
PriorityProcessing
10.2.7 EthIfPhysCtrlRxMainFunctionPriorityProcessing
4
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local
dependency: Mutually exclusive with EthIfPhysCtrlRxIngressQueueRef. One of the two
parameters is required.
4
Scope / Dependency scope: local
dependency: Mutually exclusive with EthIfCanXLCtrlRxIngressFifoRef. One of the two
parameters is required.
No Included Containers
10.2.8 EthIfRxIndicationConfig
No Included Containers
10.2.9 EthIfSwitch
4
Description This parameter provides a zero-based consecutive index of the Ethernet Interface
Switches. Upper layer BSW modules and the EthIf itself use this index to identify a
Ethernet Switch.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 255
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
No Included Containers
10.2.10 EthIfSwitchPortGroup
4
Description This parameter provides a zero-based consecutive index of the Ethernet Switch Port
Groups. Upper layer BSW modules and the EthIf itself use this index to identify an
Ethernet Switch Port Group.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 255
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
No Included Containers
10.2.11 EthIfTransceiver
No Included Containers
10.2.12 EthIfTrcvLinkStateChgConfig
No Included Containers
10.2.13 EthIfTxConfirmationConfig
4
Scope / Dependency scope: local
No Included Containers
10.2.14 EthIfSecurityEventRefs
4
Type Symbolic name reference to IdsMEvent
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local
No Included Containers