msg_copy->setRemotePort(msg->getLocalPort());
msg_copy->setLocalPort(msg->getRemotePort());
msg_copy->setIface(msg->getIface());
+ msg_copy->setIndex(msg->getIndex());
msg_copy->unpack();
-// Copyright (C) 2014-2019 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2014-2020 Internet Systems Consortium, Inc. ("ISC")
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
#include <dhcp/option6_iaaddr.h>
#include <dhcp/option6_status_code.h>
#include <dhcp/pkt6.h>
+#include <dhcp/tests/iface_mgr_test_config.h>
#include <dhcpsrv/lease.h>
#include <dhcpsrv/lease_mgr_factory.h>
#include <dhcpsrv/pool.h>
duid_(generateDUID(DUID::DUID_LLT)),
link_local_("fe80::3a60:77ff:fed5:cdef"),
iface_name_("eth0"),
+ iface_index_(ETH0_INDEX),
srv_(boost::shared_ptr<NakedDhcpv6Srv>(new NakedDhcpv6Srv(0))),
use_relay_(false),
use_oro_(false),
duid_(generateDUID(DUID::DUID_LLT)),
link_local_("fe80::3a60:77ff:fed5:cdef"),
iface_name_("eth0"),
+ iface_index_(ETH0_INDEX),
srv_(srv),
use_relay_(false),
use_oro_(false),
msg_copy->setRemoteAddr(link_local_);
msg_copy->setLocalAddr(dest_addr_);
msg_copy->setIface(iface_name_);
+ msg_copy->setIndex(iface_index_);
// Copy classes
const ClientClasses& classes = msg->getClasses();
-// Copyright (C) 2014-2019 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2014-2020 Internet Systems Consortium, Inc. ("ISC")
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
iface_name_ = iface_name;
}
+ /// @brief Sets the interface to be used by the client.
+ ///
+ /// @param iface_index Interface index.
+ void setIfaceIndex(uint32_t iface_index) {
+ iface_index_ = iface_index;
+ }
+
/// @brief Sets link local address used by the client.
///
/// @param link_local New link local address.
/// @brief Currently used link local address.
asiolink::IOAddress link_local_;
- /// @brief Currently used interface.
+ /// @brief Currently used interface (name).
std::string iface_name_;
+ /// @brief Currently used interface (index).
+ uint32_t iface_index_;
+
/// @brief Pointer to the server that the client is communicating with.
boost::shared_ptr<isc::dhcp::test::NakedDhcpv6Srv> srv_;
Pkt6Ptr msg = Pkt6Ptr(new Pkt6(message_type, 1234));
msg->setRemoteAddr(IOAddress("fe80::abcd"));
msg->setIface("eth0");
+ msg->setIndex(ETH0_INDEX);
msg->addOption(createIA(lease_type, addr, prefix_len, iaid));
return (msg);
}
req.reset(new Pkt6(message_type, 1234));
req->setRemoteAddr(IOAddress("fe80::abcd"));
req->setIface("eth0");
+ req->setIndex(ETH0_INDEX);
// from createIA
uint16_t code;
#include <dhcp/option_custom.h>
#include <dhcp/option.h>
#include <dhcp/iface_mgr.h>
+#include <dhcp/tests/iface_mgr_test_config.h>
#include <dhcpsrv/cfgmgr.h>
#include <dhcpsrv/lease_mgr.h>
#include <dhcpsrv/lease_mgr_factory.h>