[Ns-developers] [ns3] byte-level tags

Joseph Kopena tjkopena at cs.drexel.edu
Wed May 7 11:48:26 PDT 2008


On Tue, May 6, 2008 at 10:54 AM, Mathieu Lacage
<mathieu.lacage at sophia.inria.fr> wrote:
>  On Tue, 2008-05-06 at 06:05 +0000, Tom Henderson wrote:
>  > I would be fine with either possible solution (tagged bytes, as you
>  > have now, or packets).
>
>  I think that the biggest advantage to tagging bytes under the hood is
>  that it defines very precisely what happens to tags when you copy a
>  packet, fragment it, and re-assemble it.

Hi all,

Just to increase the count of people who've looked through this, the
new tags code seems solid to me.  I think tagging bytes is the easiest
way to deal w/ the TCP issue of people tagging packets even though
those packets aren't actually what's being transmitted.  As a
sidenote, I think that's related to Packet being called Packet rather
than FancyBuffer (not advocating in any way for change, just
noting)---the tag system was previously treating Packets as packets,
but TCP is using Packets as fancy buffers.  This functionality could
also be useful to people doing things like aggregating multiple
protocol messages into packets.  An example some of the developing
IETF MANET architecture building and possibly running multiple
protocols and instances on top of NHDP's HELLO messaging.  If you can
tag bytes, you could conceivably do things like visualize how they're
all getting aggregated, etc.  In general, this byte tagging seems to
be a good way to avoid a sticky policy decision.

Goals aside, the implementation in ns-3-tags is definitely not naive,
and seems pretty reasonable.  It's not obvious what the performance
costs will be, but it looks minimal if you're not using the features,
and about as good as you could do if you are doing a lot of tagging &
fragging.  For anyone going through it, note that there's a lot of
just-in-time updating, so the functionality is not totally obvious at
first (e.g., newly irrelevant tags get cut from new packet fragments
not at fragmentation, but when headers are added or tags retrieved).

Thx

-- 
- joe kopena
right here and now


More information about the Ns-developers mailing list