Skip to content

Commit

Permalink
[srp-server] use kNetifThreadInternal for UDP socket (openthread#10992
Browse files Browse the repository at this point in the history
)

This commit updates `Srp::Server` to associate its UDP socket with
`kNetifThreadInternal`, ensuring that received messages are from the
internal Thread network interface (i.e., from devices within the
Thread mesh).
  • Loading branch information
abtink authored Dec 6, 2024
1 parent 6bbb258 commit 7b72e97
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/core/net/srp_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,7 @@ Error Server::PrepareSocket(void)
#endif

VerifyOrExit(!mSocket.IsOpen());
SuccessOrExit(error = mSocket.Open(Ip6::kNetifThreadHost));
SuccessOrExit(error = mSocket.Open(Ip6::kNetifThreadInternal));
error = mSocket.Bind(mPort);

exit:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,20 +80,13 @@ def test(self):
host.start(start_radvd=False)
self.simulator.go(5)

# Reserve UDP ports to verify that SRP server can skip the unavailable
# ports correctly
server.reserve_udp_port(53535)
server.reserve_udp_port(53536)
server.reserve_udp_port(53537)

self.assertEqual(server.srp_server_get_state(), 'disabled')
server.srp_server_set_enabled(True)
server.srp_server_set_lease_range(LEASE, LEASE, KEY_LEASE, KEY_LEASE)
server.start()
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
self.assertEqual('leader', server.get_state())
self.assertEqual(server.srp_server_get_state(), 'running')
self.assertNotIn(server.get_srp_server_port(), [53535, 53536, 53537])

client.start()
self.simulator.go(config.ROUTER_STARTUP_DELAY)
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test_srp_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1076,7 +1076,7 @@ void TestSrpClientDelayedResponse(void)

sServerRxCount = 0;

SuccessOrQuit(udpSocket.Open(Ip6::kNetifThreadHost));
SuccessOrQuit(udpSocket.Open(Ip6::kNetifThreadInternal));
SuccessOrQuit(udpSocket.Bind(kServerPort));

//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Expand Down

0 comments on commit 7b72e97

Please sign in to comment.