src/applications/model/v4ping.cc
changeset 7421 e5aae1299831
parent 7416 91df05070541
child 7704 aef733235832
equal deleted inserted replaced
7420:ca9c09839724 7421:e5aae1299831
   121           p->RemoveHeader (echo);
   121           p->RemoveHeader (echo);
   122           std::map<uint16_t, Time>::iterator i = m_sent.find (echo.GetSequenceNumber ());
   122           std::map<uint16_t, Time>::iterator i = m_sent.find (echo.GetSequenceNumber ());
   123 
   123 
   124           if (i != m_sent.end () && echo.GetIdentifier () == 0)
   124           if (i != m_sent.end () && echo.GetIdentifier () == 0)
   125             {
   125             {
   126               uint32_t * buf = new uint32_t [m_size / 4];
   126               uint32_t * buf = new uint32_t [m_size];
   127               uint32_t dataSize = echo.GetDataSize ();
   127               uint32_t dataSize = echo.GetDataSize ();
   128               uint32_t nodeId;
   128               uint32_t nodeId;
   129               uint32_t appId;
   129               uint32_t appId;
   130               if (dataSize == sizeof(buf))
   130               if (dataSize == m_size)
   131                 {
   131                 {
   132                   echo.GetData ((uint8_t *)buf);
   132                   echo.GetData ((uint8_t *)buf);
   133                   Read32 ((const uint8_t *) &buf[0], nodeId);
   133                   Read32 ((const uint8_t *) &buf[0], nodeId);
   134                   Read32 ((const uint8_t *) &buf[1], appId);
   134                   Read32 ((const uint8_t *) &buf[1], appId);
   135 
   135 
   202   Write32 (&data[0 * sizeof(uint32_t)], tmp);
   202   Write32 (&data[0 * sizeof(uint32_t)], tmp);
   203 
   203 
   204   tmp = GetApplicationId ();
   204   tmp = GetApplicationId ();
   205   Write32 (&data[1 * sizeof(uint32_t)], tmp);
   205   Write32 (&data[1 * sizeof(uint32_t)], tmp);
   206 
   206 
   207   Ptr<Packet> dataPacket = Create<Packet> ((uint8_t *) &data, m_size);
   207   Ptr<Packet> dataPacket = Create<Packet> ((uint8_t *) data, m_size);
   208   echo.SetData (dataPacket);
   208   echo.SetData (dataPacket);
   209   p->AddHeader (echo);
   209   p->AddHeader (echo);
   210   Icmpv4Header header;
   210   Icmpv4Header header;
   211   header.SetType (Icmpv4Header::ECHO);
   211   header.SetType (Icmpv4Header::ECHO);
   212   header.SetCode (0);
   212   header.SetCode (0);