src/devices/mesh/dot11s/peer-link-frame.cc
author Kirill Andreev <andreev@iitp.ru>
Mon, 24 Aug 2009 18:05:31 +0400
changeset 5157 ace422ad12df
parent 5132 aee541a30256
child 5159 7e0731625f67
permissions -rw-r--r--
Cosmetics: '\n' was replaced with std::endl, Camel case for attributes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
     2
/*
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     3
 * Copyright (c) 2009 IITP RAS
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
     4
 *
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     8
 *
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    12
 * GNU General Public License for more details.
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    13
 *
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    17
 *
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    18
 * Authors: Kirill Andreev <andreev@iitp.ru>
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    19
 */
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    20
4877
f08902c42733 Added a method to find peer link, code cleanup
Kirill Andreev <andreev@iitp.ru>
parents: 4876
diff changeset
    21
#include "peer-link-frame.h"
4973
59b050ada622 Restructured peer link frame
Kirill Andreev <andreev@iitp.ru>
parents: 4957
diff changeset
    22
#include "ie-dot11s-peer-management.h"
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    23
#include "ns3/mesh-wifi-interface-mac.h"
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    24
#include "ns3/test.h"
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    25
#include "ns3/packet.h"
4973
59b050ada622 Restructured peer link frame
Kirill Andreev <andreev@iitp.ru>
parents: 4957
diff changeset
    26
5132
aee541a30256 Restored newline at namespace
Kirill Andreev <andreev@iitp.ru>
parents: 5129
diff changeset
    27
namespace ns3 {
aee541a30256 Restored newline at namespace
Kirill Andreev <andreev@iitp.ru>
parents: 5129
diff changeset
    28
namespace dot11s {
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    29
NS_OBJECT_ENSURE_REGISTERED (PeerLinkFrameStart);
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    30
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    31
PeerLinkFrameStart::PeerLinkFrameStart () :
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    32
  m_subtype (255), m_capability (0), m_aid (0), m_rates (SupportedRates ()), m_meshId (IeMeshId ()),
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    33
      m_config (IeConfiguration ()), m_reasonCode ((uint16_t) REASON11S_RESERVED)
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    34
{
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    35
}
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    36
void
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    37
PeerLinkFrameStart::SetPlinkFrameSubtype (uint8_t subtype)
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    38
{
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    39
  m_subtype = subtype;
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    40
}
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    41
void
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    42
PeerLinkFrameStart::SetPlinkFrameStart (PeerLinkFrameStart::PlinkFrameStartFields fields)
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    43
{
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    44
  m_subtype = fields.subtype;
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents: 4973
diff changeset
    45
  m_protocol = fields.protocol;
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    46
  if (m_subtype != (uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE))
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    47
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    48
      m_capability = fields.capability;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    49
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    50
  if (m_subtype == (uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM))
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    51
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    52
      m_aid = fields.aid;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    53
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    54
  if (m_subtype != (uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE))
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    55
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    56
      m_rates = fields.rates;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    57
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    58
  if (m_subtype != (uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM))
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    59
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    60
      m_meshId = fields.meshId;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    61
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    62
  if (m_subtype != (uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE))
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    63
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    64
      m_config = fields.config;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    65
    }
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    66
  else
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    67
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    68
      m_reasonCode = fields.reasonCode;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    69
    }
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    70
}
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    71
PeerLinkFrameStart::PlinkFrameStartFields
4866
564372fc5491 First management frame goes through new archotecture
Kirill Andreev <andreev@iitp.ru>
parents: 4865
diff changeset
    72
PeerLinkFrameStart::GetFields ()
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    73
{
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    74
  PlinkFrameStartFields retval;
4973
59b050ada622 Restructured peer link frame
Kirill Andreev <andreev@iitp.ru>
parents: 4957
diff changeset
    75
  //TODO: protocol version:
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    76
  retval.subtype = m_subtype;
4973
59b050ada622 Restructured peer link frame
Kirill Andreev <andreev@iitp.ru>
parents: 4957
diff changeset
    77
  retval.capability = m_capability;
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    78
  retval.aid = m_aid;
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    79
  retval.rates = m_rates;
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    80
  retval.meshId = m_meshId;
4973
59b050ada622 Restructured peer link frame
Kirill Andreev <andreev@iitp.ru>
parents: 4957
diff changeset
    81
  retval.config = m_config;
59b050ada622 Restructured peer link frame
Kirill Andreev <andreev@iitp.ru>
parents: 4957
diff changeset
    82
  retval.reasonCode = m_reasonCode;
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
    83
  return retval;
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    84
}
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    85
TypeId
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    86
PeerLinkFrameStart::GetTypeId ()
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    87
{
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    88
  static TypeId tid = TypeId ("ns3::dot11s::PeerLinkFrameStart") .SetParent<Header> () .AddConstructor<
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    89
      PeerLinkFrameStart> ();
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    90
  return tid;
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    91
}
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    92
TypeId
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    93
PeerLinkFrameStart::GetInstanceTypeId () const
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    94
{
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    95
  return GetTypeId ();
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    96
}
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    97
void
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    98
PeerLinkFrameStart::Print (std::ostream &os) const
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    99
{
5157
ace422ad12df Cosmetics: '\n' was replaced with std::endl, Camel case for attributes
Kirill Andreev <andreev@iitp.ru>
parents: 5132
diff changeset
   100
  os << "subtype = " << (uint16_t) m_subtype << "std::endlcapability = " << m_capability << "std::endlaid = "
ace422ad12df Cosmetics: '\n' was replaced with std::endl, Camel case for attributes
Kirill Andreev <andreev@iitp.ru>
parents: 5132
diff changeset
   101
      << (uint16_t) m_aid << "std::endlrates = " << m_rates << "std::endlmeshId = " << m_meshId << "std::endlconfiguration = "
ace422ad12df Cosmetics: '\n' was replaced with std::endl, Camel case for attributes
Kirill Andreev <andreev@iitp.ru>
parents: 5132
diff changeset
   102
      << m_config << "std::endlreason code = " << m_reasonCode;
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   103
}
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   104
uint32_t
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   105
PeerLinkFrameStart::GetSerializedSize () const
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   106
{
4973
59b050ada622 Restructured peer link frame
Kirill Andreev <andreev@iitp.ru>
parents: 4957
diff changeset
   107
  uint32_t size = 3; //Peering protocol
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   108
  NS_ASSERT (m_subtype < 3);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   109
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   110
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   111
      size += 2; //capability
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   112
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   113
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM) == m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   114
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   115
      size += 2; //AID of remote peer
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   116
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   117
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   118
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   119
      size += m_rates.GetSerializedSize ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   120
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   121
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   122
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   123
      size += m_meshId.GetSerializedSize ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   124
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   125
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   126
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   127
      size += m_config.GetSerializedSize ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   128
    }
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   129
  else
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   130
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   131
      size += 2; //reasonCode
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   132
    }
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   133
  return size;
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   134
}
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   135
void
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   136
PeerLinkFrameStart::Serialize (Buffer::Iterator start) const
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   137
{
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   138
  Buffer::Iterator i = start;
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   139
  NS_ASSERT (m_subtype < 3);
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents: 4973
diff changeset
   140
  m_protocol.Serialize (i);
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents: 4973
diff changeset
   141
  i.Next (m_protocol.GetSerializedSize ());
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   142
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   143
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   144
      i.WriteHtolsbU16 (m_capability);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   145
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   146
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM) == m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   147
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   148
      i.WriteHtolsbU16 (m_aid);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   149
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   150
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   151
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   152
      i = m_rates.Serialize (i);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   153
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   154
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   155
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   156
      m_meshId.Serialize (i);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   157
      i.Next (m_meshId.GetSerializedSize ());
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   158
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   159
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   160
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   161
      m_config.Serialize (i);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   162
      i.Next (m_config.GetSerializedSize ());
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   163
    }
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   164
  else
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   165
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   166
      i.WriteHtolsbU16 (m_reasonCode);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   167
    }
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   168
}
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   169
uint32_t
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   170
PeerLinkFrameStart::Deserialize (Buffer::Iterator start)
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   171
{
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   172
  Buffer::Iterator i = start;
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   173
  NS_ASSERT (m_subtype < 3);
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents: 4973
diff changeset
   174
  m_protocol.Deserialize (i);
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents: 4973
diff changeset
   175
  i.Next (m_protocol.GetSerializedSize ());
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   176
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   177
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   178
      m_capability = i.ReadLsbtohU16 ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   179
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   180
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM) == m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   181
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   182
      m_aid = i.ReadLsbtohU16 ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   183
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   184
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   185
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   186
      i = m_rates.Deserialize (i);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   187
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   188
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   189
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   190
      m_meshId.Deserialize (i);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   191
      i.Next (m_meshId.GetSerializedSize ());
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   192
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   193
  if ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   194
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   195
      m_config.Deserialize (i);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   196
      i.Next (m_config.GetSerializedSize ());
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   197
    }
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   198
  else
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   199
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   200
      m_reasonCode = i.ReadLsbtohU16 ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   201
    }
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   202
  return i.GetDistanceFrom (start);
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   203
}
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   204
bool
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   205
operator== (const PeerLinkFrameStart & a, const PeerLinkFrameStart & b)
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   206
{
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   207
  return ((a.m_subtype == b.m_subtype) && (a.m_capability == b.m_capability) && (a.m_aid == b.m_aid)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   208
      && (a.m_meshId.IsEqual (b.m_meshId)) && (a.m_config == b.m_config)
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   209
      && (a.m_reasonCode == b.m_reasonCode));
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   210
}
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   211
#ifdef RUN_SELF_TESTS
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   212
/// Built-in self test for PeerLinkFrameStart
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   213
struct PeerLinkFrameStartBist : public Test
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   214
{
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   215
  PeerLinkFrameStartBist () :
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   216
    Test ("Mesh/802.11s/IE/PeerLinkFrameStart")
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   217
  {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   218
  }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   219
  virtual bool
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   220
  RunTests ();
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   221
};
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   222
/// Test instance
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   223
static PeerLinkFrameStartBist g_PeerLinkFrameStartBist;
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   224
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   225
bool
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   226
PeerLinkFrameStartBist::RunTests ()
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   227
{
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   228
  bool result (true);
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   229
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   230
      PeerLinkFrameStart a;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   231
      PeerLinkFrameStart::PlinkFrameStartFields fields;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   232
      fields.subtype = (uint8_t) (WifiMeshActionHeader::PEER_LINK_OPEN);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   233
      fields.capability = 0;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   234
      fields.aid = 101;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   235
      fields.reasonCode = 12;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   236
      fields.meshId = IeMeshId ("qwertyuiop");
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   237
      a.SetPlinkFrameStart (fields);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   238
      Ptr<Packet> packet = Create<Packet> ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   239
      packet->AddHeader (a);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   240
      PeerLinkFrameStart b;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   241
      b.SetPlinkFrameSubtype ((uint8_t) (WifiMeshActionHeader::PEER_LINK_OPEN));
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   242
      packet->RemoveHeader (b);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   243
      NS_TEST_ASSERT_EQUAL (a, b);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   244
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   245
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   246
      PeerLinkFrameStart a;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   247
      PeerLinkFrameStart::PlinkFrameStartFields fields;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   248
      fields.subtype = (uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   249
      fields.capability = 0;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   250
      fields.aid = 1234;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   251
      fields.reasonCode = 12;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   252
      fields.meshId = IeMeshId ("qwerty");
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   253
      a.SetPlinkFrameStart (fields);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   254
      Ptr<Packet> packet = Create<Packet> ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   255
      packet->AddHeader (a);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   256
      PeerLinkFrameStart b;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   257
      b.SetPlinkFrameSubtype ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CONFIRM));
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   258
      packet->RemoveHeader (b);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   259
      NS_TEST_ASSERT_EQUAL (a, b);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   260
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   261
    {
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   262
      PeerLinkFrameStart a;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   263
      PeerLinkFrameStart::PlinkFrameStartFields fields;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   264
      fields.subtype = (uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   265
      fields.capability = 0;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   266
      fields.aid = 10;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   267
      fields.meshId = IeMeshId ("qqq");
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   268
      fields.reasonCode = 12;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   269
      a.SetPlinkFrameStart (fields);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   270
      Ptr<Packet> packet = Create<Packet> ();
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   271
      packet->AddHeader (a);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   272
      PeerLinkFrameStart b;
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   273
      b.SetPlinkFrameSubtype ((uint8_t) (WifiMeshActionHeader::PEER_LINK_CLOSE));
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   274
      packet->RemoveHeader (b);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   275
      NS_TEST_ASSERT_EQUAL (a, b);
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   276
    }
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
   277
  return result;
4957
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   278
}
3ce177c38776 Resturctured peer link frame - removed unneeded field "subtype", added unit
Kirill Andreev <andreev@iitp.ru>
parents: 4920
diff changeset
   279
#endif
4872
ea1bce018a44 Added namespace dot11s
Kirill Andreev <andreev@iitp.ru>
parents: 4871
diff changeset
   280
} // namespace dot11s
4865
e331ed5d3662 Added header for peer link frame (first fields without information element)
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
   281
} //namespace ns3
4872
ea1bce018a44 Added namespace dot11s
Kirill Andreev <andreev@iitp.ru>
parents: 4871
diff changeset
   282