]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[82-improve-kea-test-capabilities] Made "server" port
authorFrancis Dupont <fdupont@isc.org>
Thu, 27 Dec 2018 15:15:30 +0000 (16:15 +0100)
committerTomek Mrugalski <tomasz@isc.org>
Fri, 18 Jan 2019 16:36:27 +0000 (17:36 +0100)
17 files changed:
doc/guide/dhcp4-srv.xml
doc/guide/dhcp6-srv.xml
src/bin/dhcp4/ctrl_dhcp4_srv.cc
src/bin/dhcp4/ctrl_dhcp4_srv.h
src/bin/dhcp4/dhcp4_messages.mes
src/bin/dhcp4/dhcp4_srv.cc
src/bin/dhcp4/dhcp4_srv.h
src/bin/dhcp4/kea-dhcp4.xml
src/bin/dhcp4/main.cc
src/bin/dhcp6/ctrl_dhcp6_srv.cc
src/bin/dhcp6/ctrl_dhcp6_srv.h
src/bin/dhcp6/dhcp6_log.h
src/bin/dhcp6/dhcp6_messages.mes
src/bin/dhcp6/dhcp6_srv.cc
src/bin/dhcp6/dhcp6_srv.h
src/bin/dhcp6/kea-dhcp6.xml
src/bin/dhcp6/main.cc

index d942dba994490b970b659019710652f6e5b05c92..58c3eb5ef8f6cd701ea9cd26e63e2c6a1a5381b2 100644 (file)
@@ -38,7 +38,7 @@
           </listitem>
           <listitem>
             <simpara>
-            <command>-p <replaceable>port</replaceable></command> -
+            <command>-p <replaceable>server-port</replaceable></command> -
             specifies UDP port on which the server will listen. This is only
             useful during testing, as a DHCPv4 server listening on
             ports other than the standard ones will not be able to
index 756a6b507718f47e5556e128f7e85af4750ba122..e74e7f0ef42ae68e6fedf6f0485b7624fb4d0366 100644 (file)
@@ -38,7 +38,7 @@
           </listitem>
           <listitem>
             <simpara>
-            <command>-p <replaceable>port</replaceable></command> -
+            <command>-p <replaceable>server-port</replaceable></command> -
             specifies UDP port on which the server will listen. This is only
             useful during testing, as a DHCPv6 server listening on
             ports other than the standard ones will not be able to
