Kea  2.3.4-git
pkt_filter_inet6.h
Go to the documentation of this file.
1 // Copyright (C) 2013-2020 Internet Systems Consortium, Inc. ("ISC")
2 //
3 // This Source Code Form is subject to the terms of the Mozilla Public
4 // License, v. 2.0. If a copy of the MPL was not distributed with this
5 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 
7 #ifndef PKT_FILTER_INET6_H
8 #define PKT_FILTER_INET6_H
9 
10 #include <dhcp/pkt_filter6.h>
11 #include <boost/scoped_array.hpp>
12 
13 namespace isc {
14 namespace dhcp {
15 
21 class PktFilterInet6 : public PktFilter6 {
22 public:
23 
41  virtual SocketInfo openSocket(const Iface& iface,
42  const isc::asiolink::IOAddress& addr,
43  const uint16_t port,
44  const bool join_multicast);
45 
63  virtual Pkt6Ptr receive(const SocketInfo& socket_info);
64 
78  virtual int send(const Iface& iface, uint16_t sockfd, const Pkt6Ptr& pkt);
79 
80 private:
82  static const size_t CONTROL_BUF_LEN;
83 };
84 
85 } // namespace isc::dhcp
86 } // namespace isc
87 
88 #endif // PKT_FILTER_INET6_H
Represents a single network interface.
Definition: iface_mgr.h:118
virtual SocketInfo openSocket(const Iface &iface, const isc::asiolink::IOAddress &addr, const uint16_t port, const bool join_multicast)
Opens a socket.
boost::shared_ptr< Pkt6 > Pkt6Ptr
A pointer to Pkt6 packet.
Definition: pkt6.h:28
Defines the logger used by the top-level component of kea-lfc.
Abstract packet handling class for DHCPv6.
Definition: pkt_filter6.h:70
virtual int send(const Iface &iface, uint16_t sockfd, const Pkt6Ptr &pkt)
Sends DHCPv6 message through a specified interface and socket.
A DHCPv6 packet handling class using datagram sockets.
virtual Pkt6Ptr receive(const SocketInfo &socket_info)
Receives DHCPv6 message on the interface.
Holds information about socket.
Definition: socket_info.h:19