Skip to content
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]: Initial Event (FIELDS) Sent as Multicast Instead of Unicast for Clients Exceeding Threshold #799

Open
Vignesh-Murugappan opened this issue Oct 29, 2024 · 0 comments
Labels

Comments

@Vignesh-Murugappan
Copy link

Vignesh-Murugappan commented Oct 29, 2024

vSomeip Version

v3.4.10

Boost Version

1.76

Environment

Ubuntu and Android

Describe the bug

  1. When a new client subscribes, after receiving a successful subscribe acknowledgment, the server sends an "initial event" (for FIELDS) as unicast.
  2. If the same client subscribes again for the same event group, no initial event will be sent.

However:

  1. When the threshold is set to 1, the expectation is that all events, except the initial event, should be sent over multicast to clients once at least one client is subscribed.
  2. The initial event (FIELDS) should be sent as a unicast message to each newly subscribed client.
  3. However, when the threshold is set to 1, the initial event is correctly sent over unicast for the first subscribing client. But, for any subsequent clients, the initial event is sent over multicast instead of unicast.

We have observed this issue for the (N+1)th subscribed client when the threshold is set to N.

In our code walkthrough, we observed that the multicast address is updated to an unreliable endpoint in the highlighted code section when the number of subscribed clients (clients_subscribed) is greater than or equal to the threshold.

image

This is not in-line with AutoSAR requirement "[PRS_SOMEIPSD_00487] dThe initial events shall be transported using unicast from Server to Client."

Reproduction Steps

  1. Set the threshold parameter to 1 in the server-side configuration.
  2. Start two client applications on separate machines (in this case, two different Ubuntu machines).
  3. Start the server application on a third machine.
  4. Expected behavior: the initial event should be sent to both clients over unicast.
  5. Observed behavior: the initial event is sent to only one client via unicast, while the other client receives the initial event over multicast. This causes the initial event to be broadcast to all subscribed clients, regardless of whether they have already received the initial event.

Expected behaviour

Expected behavior: the initial event should be sent to both clients over unicast.

Observed behavior: the initial event is sent to only one client via unicast, while the other client receives the initial event over multicast. This causes the initial event to be broadcast to all subscribed clients, regardless of whether they have already received the initial event.

Logs and Screenshots

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant