diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 307593055..60f233c32 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -75,6 +75,7 @@ Bugs fixed - Bug 2876 - tcp: Do not shrink adv window after we send the FIN - Bug 2877 - wifi: Wrong data types for CWmin and CWmax - Bug 2885 - lte: Tests fail for CQA and PSS testsuites +- Bug 2890 - internet: Icmpv4 "ECHO" is defined in system-wide headers Known issues ------------ diff --git a/src/aodv/test/aodv-regression.cc b/src/aodv/test/aodv-regression.cc index 277f08665..eeb0b582d 100644 --- a/src/aodv/test/aodv-regression.cc +++ b/src/aodv/test/aodv-regression.cc @@ -105,7 +105,7 @@ ChainRegressionTest::SendPing () echo.SetData (dataPacket); p->AddHeader (echo); Icmpv4Header header; - header.SetType (Icmpv4Header::ECHO); + header.SetType (Icmpv4Header::ICMPV4_ECHO); header.SetCode (0); if (Node::ChecksumEnabled ()) { diff --git a/src/internet-apps/model/v4ping.cc b/src/internet-apps/model/v4ping.cc index f97c1ad24..4e428d4f9 100644 --- a/src/internet-apps/model/v4ping.cc +++ b/src/internet-apps/model/v4ping.cc @@ -128,7 +128,7 @@ V4Ping::Receive (Ptr socket) NS_ASSERT (ipv4.GetProtocol () == 1); // protocol should be icmp. Icmpv4Header icmp; p->RemoveHeader (icmp); - if (icmp.GetType () == Icmpv4Header::ECHO_REPLY) + if (icmp.GetType () == Icmpv4Header::ICMPV4_ECHO_REPLY) { Icmpv4Echo echo; p->RemoveHeader (echo); @@ -225,7 +225,7 @@ V4Ping::Send () echo.SetData (dataPacket); p->AddHeader (echo); Icmpv4Header header; - header.SetType (Icmpv4Header::ECHO); + header.SetType (Icmpv4Header::ICMPV4_ECHO); header.SetCode (0); if (Node::ChecksumEnabled ()) { diff --git a/src/internet/bindings/modulegen__gcc_ILP32.py b/src/internet/bindings/modulegen__gcc_ILP32.py index cbfaf2b82..bddc337da 100644 --- a/src/internet/bindings/modulegen__gcc_ILP32.py +++ b/src/internet/bindings/modulegen__gcc_ILP32.py @@ -311,17 +311,17 @@ def register_types(module): ## icmpv4.h (module 'internet'): ns3::Icmpv4DestinationUnreachable [class] module.add_class('Icmpv4DestinationUnreachable', parent=root_module['ns3::Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4DestinationUnreachable::ErrorDestinationUnreachable_e [enumeration] - module.add_enum('ErrorDestinationUnreachable_e', ['NET_UNREACHABLE', 'HOST_UNREACHABLE', 'PROTOCOL_UNREACHABLE', 'PORT_UNREACHABLE', 'FRAG_NEEDED', 'SOURCE_ROUTE_FAILED'], outer_class=root_module['ns3::Icmpv4DestinationUnreachable']) + module.add_enum('ErrorDestinationUnreachable_e', ['ICMPV4_NET_UNREACHABLE', 'ICMPV4_HOST_UNREACHABLE', 'ICMPV4_PROTOCOL_UNREACHABLE', 'ICMPV4_PORT_UNREACHABLE', 'ICMPV4_FRAG_NEEDED', 'ICMPV4_SOURCE_ROUTE_FAILED'], outer_class=root_module['ns3::Icmpv4DestinationUnreachable']) ## icmpv4.h (module 'internet'): ns3::Icmpv4Echo [class] module.add_class('Icmpv4Echo', parent=root_module['ns3::Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4Header [class] module.add_class('Icmpv4Header', parent=root_module['ns3::Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4Header::Type_e [enumeration] - module.add_enum('Type_e', ['ECHO_REPLY', 'DEST_UNREACH', 'ECHO', 'TIME_EXCEEDED'], outer_class=root_module['ns3::Icmpv4Header']) + module.add_enum('Type_e', ['ICMPV4_ECHO_REPLY', 'ICMPV4_DEST_UNREACH', 'ICMPV4_ECHO', 'ICMPV4_TIME_EXCEEDED'], outer_class=root_module['ns3::Icmpv4Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4TimeExceeded [class] module.add_class('Icmpv4TimeExceeded', parent=root_module['ns3::Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4TimeExceeded::ErrorTimeExceeded_e [enumeration] - module.add_enum('ErrorTimeExceeded_e', ['TIME_TO_LIVE', 'FRAGMENT_REASSEMBLY'], outer_class=root_module['ns3::Icmpv4TimeExceeded']) + module.add_enum('ErrorTimeExceeded_e', ['ICMPV4_TIME_TO_LIVE', 'ICMPV4_FRAGMENT_REASSEMBLY'], outer_class=root_module['ns3::Icmpv4TimeExceeded']) ## icmpv6-header.h (module 'internet'): ns3::Icmpv6Header [class] module.add_class('Icmpv6Header', parent=root_module['ns3::Header']) ## icmpv6-header.h (module 'internet'): ns3::Icmpv6Header::Type_e [enumeration] diff --git a/src/internet/bindings/modulegen__gcc_LP64.py b/src/internet/bindings/modulegen__gcc_LP64.py index cbfaf2b82..bddc337da 100644 --- a/src/internet/bindings/modulegen__gcc_LP64.py +++ b/src/internet/bindings/modulegen__gcc_LP64.py @@ -311,17 +311,17 @@ def register_types(module): ## icmpv4.h (module 'internet'): ns3::Icmpv4DestinationUnreachable [class] module.add_class('Icmpv4DestinationUnreachable', parent=root_module['ns3::Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4DestinationUnreachable::ErrorDestinationUnreachable_e [enumeration] - module.add_enum('ErrorDestinationUnreachable_e', ['NET_UNREACHABLE', 'HOST_UNREACHABLE', 'PROTOCOL_UNREACHABLE', 'PORT_UNREACHABLE', 'FRAG_NEEDED', 'SOURCE_ROUTE_FAILED'], outer_class=root_module['ns3::Icmpv4DestinationUnreachable']) + module.add_enum('ErrorDestinationUnreachable_e', ['ICMPV4_NET_UNREACHABLE', 'ICMPV4_HOST_UNREACHABLE', 'ICMPV4_PROTOCOL_UNREACHABLE', 'ICMPV4_PORT_UNREACHABLE', 'ICMPV4_FRAG_NEEDED', 'ICMPV4_SOURCE_ROUTE_FAILED'], outer_class=root_module['ns3::Icmpv4DestinationUnreachable']) ## icmpv4.h (module 'internet'): ns3::Icmpv4Echo [class] module.add_class('Icmpv4Echo', parent=root_module['ns3::Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4Header [class] module.add_class('Icmpv4Header', parent=root_module['ns3::Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4Header::Type_e [enumeration] - module.add_enum('Type_e', ['ECHO_REPLY', 'DEST_UNREACH', 'ECHO', 'TIME_EXCEEDED'], outer_class=root_module['ns3::Icmpv4Header']) + module.add_enum('Type_e', ['ICMPV4_ECHO_REPLY', 'ICMPV4_DEST_UNREACH', 'ICMPV4_ECHO', 'ICMPV4_TIME_EXCEEDED'], outer_class=root_module['ns3::Icmpv4Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4TimeExceeded [class] module.add_class('Icmpv4TimeExceeded', parent=root_module['ns3::Header']) ## icmpv4.h (module 'internet'): ns3::Icmpv4TimeExceeded::ErrorTimeExceeded_e [enumeration] - module.add_enum('ErrorTimeExceeded_e', ['TIME_TO_LIVE', 'FRAGMENT_REASSEMBLY'], outer_class=root_module['ns3::Icmpv4TimeExceeded']) + module.add_enum('ErrorTimeExceeded_e', ['ICMPV4_TIME_TO_LIVE', 'ICMPV4_FRAGMENT_REASSEMBLY'], outer_class=root_module['ns3::Icmpv4TimeExceeded']) ## icmpv6-header.h (module 'internet'): ns3::Icmpv6Header [class] module.add_class('Icmpv6Header', parent=root_module['ns3::Header']) ## icmpv6-header.h (module 'internet'): ns3::Icmpv6Header::Type_e [enumeration] diff --git a/src/internet/model/icmpv4-l4-protocol.cc b/src/internet/model/icmpv4-l4-protocol.cc index 85ad2295b..b512aa9fd 100644 --- a/src/internet/model/icmpv4-l4-protocol.cc +++ b/src/internet/model/icmpv4-l4-protocol.cc @@ -155,14 +155,14 @@ Icmpv4L4Protocol::SendDestUnreachFragNeeded (Ipv4Header header, uint16_t nextHopMtu) { NS_LOG_FUNCTION (this << header << *orgData << nextHopMtu); - SendDestUnreach (header, orgData, Icmpv4DestinationUnreachable::FRAG_NEEDED, nextHopMtu); + SendDestUnreach (header, orgData, Icmpv4DestinationUnreachable::ICMPV4_FRAG_NEEDED, nextHopMtu); } void Icmpv4L4Protocol::SendDestUnreachPort (Ipv4Header header, Ptr orgData) { NS_LOG_FUNCTION (this << header << *orgData); - SendDestUnreach (header, orgData, Icmpv4DestinationUnreachable::PORT_UNREACHABLE, 0); + SendDestUnreach (header, orgData, Icmpv4DestinationUnreachable::ICMPV4_PORT_UNREACHABLE, 0); } void Icmpv4L4Protocol::SendDestUnreach (Ipv4Header header, Ptr orgData, @@ -175,7 +175,7 @@ Icmpv4L4Protocol::SendDestUnreach (Ipv4Header header, Ptr orgData, unreach.SetHeader (header); unreach.SetData (orgData); p->AddHeader (unreach); - SendMessage (p, header.GetSource (), Icmpv4Header::DEST_UNREACH, code); + SendMessage (p, header.GetSource (), Icmpv4Header::ICMPV4_DEST_UNREACH, code); } void @@ -189,11 +189,11 @@ Icmpv4L4Protocol::SendTimeExceededTtl (Ipv4Header header, Ptr orgD p->AddHeader (time); if (!isFragment) { - SendMessage (p, header.GetSource (), Icmpv4Header::TIME_EXCEEDED, Icmpv4TimeExceeded::TIME_TO_LIVE); + SendMessage (p, header.GetSource (), Icmpv4Header::ICMPV4_TIME_EXCEEDED, Icmpv4TimeExceeded::ICMPV4_TIME_TO_LIVE); } else { - SendMessage (p, header.GetSource (), Icmpv4Header::TIME_EXCEEDED, Icmpv4TimeExceeded::FRAGMENT_REASSEMBLY); + SendMessage (p, header.GetSource (), Icmpv4Header::ICMPV4_TIME_EXCEEDED, Icmpv4TimeExceeded::ICMPV4_FRAGMENT_REASSEMBLY); } } @@ -209,7 +209,7 @@ Icmpv4L4Protocol::HandleEcho (Ptr p, Icmpv4Echo echo; p->RemoveHeader (echo); reply->AddHeader (echo); - SendMessage (reply, destination, source, Icmpv4Header::ECHO_REPLY, 0, 0); + SendMessage (reply, destination, source, Icmpv4Header::ICMPV4_ECHO_REPLY, 0, 0); } void Icmpv4L4Protocol::Forward (Ipv4Address source, Icmpv4Header icmp, @@ -268,13 +268,13 @@ Icmpv4L4Protocol::Receive (Ptr p, Icmpv4Header icmp; p->RemoveHeader (icmp); switch (icmp.GetType ()) { - case Icmpv4Header::ECHO: + case Icmpv4Header::ICMPV4_ECHO: HandleEcho (p, icmp, header.GetSource (), header.GetDestination ()); break; - case Icmpv4Header::DEST_UNREACH: + case Icmpv4Header::ICMPV4_DEST_UNREACH: HandleDestUnreach (p, icmp, header.GetSource (), header.GetDestination ()); break; - case Icmpv4Header::TIME_EXCEEDED: + case Icmpv4Header::ICMPV4_TIME_EXCEEDED: HandleTimeExceeded (p, icmp, header.GetSource (), header.GetDestination ()); break; default: diff --git a/src/internet/model/icmpv4.h b/src/internet/model/icmpv4.h index fb232d5fe..7a0cd3de9 100644 --- a/src/internet/model/icmpv4.h +++ b/src/internet/model/icmpv4.h @@ -45,10 +45,10 @@ public: * ICMP type code. */ enum Type_e { - ECHO_REPLY = 0, - DEST_UNREACH = 3, - ECHO = 8, - TIME_EXCEEDED = 11 + ICMPV4_ECHO_REPLY = 0, + ICMPV4_DEST_UNREACH = 3, + ICMPV4_ECHO = 8, + ICMPV4_TIME_EXCEEDED = 11 }; /** @@ -176,12 +176,12 @@ public: * ICMP error code : Destination Unreachable */ enum ErrorDestinationUnreachable_e { - NET_UNREACHABLE = 0, - HOST_UNREACHABLE = 1, - PROTOCOL_UNREACHABLE = 2, - PORT_UNREACHABLE = 3, - FRAG_NEEDED = 4, - SOURCE_ROUTE_FAILED = 5 + ICMPV4_NET_UNREACHABLE = 0, + ICMPV4_HOST_UNREACHABLE = 1, + ICMPV4_PROTOCOL_UNREACHABLE = 2, + ICMPV4_PORT_UNREACHABLE = 3, + ICMPV4_FRAG_NEEDED = 4, + ICMPV4_SOURCE_ROUTE_FAILED = 5 }; /** @@ -251,8 +251,8 @@ public: */ enum ErrorTimeExceeded_e { - TIME_TO_LIVE = 0, - FRAGMENT_REASSEMBLY = 1 + ICMPV4_TIME_TO_LIVE = 0, + ICMPV4_FRAGMENT_REASSEMBLY = 1 }; /** diff --git a/src/olsr/test/bug780-test.cc b/src/olsr/test/bug780-test.cc index aeefc0c8f..ce285029f 100644 --- a/src/olsr/test/bug780-test.cc +++ b/src/olsr/test/bug780-test.cc @@ -131,7 +131,7 @@ Bug780Test::SendPing () echo.SetData (dataPacket); p->AddHeader (echo); Icmpv4Header header; - header.SetType (Icmpv4Header::ECHO); + header.SetType (Icmpv4Header::ICMPV4_ECHO); header.SetCode (0); if (Node::ChecksumEnabled ()) { @@ -158,7 +158,7 @@ Bug780Test::Receive (Ptr socket) NS_ASSERT (ipv4.GetProtocol () == 1); // protocol should be icmp. Icmpv4Header icmp; p->RemoveHeader (icmp); - if (icmp.GetType () == Icmpv4Header::ECHO_REPLY) + if (icmp.GetType () == Icmpv4Header::ICMPV4_ECHO_REPLY) { m_recvCount++; }