View | Details | Raw Unified | Return to bug 146
Collapse All | Expand All

(-)a/src/internet-node/ipv4-header.cc (-4 / +4 lines)
 Lines 261-268   Ipv4Header::Serialize (Buffer::Iterator Link Here 
261
  i.WriteU8 (m_ttl);
261
  i.WriteU8 (m_ttl);
262
  i.WriteU8 (m_protocol);
262
  i.WriteU8 (m_protocol);
263
  i.WriteHtonU16 (0);
263
  i.WriteHtonU16 (0);
264
  i.WriteHtonU32 (m_source.GetHostOrder ());
264
  i.WriteHtonU32 (m_source.Get ());
265
  i.WriteHtonU32 (m_destination.GetHostOrder ());
265
  i.WriteHtonU32 (m_destination.Get ());
266
266
267
  if (m_calcChecksum) 
267
  if (m_calcChecksum) 
268
    {
268
    {
 Lines 307-314   Ipv4Header::Deserialize (Buffer::Iterato Link Here 
307
  m_ttl = i.ReadU8 ();
307
  m_ttl = i.ReadU8 ();
308
  m_protocol = i.ReadU8 ();
308
  m_protocol = i.ReadU8 ();
309
  i.Next (2); // checksum
309
  i.Next (2); // checksum
310
  m_source.SetHostOrder (i.ReadNtohU32 ());
310
  m_source.Set (i.ReadNtohU32 ());
311
  m_destination.SetHostOrder (i.ReadNtohU32 ());
311
  m_destination.Set (i.ReadNtohU32 ());
312
312
313
  if (m_calcChecksum) 
313
  if (m_calcChecksum) 
314
    {
314
    {
(-)a/src/internet-node/ipv4-interface.cc (-2 / +2 lines)
 Lines 75-82   Ipv4Interface::GetBroadcast (void) const Link Here 
75
Ipv4Interface::GetBroadcast (void) const
75
Ipv4Interface::GetBroadcast (void) const
76
{
76
{
77
  NS_LOG_FUNCTION;
77
  NS_LOG_FUNCTION;
78
  uint32_t mask = m_netmask.GetHostOrder ();
78
  uint32_t mask = m_netmask.Get ();
79
  uint32_t address = m_address.GetHostOrder ();
79
  uint32_t address = m_address.Get ();
80
  Ipv4Address broadcast = Ipv4Address (address | (~mask));
80
  Ipv4Address broadcast = Ipv4Address (address | (~mask));
81
  return broadcast;
81
  return broadcast;
82
}
82
}
(-)a/src/node/address-utils.cc (-2 / +2 lines)
 Lines 24-30   namespace ns3 { Link Here 
24
24
25
void WriteTo (Buffer::Iterator &i, Ipv4Address ad)
25
void WriteTo (Buffer::Iterator &i, Ipv4Address ad)
26
{
26
{
27
  i.WriteHtonU32 (ad.GetHostOrder ());
27
  i.WriteHtonU32 (ad.Get ());
28
}
28
}
29
void WriteTo (Buffer::Iterator &i, const Address &ad)
29
void WriteTo (Buffer::Iterator &i, const Address &ad)
30
{
30
{
 Lines 41-47   void WriteTo (Buffer::Iterator &i, Mac48 Link Here 
41
41
42
void ReadFrom (Buffer::Iterator &i, Ipv4Address &ad)
42
void ReadFrom (Buffer::Iterator &i, Ipv4Address &ad)
43
{
43
{
44
  ad.SetHostOrder (i.ReadNtohU32 ());
44
  ad.Set (i.ReadNtohU32 ());
45
}
45
}
46
void ReadFrom (Buffer::Iterator &i, Address &ad, uint32_t len)
46
void ReadFrom (Buffer::Iterator &i, Address &ad, uint32_t len)
47
{
47
{
(-)a/src/node/ipv4-address.cc (-19 / +14 lines)
 Lines 82-88   bool Link Here 
82
bool 
82
bool 
83
Ipv4Mask::IsMatch (Ipv4Address a, Ipv4Address b) const
83
Ipv4Mask::IsMatch (Ipv4Address a, Ipv4Address b) const
84
{
84
{
85
  if ((a.GetHostOrder () & m_mask) == (b.GetHostOrder () & m_mask)) {
85
  if ((a.Get () & m_mask) == (b.Get () & m_mask)) {
86
    return true;
86
    return true;
87
  } else {
87
  } else {
88
    return false;
88
    return false;
 Lines 90-103   Ipv4Mask::IsMatch (Ipv4Address a, Ipv4Ad Link Here 
90
}
90
}
91
91
92
uint32_t 
92
uint32_t 
93
Ipv4Mask::GetHostOrder (void) const
93
Ipv4Mask::Get (void) const
94
{
94
{
95
  return m_mask;
95
  return m_mask;
96
}
96
}
97
void 
97
void 
98
Ipv4Mask::SetHostOrder (uint32_t value)
98
Ipv4Mask::Set (uint32_t mask)
99
{
99
{
100
  m_mask = value;
100
  m_mask = mask;
101
}
101
}
102
uint32_t 
102
uint32_t 
103
Ipv4Mask::GetInverse (void) const
103
Ipv4Mask::GetInverse (void) const
 Lines 140-145   Ipv4Address::Ipv4Address (char const *ad Link Here 
140
  m_address = AsciiToIpv4Host (address);
140
  m_address = AsciiToIpv4Host (address);
141
}
141
}
142
142
143
uint32_t
144
Ipv4Address::Get (void) const
145
{
146
  return m_address;
147
}
143
void
148
void
144
Ipv4Address::Set (uint32_t address)
149
Ipv4Address::Set (uint32_t address)
145
{
150
{
 Lines 154-172   Ipv4Address Link Here 
154
Ipv4Address
159
Ipv4Address
155
Ipv4Address::CombineMask (Ipv4Mask const &mask) const
160
Ipv4Address::CombineMask (Ipv4Mask const &mask) const
156
{
161
{
157
  return Ipv4Address (GetHostOrder () & mask.GetHostOrder ());
162
  return Ipv4Address (Get () & mask.Get ());
158
}
163
}
159
164
160
Ipv4Address 
165
Ipv4Address 
161
Ipv4Address::GetSubnetDirectedBroadcast (Ipv4Mask const &mask) const
166
Ipv4Address::GetSubnetDirectedBroadcast (Ipv4Mask const &mask) const
162
{
167
{
163
  return Ipv4Address (GetHostOrder () | mask.GetInverse ());
168
  return Ipv4Address (Get () | mask.GetInverse ());
164
}
169
}
165
170
166
bool
171
bool
167
Ipv4Address::IsSubnetDirectedBroadcast (Ipv4Mask const &mask) const
172
Ipv4Address::IsSubnetDirectedBroadcast (Ipv4Mask const &mask) const
168
{
173
{
169
  return ( (GetHostOrder () | mask.GetInverse ()) == GetHostOrder () );
174
  return ( (Get () | mask.GetInverse ()) == Get () );
170
}
175
}
171
176
172
bool
177
bool
 Lines 185-200   Ipv4Address::IsMulticast (void) const Link Here 
185
  return (m_address >= 0xe0000000 && m_address <= 0xefffffff);
190
  return (m_address >= 0xe0000000 && m_address <= 0xefffffff);
186
}
191
}
187
192
188
uint32_t
189
Ipv4Address::GetHostOrder (void) const
190
{
191
  return m_address;
192
}
193
void 
194
Ipv4Address::SetHostOrder (uint32_t ip)
195
{
196
  m_address = ip;
197
}
198
void
193
void
199
Ipv4Address::Serialize (uint8_t buf[4]) const
194
Ipv4Address::Serialize (uint8_t buf[4]) const
200
{
195
{
 Lines 288-294   Ipv4Address::GetLoopback (void) Link Here 
288
283
289
size_t Ipv4AddressHash::operator()(Ipv4Address const &x) const 
284
size_t Ipv4AddressHash::operator()(Ipv4Address const &x) const 
290
{ 
285
{ 
291
  return x.GetHostOrder ();
286
  return x.Get ();
292
}
287
}
293
288
294
std::ostream& operator<< (std::ostream& os, Ipv4Address const& address)
289
std::ostream& operator<< (std::ostream& os, Ipv4Address const& address)
(-)a/src/node/ipv4-address.h (-20 / +15 lines)
 Lines 52-58   public: Link Here 
52
    * \param address C-string containing the address as described above
52
    * \param address C-string containing the address as described above
53
    */
53
    */
54
  Ipv4Address (char const *address);
54
  Ipv4Address (char const *address);
55
  
55
  /** 
56
   * Get the host-order 32-bit IP address
57
   * \return the host-order 32-bit IP address
58
   */
59
  uint32_t Get (void) const;
56
  /**
60
  /**
57
   * input address is in host order.
61
   * input address is in host order.
58
   * \param address The host order 32-bit address
62
   * \param address The host order 32-bit address
 Lines 68-74   public: Link Here 
68
    * \param address C-string containing the address as described above
72
    * \param address C-string containing the address as described above
69
    */
73
    */
70
  void Set (char const *address);
74
  void Set (char const *address);
71
72
  /**
75
  /**
73
   * \brief Comparison operation between two Ipv4Addresses
76
   * \brief Comparison operation between two Ipv4Addresses
74
   * \param other address to which to compare this address
77
   * \param other address to which to compare this address
 Lines 78-94   public: Link Here 
78
  {
81
  {
79
    return m_address == other.m_address;
82
    return m_address == other.m_address;
80
  }
83
  }
81
82
  /** 
83
   * \brief Get the host-order 32-bit IP address
84
   *
85
   * Using this method is frowned upon.
86
   * Please, do _not_ use this method.
87
   * It is there only for chunk-ipv4.
88
   * \return the host-order 32-bit IP address
89
   */
90
  uint32_t GetHostOrder (void) const;
91
  void SetHostOrder (uint32_t ip);
92
  /**
84
  /**
93
   * Serialize this address to a 4-byte buffer
85
   * Serialize this address to a 4-byte buffer
94
   *
86
   *
 Lines 164-176   public: Link Here 
164
  bool IsMatch (Ipv4Address a, Ipv4Address b) const;
156
  bool IsMatch (Ipv4Address a, Ipv4Address b) const;
165
157
166
  bool IsEqual (Ipv4Mask other) const;
158
  bool IsEqual (Ipv4Mask other) const;
167
159
  /** 
168
160
   * Get the host-order 32-bit IP mask
169
  /* Using this method is frowned upon.
161
   * \return the host-order 32-bit IP mask
170
   * Please, do _not_ use this method.
162
   */
171
   */
163
  uint32_t Get (void) const;
172
  uint32_t GetHostOrder (void) const;
164
  /**
173
  void SetHostOrder (uint32_t value);
165
   * input mask is in host order.
166
   * \param mask The host order 32-bit mask
167
   */
168
  void Set (uint32_t mask);
174
  /**
169
  /**
175
   * \brief Return the inverse mask in host order. 
170
   * \brief Return the inverse mask in host order. 
176
   */
171
   */
(-)a/src/routing/global-routing/global-router-interface.cc (-2 / +2 lines)
 Lines 571-577   GlobalRouter::DiscoverLSAs (void) Link Here 
571
              plr->SetLinkId (addrLocal.CombineMask(maskLocal));
571
              plr->SetLinkId (addrLocal.CombineMask(maskLocal));
572
              // Link Data is network mask; convert to Ipv4Address
572
              // Link Data is network mask; convert to Ipv4Address
573
              Ipv4Address maskLocalAddr;
573
              Ipv4Address maskLocalAddr;
574
              maskLocalAddr.Set(maskLocal.GetHostOrder ());
574
              maskLocalAddr.Set(maskLocal.Get ());
575
              plr->SetLinkData (maskLocalAddr);
575
              plr->SetLinkData (maskLocalAddr);
576
              plr->SetMetric (metricLocal);
576
              plr->SetMetric (metricLocal);
577
              pLSA->AddLinkRecord(plr);
577
              pLSA->AddLinkRecord(plr);
 Lines 672-678   GlobalRouter::DiscoverLSAs (void) Link Here 
672
          plr = new GlobalRoutingLinkRecord;
672
          plr = new GlobalRoutingLinkRecord;
673
          plr->SetLinkType (GlobalRoutingLinkRecord::StubNetwork);
673
          plr->SetLinkType (GlobalRoutingLinkRecord::StubNetwork);
674
          plr->SetLinkId (addrRemote);
674
          plr->SetLinkId (addrRemote);
675
          plr->SetLinkData (Ipv4Address(maskRemote.GetHostOrder()));  // Frown
675
          plr->SetLinkData (Ipv4Address(maskRemote.Get()));  // Frown
676
          plr->SetMetric (metricLocal);
676
          plr->SetMetric (metricLocal);
677
          pLSA->AddLinkRecord (plr);
677
          pLSA->AddLinkRecord (plr);
678
          plr = 0;
678
          plr = 0;
(-)a/src/routing/olsr/olsr-header.cc (-6 / +6 lines)
 Lines 194-200   MessageHeader::Serialize (Buffer::Iterat Link Here 
194
  i.WriteU8 (m_messageType);
194
  i.WriteU8 (m_messageType);
195
  i.WriteU8 (m_vTime);
195
  i.WriteU8 (m_vTime);
196
  i.WriteHtonU16 (GetSerializedSize ());
196
  i.WriteHtonU16 (GetSerializedSize ());
197
  i.WriteHtonU32 (m_originatorAddress.GetHostOrder ());
197
  i.WriteHtonU32 (m_originatorAddress.Get ());
198
  i.WriteU8 (m_timeToLive);
198
  i.WriteU8 (m_timeToLive);
199
  i.WriteU8 (m_hopCount);
199
  i.WriteU8 (m_hopCount);
200
  i.WriteHtonU16 (m_messageSequenceNumber);
200
  i.WriteHtonU16 (m_messageSequenceNumber);
 Lines 276-282   MessageHeader::Mid::Serialize (Buffer::I Link Here 
276
  for (std::vector<Ipv4Address>::const_iterator iter = this->interfaceAddresses.begin ();
276
  for (std::vector<Ipv4Address>::const_iterator iter = this->interfaceAddresses.begin ();
277
       iter != this->interfaceAddresses.end (); iter++)
277
       iter != this->interfaceAddresses.end (); iter++)
278
    {
278
    {
279
      i.WriteHtonU32 (iter->GetHostOrder ());
279
      i.WriteHtonU32 (iter->Get ());
280
    }
280
    }
281
}
281
}
282
282
 Lines 347-353   MessageHeader::Hello::Serialize (Buffer: Link Here 
347
      for (std::vector<Ipv4Address>::const_iterator neigh_iter = lm.neighborInterfaceAddresses.begin ();
347
      for (std::vector<Ipv4Address>::const_iterator neigh_iter = lm.neighborInterfaceAddresses.begin ();
348
           neigh_iter != lm.neighborInterfaceAddresses.end (); neigh_iter++)
348
           neigh_iter != lm.neighborInterfaceAddresses.end (); neigh_iter++)
349
        {
349
        {
350
          i.WriteHtonU32 (neigh_iter->GetHostOrder ());
350
          i.WriteHtonU32 (neigh_iter->Get ());
351
        }
351
        }
352
    }
352
    }
353
}
353
}
 Lines 415-421   MessageHeader::Tc::Serialize (Buffer::It Link Here 
415
  for (std::vector<Ipv4Address>::const_iterator iter = this->neighborAddresses.begin ();
415
  for (std::vector<Ipv4Address>::const_iterator iter = this->neighborAddresses.begin ();
416
       iter != this->neighborAddresses.end (); iter++)
416
       iter != this->neighborAddresses.end (); iter++)
417
    {
417
    {
418
      i.WriteHtonU32 (iter->GetHostOrder ());
418
      i.WriteHtonU32 (iter->Get ());
419
    }
419
    }
420
}
420
}
421
421
 Lines 461-468   MessageHeader::Hna::Serialize (Buffer::I Link Here 
461
461
462
  for (size_t n = 0; n < this->associations.size (); ++n)
462
  for (size_t n = 0; n < this->associations.size (); ++n)
463
    {
463
    {
464
      i.WriteHtonU32 (this->associations[n].address.GetHostOrder ());
464
      i.WriteHtonU32 (this->associations[n].address.Get ());
465
      i.WriteHtonU32 (this->associations[n].mask.GetHostOrder ());
465
      i.WriteHtonU32 (this->associations[n].mask.Get ());
466
    }
466
    }
467
}
467
}
468
468
(-)a/tutorial/ipv4-address-generator.cc (-7 / +7 lines)
 Lines 75-82   Ipv4NetworkGeneratorImpl::Seed ( Link Here 
75
{
75
{
76
  NS_LOG_FUNCTION;
76
  NS_LOG_FUNCTION;
77
77
78
  uint32_t maskBits = mask.GetHostOrder ();
78
  uint32_t maskBits = mask.Get ();
79
  uint32_t networkBits = network.GetHostOrder ();
79
  uint32_t networkBits = network.Get ();
80
80
81
  for (uint32_t i = 0; i < N_BITS; ++i)
81
  for (uint32_t i = 0; i < N_BITS; ++i)
82
    {
82
    {
 Lines 98-104   Ipv4NetworkGeneratorImpl::Allocate (cons Link Here 
98
{
98
{
99
  NS_LOG_FUNCTION;
99
  NS_LOG_FUNCTION;
100
100
101
  uint32_t bits = mask.GetHostOrder ();
101
  uint32_t bits = mask.Get ();
102
102
103
  for (uint32_t i = 0; i < N_BITS; ++i)
103
  for (uint32_t i = 0; i < N_BITS; ++i)
104
    {
104
    {
 Lines 166-173   Ipv4AddressGeneratorImpl::Seed ( Link Here 
166
{
166
{
167
  NS_LOG_FUNCTION;
167
  NS_LOG_FUNCTION;
168
168
169
  uint32_t maskBits = mask.GetHostOrder ();
169
  uint32_t maskBits = mask.Get ();
170
  uint32_t addressBits = address.GetHostOrder ();
170
  uint32_t addressBits = address.Get ();
171
171
172
  for (uint32_t i = 0; i < N_BITS; ++i)
172
  for (uint32_t i = 0; i < N_BITS; ++i)
173
    {
173
    {
 Lines 191-198   Ipv4AddressGeneratorImpl::Allocate ( Link Here 
191
{
191
{
192
  NS_LOG_FUNCTION;
192
  NS_LOG_FUNCTION;
193
193
194
  uint32_t bits = mask.GetHostOrder ();
194
  uint32_t bits = mask.Get ();
195
  uint32_t net = network.GetHostOrder ();
195
  uint32_t net = network.Get ();
196
196
197
  for (uint32_t i = 0; i < N_BITS; ++i)
197
  for (uint32_t i = 0; i < N_BITS; ++i)
198
    {
198
    {

Return to bug 146