Kea  1.5.0
pkt_filter_inet6.h
Go to the documentation of this file.
1 // Copyright (C) 2013-2018 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 
29 
47  virtual SocketInfo openSocket(const Iface& iface,
48  const isc::asiolink::IOAddress& addr,
49  const uint16_t port,
50  const bool join_multicast);
51 
69  virtual Pkt6Ptr receive(const SocketInfo& socket_info);
70 
84  virtual int send(const Iface& iface, uint16_t sockfd,
85  const Pkt6Ptr& pkt);
86 
87 private:
91  size_t recv_control_buf_len_;
93  size_t send_control_buf_len_;
95  boost::scoped_array<char> recv_control_buf_;
97  boost::scoped_array<char> send_control_buf_;
98 };
99 
100 } // namespace isc::dhcp
101 } // namespace isc
102 
103 #endif // PKT_FILTER_INET6_H
isc::dhcp::PktFilter6
Abstract packet handling class for DHCPv6.
Definition: pkt_filter6.h:70
isc::dhcp::Iface
Represents a single network interface.
Definition: iface_mgr.h:114
pkt_filter6.h
isc
Defines the logger used by the top-level component of kea-dhcp-ddns.
Definition: agent_parser.cc:144
isc::dhcp::SocketInfo
Holds information about socket.
Definition: socket_info.h:19
isc::dhcp::PktFilterInet6::send
virtual int send(const Iface &iface, uint16_t sockfd, const Pkt6Ptr &pkt)
Sends DHCPv6 message through a specified interface and socket.
Definition: pkt_filter_inet6.cc:248
isc::dhcp::PktFilterInet6
A DHCPv6 packet handling class using datagram sockets.
Definition: pkt_filter_inet6.h:21
isc::dhcp::PktFilterInet6::PktFilterInet6
PktFilterInet6()
Constructor.
Definition: pkt_filter_inet6.cc:22
isc::dhcp::Pkt6Ptr
boost::shared_ptr< Pkt6 > Pkt6Ptr
A pointer to Pkt6 packet.
Definition: pkt6.h:28
isc::dhcp::PktFilterInet6::openSocket
virtual SocketInfo openSocket(const Iface &iface, const isc::asiolink::IOAddress &addr, const uint16_t port, const bool join_multicast)
Opens a socket.
Definition: pkt_filter_inet6.cc:30
isc::dhcp::PktFilterInet6::receive
virtual Pkt6Ptr receive(const SocketInfo &socket_info)
Receives DHCPv6 message on the interface.
Definition: pkt_filter_inet6.cc:137