Skip to content

Commit

Permalink
[ndnSIM] lp, face: Adding HopCount as an lp packet tag and properly d…
Browse files Browse the repository at this point in the history
…ecoding lp::HopCountTagField into tag

Change-Id: I2c25bcf29f3928049d1040a3e421e1c7151b3ba2
  • Loading branch information
spirosmastorakis committed Nov 1, 2017
1 parent bf266ab commit 9a73805
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 1 deletion.
4 changes: 4 additions & 0 deletions src/face.cpp
Expand Up @@ -308,6 +308,10 @@ extractLpLocalFields(NetPkt& netPacket, const lp::Packet& lpPacket)
{
addTagFromField<lp::IncomingFaceIdTag, lp::IncomingFaceIdField>(netPacket, lpPacket);
addTagFromField<lp::CongestionMarkTag, lp::CongestionMarkField>(netPacket, lpPacket);

if (lpPacket.has<lp::HopCountTagField>()) {
netPacket.setTag(make_shared<lp::HopCountTag>(lpPacket.get<lp::HopCountTagField>() + 1));
}
}

void
Expand Down
8 changes: 7 additions & 1 deletion src/lp/fields.hpp
Expand Up @@ -84,6 +84,11 @@ typedef FieldDecl<field_location_tags::Header,
tlv::TxSequence> TxSequenceField;
BOOST_CONCEPT_ASSERT((Field<TxSequenceField>));

typedef FieldDecl<field_location_tags::Header,
uint64_t,
tlv::HopCountTag> HopCountTagField;
BOOST_CONCEPT_ASSERT((Field<HopCountTagField>));

/**
* The value of the wire encoded field is the data between the provided iterators. During
* encoding, the data is copied from the Buffer into the wire buffer.
Expand All @@ -107,7 +112,8 @@ typedef boost::mpl::set<
IncomingFaceIdField,
CongestionMarkField,
AckField,
TxSequenceField
TxSequenceField,
HopCountTagField
> FieldSet;

} // namespace lp
Expand Down
7 changes: 7 additions & 0 deletions src/lp/tags.hpp
Expand Up @@ -56,6 +56,13 @@ typedef SimpleTag<CachePolicy, 12> CachePolicyTag;
*/
typedef SimpleTag<uint64_t, 13> CongestionMarkTag;

/** \class HopCountTag
* \brief a packet tag for HopCount field
*
* This tag can be attached to Interest, Data, Nack.
*/
typedef SimpleTag<uint64_t, 0x60000000> HopCountTag;

} // namespace lp
} // namespace ndn

Expand Down
1 change: 1 addition & 0 deletions src/lp/tlv.hpp
Expand Up @@ -35,6 +35,7 @@ enum {
Sequence = 81,
FragIndex = 82,
FragCount = 83,
HopCountTag = 84,
Nack = 800,
NackReason = 801,
NextHopFaceId = 816,
Expand Down

0 comments on commit 9a73805

Please sign in to comment.