diff --git a/daemon/face/udp-channel.cpp b/daemon/face/udp-channel.cpp
index 80c6878..5573306 100644
--- a/daemon/face/udp-channel.cpp
+++ b/daemon/face/udp-channel.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -33,10 +33,10 @@
 
 namespace nfd::face {
 
-NFD_LOG_INIT(UdpChannel);
-
 namespace ip = boost::asio::ip;
 
+NFD_LOG_INIT(UdpChannel);
+
 UdpChannel::UdpChannel(const udp::Endpoint& localEndpoint,
                        time::nanoseconds idleTimeout,
                        bool wantCongestionMarking,
@@ -83,7 +83,7 @@
   }
 
   m_socket.open(m_localEndpoint.protocol());
-  m_socket.set_option(ip::udp::socket::reuse_address(true));
+  m_socket.set_option(boost::asio::socket_base::reuse_address(true));
   if (m_localEndpoint.address().is_v6()) {
     m_socket.set_option(ip::v6_only(true));
   }
@@ -160,7 +160,7 @@
 
   // else, create a new face
   ip::udp::socket socket(getGlobalIoService(), m_localEndpoint.protocol());
-  socket.set_option(ip::udp::socket::reuse_address(true));
+  socket.set_option(boost::asio::socket_base::reuse_address(true));
   socket.bind(m_localEndpoint);
   socket.connect(remoteEndpoint);
 
