Commit 4507742b authored by Marcin Siodelski's avatar Marcin Siodelski
Browse files

[2765] Added stub implementation for the function to open fallback socket.

parent 67e3af3c
......@@ -41,7 +41,7 @@ libb10_dhcp___la_SOURCES += option_string.cc option_string.h
libb10_dhcp___la_SOURCES += protocol_util.cc protocol_util.h
libb10_dhcp___la_SOURCES += pkt6.cc pkt6.h
libb10_dhcp___la_SOURCES += pkt4.cc pkt4.h
libb10_dhcp___la_SOURCES += pkt_filter.h
libb10_dhcp___la_SOURCES += pkt_filter.h pkt_filter.cc
libb10_dhcp___la_SOURCES += pkt_filter_inet.cc pkt_filter_inet.h
if OS_LINUX
......
// Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
#include <config.h>
#include <dhcp/pkt_filter.h>
namespace isc {
namespace dhcp {
int
PktFilter::openFallbackSocket(const isc::asiolink::IOAddress&,
const uint16_t) {
return (0);
}
} // end of isc::dhcp namespace
} // end of isc namespace
......@@ -110,6 +110,30 @@ public:
/// @return result of sending the packet. It is 0 if successful.
virtual int send(const Iface& iface, uint16_t sockfd,
const Pkt4Ptr& pkt) = 0;
protected:
/// @brief Default implementation to open a fallback socket.
///
/// This method provides a means to open a fallback socket and bind it
/// to a given IPv4 address and UDP port. This function may be used by the
/// derived classes to create a fallback socket. It can be overriden
/// in the derived classes if it happens to be insufficient on some
/// environments.
///
/// The fallback socket is meant to be opened together with the other socket
/// (a.k.a. primary socket) used to receive and handle DHCPv4 traffic. The
/// traffic received through the fallback should be dropped. The reasoning
/// behind opening the fallback socket is explained in the documentation of
/// @s isc::dhcp::SocketInfo structure.
///
/// @param addr An IPv4 address to bind the socket to.
/// @param port A port number to bind socket to.
///
/// @return A fallback socket descriptor. This descriptor should be assigned
/// to the @c fallbackfd_ field of the @c isc::dhcp::SocketInfo structure.
virtual int openFallbackSocket(const isc::asiolink::IOAddress& addr,
const uint16_t port);
};
/// Pointer to a PktFilter object.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment