From e6e5d4a0ea2e224edb4b820afbc66f9a2b7ea66e Mon Sep 17 00:00:00 2001 From: Ivey Date: Tue, 19 Nov 2024 12:13:06 -0500 Subject: [PATCH] internet: Use constexpr for PROT_NUMBERs --- src/internet/model/icmpv4-l4-protocol.cc | 3 --- src/internet/model/icmpv4-l4-protocol.h | 3 ++- src/internet/model/icmpv6-l4-protocol.cc | 1 + src/internet/model/ipv4-l3-protocol.cc | 2 -- src/internet/model/ipv4-l3-protocol.h | 3 ++- src/internet/model/ipv6-l3-protocol.cc | 2 -- src/internet/model/ipv6-l3-protocol.h | 2 +- src/internet/model/tcp-l4-protocol.cc | 3 --- src/internet/model/tcp-l4-protocol.h | 4 +++- src/internet/model/udp-l4-protocol.cc | 3 --- src/internet/model/udp-l4-protocol.h | 4 +++- 11 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/internet/model/icmpv4-l4-protocol.cc b/src/internet/model/icmpv4-l4-protocol.cc index 07bce25a1..9ef4bdc40 100644 --- a/src/internet/model/icmpv4-l4-protocol.cc +++ b/src/internet/model/icmpv4-l4-protocol.cc @@ -28,9 +28,6 @@ NS_LOG_COMPONENT_DEFINE("Icmpv4L4Protocol"); NS_OBJECT_ENSURE_REGISTERED(Icmpv4L4Protocol); -// see rfc 792 -const uint8_t Icmpv4L4Protocol::PROT_NUMBER = 1; - TypeId Icmpv4L4Protocol::GetTypeId() { diff --git a/src/internet/model/icmpv4-l4-protocol.h b/src/internet/model/icmpv4-l4-protocol.h index dab8ca525..5a1a3507c 100644 --- a/src/internet/model/icmpv4-l4-protocol.h +++ b/src/internet/model/icmpv4-l4-protocol.h @@ -40,7 +40,8 @@ class Icmpv4L4Protocol : public IpL4Protocol * @return the object TypeId */ static TypeId GetTypeId(); - static const uint8_t PROT_NUMBER; //!< ICMP protocol number (0x1) + + static constexpr uint8_t PROT_NUMBER = 1; //!< ICMP protocol number (see \RFC{792}) Icmpv4L4Protocol(); ~Icmpv4L4Protocol() override; diff --git a/src/internet/model/icmpv6-l4-protocol.cc b/src/internet/model/icmpv6-l4-protocol.cc index 2307048b3..cbdd5b08a 100644 --- a/src/internet/model/icmpv6-l4-protocol.cc +++ b/src/internet/model/icmpv6-l4-protocol.cc @@ -11,6 +11,7 @@ #include "icmpv6-l4-protocol.h" +#include "ipv4-interface.h" #include "ipv6-interface.h" #include "ipv6-l3-protocol.h" #include "ipv6-route.h" diff --git a/src/internet/model/ipv4-l3-protocol.cc b/src/internet/model/ipv4-l3-protocol.cc index 5f84b591c..aa3d3dc1e 100644 --- a/src/internet/model/ipv4-l3-protocol.cc +++ b/src/internet/model/ipv4-l3-protocol.cc @@ -36,8 +36,6 @@ namespace ns3 NS_LOG_COMPONENT_DEFINE("Ipv4L3Protocol"); -const uint16_t Ipv4L3Protocol::PROT_NUMBER = 0x0800; - NS_OBJECT_ENSURE_REGISTERED(Ipv4L3Protocol); TypeId diff --git a/src/internet/model/ipv4-l3-protocol.h b/src/internet/model/ipv4-l3-protocol.h index 5d674b6e0..e6023aa38 100644 --- a/src/internet/model/ipv4-l3-protocol.h +++ b/src/internet/model/ipv4-l3-protocol.h @@ -77,7 +77,8 @@ class Ipv4L3Protocol : public Ipv4 * @return the object TypeId */ static TypeId GetTypeId(); - static const uint16_t PROT_NUMBER; //!< Protocol number (0x0800) + + static constexpr uint16_t PROT_NUMBER = 0x0800; //!< Protocol number Ipv4L3Protocol(); ~Ipv4L3Protocol() override; diff --git a/src/internet/model/ipv6-l3-protocol.cc b/src/internet/model/ipv6-l3-protocol.cc index 2fe7917fa..466686840 100644 --- a/src/internet/model/ipv6-l3-protocol.cc +++ b/src/internet/model/ipv6-l3-protocol.cc @@ -44,8 +44,6 @@ NS_LOG_COMPONENT_DEFINE("Ipv6L3Protocol"); NS_OBJECT_ENSURE_REGISTERED(Ipv6L3Protocol); -const uint16_t Ipv6L3Protocol::PROT_NUMBER = 0x86DD; - TypeId Ipv6L3Protocol::GetTypeId() { diff --git a/src/internet/model/ipv6-l3-protocol.h b/src/internet/model/ipv6-l3-protocol.h index 077f31724..069dfcaf4 100644 --- a/src/internet/model/ipv6-l3-protocol.h +++ b/src/internet/model/ipv6-l3-protocol.h @@ -61,7 +61,7 @@ class Ipv6L3Protocol : public Ipv6 /** * @brief The protocol number for IPv6 (0x86DD). */ - static const uint16_t PROT_NUMBER; + static constexpr uint16_t PROT_NUMBER = 0x86DD; /** * @enum DropReason diff --git a/src/internet/model/tcp-l4-protocol.cc b/src/internet/model/tcp-l4-protocol.cc index 4bdb3eaf9..c829e29e2 100644 --- a/src/internet/model/tcp-l4-protocol.cc +++ b/src/internet/model/tcp-l4-protocol.cc @@ -56,9 +56,6 @@ NS_OBJECT_ENSURE_REGISTERED(TcpL4Protocol); std::clog << " [node " << m_node->GetId() << "] "; \ } -/* see http://www.iana.org/assignments/protocol-numbers */ -const uint8_t TcpL4Protocol::PROT_NUMBER = 6; - TypeId TcpL4Protocol::GetTypeId() { diff --git a/src/internet/model/tcp-l4-protocol.h b/src/internet/model/tcp-l4-protocol.h index bb25bb564..6bf7c1fec 100644 --- a/src/internet/model/tcp-l4-protocol.h +++ b/src/internet/model/tcp-l4-protocol.h @@ -74,7 +74,9 @@ class TcpL4Protocol : public IpL4Protocol * @return the object TypeId */ static TypeId GetTypeId(); - static const uint8_t PROT_NUMBER; //!< protocol number (0x6) + + /// Protocol number (see http://www.iana.org/assignments/protocol-numbers) + static constexpr uint8_t PROT_NUMBER = 6; TcpL4Protocol(); ~TcpL4Protocol() override; diff --git a/src/internet/model/udp-l4-protocol.cc b/src/internet/model/udp-l4-protocol.cc index 57480f137..cf76657d4 100644 --- a/src/internet/model/udp-l4-protocol.cc +++ b/src/internet/model/udp-l4-protocol.cc @@ -36,9 +36,6 @@ NS_LOG_COMPONENT_DEFINE("UdpL4Protocol"); NS_OBJECT_ENSURE_REGISTERED(UdpL4Protocol); -/* see http://www.iana.org/assignments/protocol-numbers */ -const uint8_t UdpL4Protocol::PROT_NUMBER = 17; - TypeId UdpL4Protocol::GetTypeId() { diff --git a/src/internet/model/udp-l4-protocol.h b/src/internet/model/udp-l4-protocol.h index 477e25a22..03d0046a5 100644 --- a/src/internet/model/udp-l4-protocol.h +++ b/src/internet/model/udp-l4-protocol.h @@ -57,7 +57,9 @@ class UdpL4Protocol : public IpL4Protocol * @return the object TypeId */ static TypeId GetTypeId(); - static const uint8_t PROT_NUMBER; //!< protocol number (0x11) + + /// Protocol number (see http://www.iana.org/assignments/protocol-numbers) + static constexpr uint8_t PROT_NUMBER = 17; UdpL4Protocol(); ~UdpL4Protocol() override;