From 9659e95a7d0ab2416dbf7011e63119f662aa117b Mon Sep 17 00:00:00 2001 From: Tommaso Pecorella Date: Wed, 17 Jul 2013 23:34:17 +0200 Subject: [PATCH] Fix address parsing from Mac[16,48.64]Address --- src/internet/helper/ipv6-address-helper.cc | 8 ++++---- src/internet/model/ipv6-interface.cc | 8 ++++---- src/internet/model/ipv6-l3-protocol.cc | 16 ++++++++-------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/internet/helper/ipv6-address-helper.cc b/src/internet/helper/ipv6-address-helper.cc index 3da8864a5..3bb104da0 100644 --- a/src/internet/helper/ipv6-address-helper.cc +++ b/src/internet/helper/ipv6-address-helper.cc @@ -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; } diff --git a/src/internet/model/ipv6-interface.cc b/src/internet/model/ipv6-interface.cc index 5db0d5a63..5469b01a7 100644 --- a/src/internet/model/ipv6-interface.cc +++ b/src/internet/model/ipv6-interface.cc @@ -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 diff --git a/src/internet/model/ipv6-l3-protocol.cc b/src/internet/model/ipv6-l3-protocol.cc index 58a89a263..0ef79e0ac 100644 --- a/src/internet/model/ipv6-l3-protocol.cc +++ b/src/internet/model/ipv6-l3-protocol.cc @@ -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 {