2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 13:37:55 +00:00

[5093] Stop createLinkLayerId at first Ethernet like + en3 -> en7

This commit is contained in:
Francis Dupont 2016-12-22 10:55:43 +01:00 committed by Tomek Mrugalski
parent 19f02b83f7
commit 7c3349e12f
2 changed files with 9 additions and 3 deletions

View File

@ -285,6 +285,12 @@ DUIDFactory::createLinkLayerId(std::vector<uint8_t>& identifier,
// Assign link layer address and type.
identifier.assign(iface->getMac(), iface->getMac() + iface->getMacLen());
htype = iface->getHWType();
// If it looks like an Ethernet interface we should be happy
if ((htype == static_cast<uint16_t>(HTYPE_ETHER)) &&
(iface->getMacLen() == 6)) {
break;
}
}
// We failed to find an interface which link layer address could be

View File

@ -641,10 +641,10 @@ TEST_F(IfaceMgrTest, getIface) {
// Interface name, ifindex
IfacePtr iface1(new Iface("lo1", 100));
IfacePtr iface2(new Iface("eth9", 101));
IfacePtr iface3(new Iface("en3", 102));
IfacePtr iface3(new Iface("en7", 102));
IfacePtr iface4(new Iface("e1000g4", 103));
cout << "This test assumes that there are less than 100 network interfaces"
<< " in the tested system and there are no lo1, eth9, en3, e1000g4"
<< " in the tested system and there are no lo1, eth9, en7, e1000g4"
<< " or wifi15 interfaces present." << endl;
// Note: real interfaces may be detected as well
@ -666,7 +666,7 @@ TEST_F(IfaceMgrTest, getIface) {
IfacePtr tmp = ifacemgr->getIface(102);
ASSERT_TRUE(tmp);
EXPECT_EQ("en3", tmp->getName());
EXPECT_EQ("en7", tmp->getName());
EXPECT_EQ(102, tmp->getIndex());
// Check that interface can be retrieved by name