Improve EID-to-RLOC Address Query behaviour when Rloc address has changed. #9974
Replies: 2 comments 9 replies
-
The commit message of 34ecac8 provides a reason:
This should not be the case since the Address Cache Entry is removed (see commit above). |
Beta Was this translation helpful? Give feedback.
-
Thanks for the fast response. Now it's clear why the Address Query is needed! But I still periodically see that messages are sent to the old RLOC address. Attached a wireshark screenshot with shows the problem. You can see that a new Request (SeqNbr=0x4a8) is still send to the old RLOC address after a successful Solicit request upgrade. |
Beta Was this translation helpful? Give feedback.
-
Hello,
Setup
Two nodes communicating in a Thread network via unicast UDP.
Constant high network traffic.
Node1 is periodically sending requests (~30ms) to Node2.
After a few seconds Node2 is requesting to upgrade to a router because the numbers
of active routers is below the ROUTER_UPGRADE_THRESHOLD.
The message exchange for the upgrade procedure:
Problem Description
Issue 1:
I see no reason why Node1 needs to issue a new Address Query to obtain the new Node2 Rloc address.
The address solicit message request already contains all information needed to update the EID-to-RLOC table of Node1.
Address Queries are send multicast and causing high network traffic. Should be avoided if possible!
Of course this only works for the Leader. Other Routers in the network would still need the address query.
Issue 2:
Buffered Requests and even new requests from Node1 are still send to the old Node2 Rloc address until Node1 is triggering an Address query to obtain the new Node2 Rloc address.
This is causing high traffic load because unicast packages are repeated 16 times on 15.4 level if send to an invalid Rloc address.
Maybe this Address Query could be sent with a higher priority or the Rloc address of buffered messages could be updated.
Even deleting buffered messages with invalid or old Rloc's would be better than repeating 16 times.
Node2 could also send a Proactive Address Notification to Node1 as described in chapter 5.5.2.2 Thread specification.
This would avoid the multicast address query and is probably quicker.
Any ideas how to prevent or improve this behaviour?
Regards
Fränz
Beta Was this translation helpful? Give feedback.
All reactions