Kea 2.7.0
pkt_filter_inet6.h
Go to the documentation of this file.
1// Copyright (C) 2013-2024 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
13namespace isc {
14namespace dhcp {
15
21class PktFilterInet6 : public PktFilter6 {
22public:
29 virtual bool isSocketReceivedTimeSupported() const;
30
48 virtual SocketInfo openSocket(const Iface& iface,
49 const isc::asiolink::IOAddress& addr,
50 const uint16_t port,
51 const bool join_multicast);
52
70 virtual Pkt6Ptr receive(const SocketInfo& socket_info);
71
85 virtual int send(const Iface& iface, uint16_t sockfd, const Pkt6Ptr& pkt);
86
87private:
89 static const size_t CONTROL_BUF_LEN;
90};
91
92} // namespace isc::dhcp
93} // namespace isc
94
95#endif // PKT_FILTER_INET6_H
Represents a single network interface.
Definition iface_mgr.h:118
Abstract packet handling class for DHCPv6.
Definition pkt_filter6.h:70
A DHCPv6 packet handling class using datagram sockets.
virtual int send(const Iface &iface, uint16_t sockfd, const Pkt6Ptr &pkt)
Sends DHCPv6 message through a specified interface and socket.
virtual bool isSocketReceivedTimeSupported() const
Check if the socket received time is supported.
virtual Pkt6Ptr receive(const SocketInfo &socket_info)
Receives DHCPv6 message on the interface.
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:31
Defines the logger used by the top-level component of kea-lfc.
Holds information about socket.
Definition socket_info.h:19