-
Notifications
You must be signed in to change notification settings - Fork 696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG]: Some/IP-SD session counter issue with ipv6 and local link addresses #605
Comments
@fcmonteiro & @duartenfonseca: Are you considering merging my fix into main? |
@wennmbj yes, we are, but we would need some suggestions in how to reproduce on our side the mentioned bug |
@duartenfonseca: It is not that difficult. Use one Linux ECU with vsomeip and one other vsomeip stack vendor e.g. Vector Autosar Classic. Actually it should work if you are setting up a communication between two ECUs with the Covesa stack and monitoring the traffic in Wireshark like I did. Only difference is, that the Vector stack detects reboots due to incorrect session. You just need to use IPv6 local link addresses. Not sure if I can write a unit-test for that case. We are testing this on integration test level with physical hardware. |
We discovered an issue in the service discovery module with ipv6 and local link addresses. We use one Linux ECU with vsomeip and an ECU with Autosar Classic. On receiving side of the subscribe ack the session id is incorrect.
The SD module handles two session counters for one receiving ECU. One for subscribing to a service offered by another ECU and one for the subscribe ack when an ECU subscribed a service from the host ECU.
For the ack in service_discovery_impl::get_session(const boost::asio::ip::address &_address) the address object contains the device e.g. fe80::a8bb:ccff:fedd:2%eth0. For other sd operations the object contains only the address e.g. fe80::a8bb:ccff:fedd:2.
The text was updated successfully, but these errors were encountered: