Fix address parsing from Mac[16,48.64]Address

This commit is contained in:
Tommaso Pecorella
2013-07-17 23:34:17 +02:00
parent 927f09c1cc
commit 9659e95a7d
3 changed files with 16 additions and 16 deletions

View File

@@ -62,10 +62,10 @@ void Ipv6AddressHelper::SetBase (Ipv6Address network, Ipv6Prefix prefix,
Ipv6Address Ipv6AddressHelper::NewAddress (Address addr)
{
NS_LOG_FUNCTION (this << addr);
if (Mac16Address::IsMatchingType (addr))
if (Mac64Address::IsMatchingType (addr))
{
Ipv6Address network = Ipv6AddressGenerator::GetNetwork (Ipv6Prefix (64));
Ipv6Address address = Ipv6Address::MakeAutoconfiguredAddress (Mac16Address::ConvertFrom (addr), network);
Ipv6Address address = Ipv6Address::MakeAutoconfiguredAddress (Mac64Address::ConvertFrom (addr), network);
Ipv6AddressGenerator::AddAllocated (address);
return address;
}
@@ -76,10 +76,10 @@ Ipv6Address Ipv6AddressHelper::NewAddress (Address addr)
Ipv6AddressGenerator::AddAllocated (address);
return address;
}
else if (Mac64Address::IsMatchingType (addr))
else if (Mac16Address::IsMatchingType (addr))
{
Ipv6Address network = Ipv6AddressGenerator::GetNetwork (Ipv6Prefix (64));
Ipv6Address address = Ipv6Address::MakeAutoconfiguredAddress (Mac64Address::ConvertFrom (addr), network);
Ipv6Address address = Ipv6Address::MakeAutoconfiguredAddress (Mac16Address::ConvertFrom (addr), network);
Ipv6AddressGenerator::AddAllocated (address);
return address;
}

View File

@@ -89,9 +89,9 @@ void Ipv6Interface::DoSetup ()
{
Address addr = GetDevice ()->GetAddress ();
if (Mac16Address::IsMatchingType (addr))
if (Mac64Address::IsMatchingType (addr))
{
Ipv6InterfaceAddress ifaddr = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredLinkLocalAddress (Mac16Address::ConvertFrom (addr)), Ipv6Prefix (64));
Ipv6InterfaceAddress ifaddr = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredLinkLocalAddress (Mac64Address::ConvertFrom (addr)), Ipv6Prefix (64));
AddAddress (ifaddr);
}
else if (Mac48Address::IsMatchingType (addr))
@@ -99,9 +99,9 @@ void Ipv6Interface::DoSetup ()
Ipv6InterfaceAddress ifaddr = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredLinkLocalAddress (Mac48Address::ConvertFrom (addr)), Ipv6Prefix (64));
AddAddress (ifaddr);
}
else if (Mac64Address::IsMatchingType (addr))
else if (Mac16Address::IsMatchingType (addr))
{
Ipv6InterfaceAddress ifaddr = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredLinkLocalAddress (Mac64Address::ConvertFrom (addr)), Ipv6Prefix (64));
Ipv6InterfaceAddress ifaddr = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredLinkLocalAddress (Mac16Address::ConvertFrom (addr)), Ipv6Prefix (64));
AddAddress (ifaddr);
}
else

View File

@@ -266,17 +266,17 @@ void Ipv6L3Protocol::AddAutoconfiguredAddress (uint32_t interface, Ipv6Address n
if (flags & (1 << 6)) /* auto flag */
{
// In case of new MacAddress types, remember to change Ipv6L3Protocol::RemoveAutoconfiguredAddress as well
if (Mac16Address::IsMatchingType (addr))
if (Mac64Address::IsMatchingType (addr))
{
address = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredAddress (Mac16Address::ConvertFrom (addr), network));
address = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredAddress (Mac64Address::ConvertFrom (addr), network));
}
else if (Mac48Address::IsMatchingType (addr))
{
address = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredAddress (Mac48Address::ConvertFrom (addr), network));
}
else if (Mac64Address::IsMatchingType (addr))
else if (Mac16Address::IsMatchingType (addr))
{
address = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredAddress (Mac64Address::ConvertFrom (addr), network));
address = Ipv6InterfaceAddress (Ipv6Address::MakeAutoconfiguredAddress (Mac16Address::ConvertFrom (addr), network));
}
else
{
@@ -324,17 +324,17 @@ void Ipv6L3Protocol::RemoveAutoconfiguredAddress (uint32_t interface, Ipv6Addres
uint32_t i = 0;
Ipv6Address toFound;
if (Mac16Address::IsMatchingType (addr))
if (Mac64Address::IsMatchingType (addr))
{
toFound = Ipv6Address::MakeAutoconfiguredAddress (Mac16Address::ConvertFrom (addr), network);
toFound = Ipv6Address::MakeAutoconfiguredAddress (Mac64Address::ConvertFrom (addr), network);
}
else if (Mac48Address::IsMatchingType (addr))
{
toFound = Ipv6Address::MakeAutoconfiguredAddress (Mac48Address::ConvertFrom (addr), network);
}
else if (Mac64Address::IsMatchingType (addr))
else if (Mac16Address::IsMatchingType (addr))
{
toFound = Ipv6Address::MakeAutoconfiguredAddress (Mac64Address::ConvertFrom (addr), network);
toFound = Ipv6Address::MakeAutoconfiguredAddress (Mac16Address::ConvertFrom (addr), network);
}
else
{