index 766e1026ebd73ff409457a40f7c4e9d6f7f4680c..cacfe35d3d60198e534ccaa4e897eb0c26174ab4 100644 (file)
@@ -657,7 +657,8 @@ ControlledDhcpv4Srv::processConfig(isc::data::ConstElementPtr config) {
     // is no need to rollback configuration if socket fails to open on any
     // of the interfaces.
     CfgMgr::instance().getStagingCfg()->getCfgIface()->
-        openSockets(AF_INET, srv->getPort(), getInstance()->useBroadcast());
+        openSockets(AF_INET, srv->getServerPort(),
+                    getInstance()->useBroadcast());
 
     // Install the timers for handling leases reclamation.
     try {
@@ -715,8 +716,8 @@ ControlledDhcpv4Srv::checkConfig(isc::data::ConstElementPtr config) {
     return (configureDhcp4Server(*srv, config, true));
 }
 
-ControlledDhcpv4Srv::ControlledDhcpv4Srv(uint16_t port /*= DHCP4_SERVER_PORT*/)
-    : Dhcpv4Srv(port), io_service_(), timer_mgr_(TimerMgr::instance()) {
+ControlledDhcpv4Srv::ControlledDhcpv4Srv(uint16_t server_port /*= DHCP4_SERVER_PORT*/)
+    : Dhcpv4Srv(server_port), io_service_(), timer_mgr_(TimerMgr::instance()) {
     if (getInstance()) {
         isc_throw(InvalidOperation,
                   "There is another Dhcpv4Srv instance already.");
index 1978a5880d3b6340eb96e8b193fe252e0cd7e374..34dda4329e853c8c69e63f5bcdd05963e6165e96 100644 (file)
@@ -27,8 +27,8 @@ public:
 
     /// @brief Constructor
     ///
-    /// @param port UDP port to be opened for DHCP traffic
-    ControlledDhcpv4Srv(uint16_t port = DHCP4_SERVER_PORT);
+    /// @param server_port UDP port to be opened for DHCP traffic
+    ControlledDhcpv4Srv(uint16_t server_port = DHCP4_SERVER_PORT);
 
     /// @brief Destructor.
     ~ControlledDhcpv4Srv();
index f0d486a6c30f11712fb343c4c092f442ae939a57..c66f7190559f57060816db099d2af64c021a4963 100644 (file)
@@ -421,7 +421,7 @@ This message is printed when the DHCPv4 server is attempting to open a
 configuration database.  The database access string with password redacted
 is logged.
 
-% DHCP4_OPEN_SOCKET opening sockets on port %1
+% DHCP4_OPEN_SOCKET opening service sockets on port %1
 A debug message issued during startup, this indicates that the DHCPv4
 server is about to open sockets on the specified port.
 
@@ -739,7 +739,7 @@ This informational message indicates that the DHCPv4 server has
 processed any command-line switches and is starting. The version
 is also printed.
 
-% DHCP4_START_INFO pid: %1, port: %2, verbose: %3
+% DHCP4_START_INFO pid: %1, server port: %2, verbose: %3
 This is a debug message issued during the DHCPv4 server startup.
 It lists some information about the parameters with which the server
 is running.
index ab0525ae900f555df5182dd294526ac5e063952b..4a15e0ffd88239c5f2fd1d0f959cf81ee044f835 100644 (file)
@@ -441,17 +441,19 @@ Dhcpv4Exchange::setReservedMessageFields() {
 
 const std::string Dhcpv4Srv::VENDOR_CLASS_PREFIX("VENDOR_CLASS_");
 
-Dhcpv4Srv::Dhcpv4Srv(uint16_t port, const bool use_bcast,
+Dhcpv4Srv::Dhcpv4Srv(uint16_t server_port, const bool use_bcast,
                      const bool direct_response_desired)
-    : io_service_(new IOService()), shutdown_(true), alloc_engine_(), port_(port),
-      use_bcast_(use_bcast), network_state_(new NetworkState(NetworkState::DHCPv4)) {
+    : io_service_(new IOService()), shutdown_(true), alloc_engine_(),
+      server_port_(server_port), use_bcast_(use_bcast),
+      network_state_(new NetworkState(NetworkState::DHCPv4)) {
 
-    LOG_DEBUG(dhcp4_logger, DBG_DHCP4_START, DHCP4_OPEN_SOCKET).arg(port);
+    LOG_DEBUG(dhcp4_logger, DBG_DHCP4_START, DHCP4_OPEN_SOCKET)
+        .arg(server_port);
     try {
         // Port 0 is used for testing purposes where we don't open broadcast
         // capable sockets. So, set the packet filter handling direct traffic
         // only if we are in non-test mode.
-        if (port) {
+        if (server_port) {
             // First call to instance() will create IfaceMgr (it's a singleton)
             // it may throw something if things go wrong.
             // The 'true' value of the call to setMatchingPacketFilter imposes
index cdd481027af9c17106f5ae16e831321e2b2e895f..c7b838c81317d0547a918ad87dcbc83139b395f5 100644 (file)
@@ -219,11 +219,11 @@ public:
     /// class for unit testing because features they enable require
     /// root privileges.
     ///
-    /// @param port specifies port number to listen on
+    /// @param server_port specifies port number to listen on
     /// @param use_bcast configure sockets to support broadcast messages.
     /// @param direct_response_desired specifies if it is desired to
     /// use direct V4 traffic.
-    Dhcpv4Srv(uint16_t port = DHCP4_SERVER_PORT,
+    Dhcpv4Srv(uint16_t server_port = DHCP4_SERVER_PORT,
               const bool use_bcast = true,
               const bool direct_response_desired = true);
 
@@ -285,8 +285,8 @@ public:
     /// for testing purposes only.
     ///
     /// @return UDP port on which server should listen.
-    uint16_t getPort() const {
-        return (port_);
+    uint16_t getServerPort() const {
+        return (server_port_);
     }
 
     /// @brief Return bool value indicating that broadcast flags should be set
@@ -954,8 +954,11 @@ private:
     /// @return Option that contains netmask information
     static OptionPtr getNetmaskOption(const Subnet4Ptr& subnet);
 
-    uint16_t port_;  ///< UDP port number on which server listens.
-    bool use_bcast_; ///< Should broadcast be enabled on sockets (if true).
+    /// UDP port number on which server listens.
+    uint16_t server_port_;
+
+    /// Should broadcast be enabled on sockets (if true).
+    bool use_bcast_;
 
 protected:
 
index b298b0848f58cb2910f78e24cfb0b0908f5c09e0..03a59336b47353eeef05a5a1cc383315b33b13cd 100644 (file)
@@ -49,7 +49,7 @@
       <arg choice="opt" rep="norepeat"><option>-d</option></arg>
       <arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">config-file</replaceable></option></arg>
       <arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">config-file</replaceable></option></arg>
-      <arg choice="opt" rep="norepeat"><option>-p <replaceable class="parameter">port-number</replaceable></option></arg>
+      <arg choice="opt" rep="norepeat"><option>-p <replaceable class="parameter">server-port-number</replaceable></option></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
 
       <varlistentry>
         <term><option>-p</option></term>
         <listitem><para>
-          Port number (1-65535) on which the server listens. This is useful
-          for testing purposes only.
+          Server port number (1-65535) on which the server listens.
+          This is useful for testing purposes only.
         </para></listitem>
       </varlistentry>
 
index 357360bca4734deba4e2a60e445db9543813a6c3..15bc920f25e2e781c9603151c4d589b40f6fa9ed 100644 (file)
@@ -51,7 +51,7 @@ usage() {
     cerr << "  -d: debug mode with extra verbosity (former -v)" << endl;
     cerr << "  -c file: specify configuration file" << endl;
     cerr << "  -t file: check the configuration file syntax and exit" << endl;
-    cerr << "  -p number: specify non-standard port number 1-65535 "
+    cerr << "  -p number: specify non-standard server port number 1-65535 "
          << "(useful for testing only)" << endl;
     exit(EXIT_FAILURE);
 }
@@ -60,8 +60,8 @@ usage() {
 int
 main(int argc, char* argv[]) {
     int ch;
-    int port_number = DHCP4_SERVER_PORT; // The default. any other values are
-                                         // useful for testing only.
+    // The default. any other values are useful for testing only.
+    int server_port_number = DHCP4_SERVER_PORT;
     bool verbose_mode = false; // Should server be verbose?
     bool check_mode = false;   // Check syntax
 
@@ -96,13 +96,13 @@ main(int argc, char* argv[]) {
 
         case 'p':
             try {
-                port_number = boost::lexical_cast<int>(optarg);
+                server_port_number = boost::lexical_cast<int>(optarg);
             } catch (const boost::bad_lexical_cast &) {
                 cerr << "Failed to parse port number: [" << optarg
                      << "], 1-65535 allowed." << endl;
                 usage();
             }
-            if (port_number <= 0 || port_number > 65535) {
+            if (server_port_number <= 0 || server_port_number > 65535) {
                 cerr << "Failed to parse port number: [" << optarg
                      << "], 1-65535 allowed." << endl;
                 usage();
@@ -187,12 +187,13 @@ main(int argc, char* argv[]) {
         // Initialize logging.  If verbose, we'll use maximum verbosity.
         Daemon::loggerInit(DHCP4_ROOT_LOGGER_NAME, verbose_mode);
         LOG_DEBUG(dhcp4_logger, DBG_DHCP4_START, DHCP4_START_INFO)
-            .arg(getpid()).arg(port_number).arg(verbose_mode ? "yes" : "no");
+            .arg(getpid()).arg(server_port_number)
+            .arg(verbose_mode ? "yes" : "no");
 
         LOG_INFO(dhcp4_logger, DHCP4_STARTING).arg(VERSION);
 
         // Create the server instance.
-        ControlledDhcpv4Srv server(port_number);
+        ControlledDhcpv4Srv server(server_port_number);
 
         // Remember verbose-mode
         server.setVerbose(verbose_mode);
index b45ba517c0eebcfe5d87ccc64e1ae75d95917a48..4a85b53032d2474687ce98fa5308847ada9c2381 100644 (file)
@@ -676,7 +676,8 @@ ControlledDhcpv6Srv::processConfig(isc::data::ConstElementPtr config) {
     // log warnings. Since we allow that this fails for some interfaces there
     // is no need to rollback configuration if socket fails to open on any
     // of the interfaces.
-    CfgMgr::instance().getStagingCfg()->getCfgIface()->openSockets(AF_INET6, srv->getPort());
+    CfgMgr::instance().getStagingCfg()->getCfgIface()->
+        openSockets(AF_INET6, srv->getServerPort());
 
     // Install the timers for handling leases reclamation.
     try {
@@ -737,8 +738,8 @@ ControlledDhcpv6Srv::checkConfig(isc::data::ConstElementPtr config) {
     return (configureDhcp6Server(*srv, config, true));
 }
 
-ControlledDhcpv6Srv::ControlledDhcpv6Srv(uint16_t port)
-    : Dhcpv6Srv(port), io_service_(), timer_mgr_(TimerMgr::instance()) {
+ControlledDhcpv6Srv::ControlledDhcpv6Srv(uint16_t server_port)
+    : Dhcpv6Srv(server_port), io_service_(), timer_mgr_(TimerMgr::instance()) {
     if (server_) {
         isc_throw(InvalidOperation,
                   "There is another Dhcpv6Srv instance already.");
index a747fec833d4916595ec56042af49435971988f4..f8fd27691e10634bdd21c008eaf3fde305ebbb19 100644 (file)
@@ -27,8 +27,8 @@ public:
 
     /// @brief Constructor
     ///
-    /// @param port UDP port to be opened for DHCP traffic
-    ControlledDhcpv6Srv(uint16_t port = DHCP6_SERVER_PORT);
+    /// @param server_port UDP port to be opened for DHCP traffic
+    ControlledDhcpv6Srv(uint16_t server_port = DHCP6_SERVER_PORT);
 
     /// @brief Destructor.
     virtual ~ControlledDhcpv6Srv();
index 2ce7201e12618f270b7f25912d90a3c302f45381..377b582d6ebd51a7a47dd10b5f5a6c5d4c1a557f 100644 (file)
@@ -101,7 +101,7 @@ extern isc::log::Logger packet6_logger;
 /// @brief Logger for options parser.
 ///
 /// This logger is used to issue log messages related to processing of the
-/// DHCP options 
+/// DHCP options.
 extern isc::log::Logger options6_logger;
 
 /// @brief Logger for Hostname or FQDN processing.
index 4cdcc57f35eb8dafec18e32743528d39d5493298..6fa07ce28fa6fe77a746a98b83cb680245d8686d 100644 (file)
@@ -472,7 +472,7 @@ This warning message is issued when current server configuration specifies
 no interfaces that server should listen on, or specified interfaces are not
 configured to receive the traffic.
 
-% DHCP6_OPEN_SOCKET opening sockets on port %1
+% DHCP6_OPEN_SOCKET opening service sockets on port %1
 A debug message issued during startup, this indicates that the IPv6 DHCP
 server is about to open sockets on the specified port.
 
@@ -782,7 +782,7 @@ This informational message indicates that the IPv6 DHCP server has
 processed any command-line switches and is starting. The version
 is also printed.
 
-% DHCP6_START_INFO pid: %1, port: %2, verbose: %3
+% DHCP6_START_INFO pid: %1, server port: %2, verbose: %3
 This is a debug message issued during the IPv6 DHCP server startup.
 It lists some information about the parameters with which the server
 is running.
index 440b26d6201eba79dba40dae21cdae3d9e4b3339..e333e3be77a7b131a7db2c7b794f11a5164b0f45 100644 (file)
@@ -179,20 +179,21 @@ namespace dhcp {
 
 const std::string Dhcpv6Srv::VENDOR_CLASS_PREFIX("VENDOR_CLASS_");
 
-Dhcpv6Srv::Dhcpv6Srv(uint16_t port)
-    : io_service_(new IOService()), port_(port), serverid_(), shutdown_(true),
-      alloc_engine_(), name_change_reqs_(),
+Dhcpv6Srv::Dhcpv6Srv(uint16_t server_port)
+    : io_service_(new IOService()), server_port_(server_port), serverid_(),
+      shutdown_(true), alloc_engine_(), name_change_reqs_(),
       network_state_(new NetworkState(NetworkState::DHCPv6))
 {
 
-    LOG_DEBUG(dhcp6_logger, DBG_DHCP6_START, DHCP6_OPEN_SOCKET).arg(port);
+    LOG_DEBUG(dhcp6_logger, DBG_DHCP6_START, DHCP6_OPEN_SOCKET)
+        .arg(server_port);
 
     // Initialize objects required for DHCP server operation.
     try {
         // Port 0 is used for testing purposes where in most cases we don't
         // rely on the physical interfaces. Therefore, it should be possible
         // to create an object even when there are no usable interfaces.
-        if ((port > 0) && (IfaceMgr::instance().countIfaces() == 0)) {
+        if ((server_port > 0) && (IfaceMgr::instance().countIfaces() == 0)) {
             LOG_ERROR(dhcp6_logger, DHCP6_NO_INTERFACES);
             return;
         }
index e8b891423435b1ac33a16b7cc62e48cc8fabc44d..3c04ac530de85759582bb8183cf03ec47eefa210 100644 (file)
@@ -80,8 +80,8 @@ public:
     /// network interaction. Will instantiate lease manager, and load
     /// old or create new DUID.
     ///
-    /// @param port port on will all sockets will listen
-    Dhcpv6Srv(uint16_t port = DHCP6_SERVER_PORT);
+    /// @param server_port port on will all sockets will listen
+    Dhcpv6Srv(uint16_t server_port = DHCP6_SERVER_PORT);
 
     /// @brief Destructor. Used during DHCPv6 service shutdown.
     virtual ~Dhcpv6Srv();
@@ -138,8 +138,8 @@ public:
     /// used for testing purposes.
     ///
     /// @return UDP port on which server should listen.
-    uint16_t getPort() const {
-        return (port_);
+    uint16_t getServerPort() const {
+        return (server_port_);
     }
 
     /// @brief Starts DHCP_DDNS client IO if DDNS updates are enabled.
@@ -941,7 +941,7 @@ private:
     bool requestedInORO(const Pkt6Ptr& query, const uint16_t code) const;
 
     /// UDP port number on which server listens.
-    uint16_t port_;
+    uint16_t server_port_;
 
 public:
     /// @note used by DHCPv4-over-DHCPv6 so must be public and static
index b020e8def73347308dc7cccc72b453c6c8ba0f8d..288ea87a5b7ec80c0623b2a54c46a2c09dc74748 100644 (file)
@@ -48,7 +48,7 @@
       <arg choice="opt" rep="norepeat"><option>-d</option></arg>
       <arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">config-file</replaceable></option></arg>
       <arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">config-file</replaceable></option></arg>
-      <arg choice="opt" rep="norepeat"><option>-p <replaceable class="parameter">port-number</replaceable></option></arg>
+      <arg choice="opt" rep="norepeat"><option>-p <replaceable class="parameter">server-port-number</replaceable></option></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
 
       <varlistentry>
         <term><option>-p</option></term>
         <listitem><para>
-          Port number (1-65535) on which the server listens. This is useful
-          for testing purposes only.
+          Server port number (1-65535) on which the server listens.
+          This is useful for testing purposes only.
         </para></listitem>
       </varlistentry>
 
index f16e770723e0d8a0c10626175b02447c16e9706c..c934dedbb73407b21b49178872de1d8ad240bcb1 100644 (file)
@@ -49,14 +49,14 @@ usage() {
     cerr << "Kea DHCPv6 server, version " << VERSION << endl;
     cerr << endl;
     cerr << "Usage: " << DHCP6_NAME
-         << " -[v|V|W] [-d] [-{c|t} cfgfile] [-p port_number]" << endl;
+         << " -[v|V|W] [-d] [-{c|t} cfgfile] [-p server_port_number]" << endl;
     cerr << "  -v: print version number and exit." << endl;
     cerr << "  -V: print extended version and exit" << endl;
     cerr << "  -W: display the configuration report and exit" << endl;
     cerr << "  -d: debug mode with extra verbosity (former -v)" << endl;
     cerr << "  -c file: specify configuration file" << endl;
     cerr << "  -t file: check the configuration file syntax and exit" << endl;
-    cerr << "  -p number: specify non-standard port number 1-65535 "
+    cerr << "  -p number: specify non-standard server port number 1-65535 "
          << "(useful for testing only)" << endl;
     exit(EXIT_FAILURE);
 }
@@ -65,8 +65,8 @@ usage() {
 int
 main(int argc, char* argv[]) {
     int ch;
-    int port_number = DHCP6_SERVER_PORT; // The default. Any other values are
-                                         // useful for testing only.
+    // The default. Any other values are useful for testing only.
+    int server_port_number = DHCP6_SERVER_PORT;
     bool verbose_mode = false; // Should server be verbose?
     bool check_mode = false;   // Check syntax
 
@@ -101,13 +101,13 @@ main(int argc, char* argv[]) {
 
         case 'p': // port number
             try {
-                port_number = boost::lexical_cast<int>(optarg);
+                server_port_number = boost::lexical_cast<int>(optarg);
             } catch (const boost::bad_lexical_cast &) {
                 cerr << "Failed to parse port number: [" << optarg
                      << "], 1-65535 allowed." << endl;
                 usage();
             }
-            if (port_number <= 0 || port_number > 65535) {
+            if (server_port_number <= 0 || server_port_number > 65535) {
                 cerr << "Failed to parse port number: [" << optarg
                      << "], 1-65535 allowed." << endl;
                 usage();
@@ -194,12 +194,13 @@ main(int argc, char* argv[]) {
         Daemon::loggerInit(DHCP6_LOGGER_NAME, verbose_mode);
 
         LOG_DEBUG(dhcp6_logger, DBG_DHCP6_START, DHCP6_START_INFO)
-            .arg(getpid()).arg(port_number).arg(verbose_mode ? "yes" : "no");
+            .arg(getpid()).arg(server_port_number)
+            .arg(verbose_mode ? "yes" : "no");
 
         LOG_INFO(dhcp6_logger, DHCP6_STARTING).arg(VERSION);
 
         // Create the server instance.
-        ControlledDhcpv6Srv server(port_number);
+        ControlledDhcpv6Srv server(server_port_number);
 
         // Remember verbose-mode
         server.setVerbose(verbose_mode);