-
-
Notifications
You must be signed in to change notification settings - Fork 546
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
Downlink in passive roaming does not work #555
Comments
After changing the go routine to send the XmitDataReq using a new context I realized that the hNS does not trigger the DownlinkTxAck flow after receiving a Success from fNS. I will look into a solution on this part and eventually submit a PR. |
Thanks for reporting. I ran into the same issue last week. This was a regression that was caused by the txack handling which was added at a later point. The above commit removes spawning the XmitDataReq within Go routine, as I'm not sure if it adds any value, it might actually be better to not run this async of the flow, as potentially some mac-commands are marked as requested within the device-session, while the downlink was never sent. This at least solves the queue-item that stays in the queue forever. What this doesn't implement is the logging of the downlink transmission. |
Brilliant, thanks! I will perform additional roaming tests based on this last commit. |
After some test and review I unfortunately think the async solution is needed.
In order to follow the spec (correct order should be 1, 4, 2, 3), the XmitDataReq needs to be sent async (or triggered after the PRStartAns has been sent) so that the PRStartReq flow can continue. Currently there is a very high risk of suffering from timeout in fNS on the PRStartReq request since it has to wait for the XmitDataReq to finish. Raising the async_timeout will probably solve the timeout problems but it would be good to follow the spec here, other NS might expect that. |
What happened?
When running passive roaming the downlink XmitDataReq from hNS does not receive the response from fNS and thus the device's downlink counter is never incremented.
Probably cause for this that hNS XmitDataReq http client call reuse the fNS' XmitDataReq or PRStartReq request context, but since the XmitDataReq is sent in a separate go routine the original context is cancelled too soon.
What did you expect?
hNS registering downlink as successful
Steps to reproduce this issue
Steps:
Could you share your log output?
Your Environment
The text was updated successfully, but these errors were encountered: