📄 node129.html
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4patched version by: Kenshi Muto, Debian Project.LaTeX2HTML 2002 (1.62),original version by: Nikos Drakos, CBLU, University of Leeds* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan* with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --><HTML><HEAD><TITLE>12.1.1 Adding a New Packet Header Type</TITLE><META NAME="description" CONTENT="12.1.1 Adding a New Packet Header Type"><META NAME="keywords" CONTENT="everything"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="STYLESHEET" HREF="everything.css" tppabs="http://www.isi.edu/nsnam/ns/doc/everything.css"><LINK REL="next" HREF="node130.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node130.html"><LINK REL="previous" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html"><LINK REL="up" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html"><LINK REL="next" HREF="node130.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node130.html"></HEAD><BODY ><!--Navigation Panel--><A NAME="tex2html3276" HREF="node130.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node130.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html3270" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html3264" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html3272" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html3274" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html3277" HREF="node130.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node130.html">12.1.2 Selectively Including Packet</A><B> Up:</B> <A NAME="tex2html3271" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html">12.1 A Protocol-Specific Packet</A><B> Previous:</B> <A NAME="tex2html3265" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html">12.1 A Protocol-Specific Packet</A>   <B> <A NAME="tex2html3273" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html3275" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <BR><BR><!--End of Navigation Panel--><H2><A NAME="SECTION03911000000000000000">12.1.1 Adding a New Packet Header Type</A></H2><P>Assuming we wish to create a new header called <TT>newhdr</TT>the following steps are performed:<OL><LI>create a new structure defining the raw fields (called <TT>hdr_newhdr</TT>), define <TT>offset_</TT> and access methods. </LI><LI>define member functions for needed fields.</LI><LI>create a static class to perform OTcl linkage (defines <TT>PacketHeader/Newhdr</TT>), do <TT>bind_offset()</TT> in its constructor. </LI><LI>edit tcl/lib/ns-packet.tcl to enable new packet format (see <A HREF="node133.html#sec:pinfoclass" tppabs="http://www.isi.edu/nsnam/ns/doc/node133.html#sec:pinfoclass">12.2.2</A>, <A HREF="node135.html#sec:configpacket" tppabs="http://www.isi.edu/nsnam/ns/doc/node135.html#sec:configpacket">12.2.4</A>).</LI></OL><P><EM>This is the recommended way to add your packet headers. If you do not follow this method, your simulation may still work, but it may behave in a unpredictable way when more protocols are added into your simulation. The reason is that the BOB (Bag of Bits, Section <A HREF="node132.html#sec:packetclass" tppabs="http://www.isi.edu/nsnam/ns/doc/node132.html#sec:packetclass">12.2.1</A>) in packet is a large sparse space, assigning one wrong packet header offset may not trigger failure immediately.</EM><P><HR><!--Navigation Panel--><A NAME="tex2html3276" HREF="node130.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node130.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html3270" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html3264" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html3272" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html3274" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html3277" HREF="node130.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node130.html">12.1.2 Selectively Including Packet</A><B> Up:</B> <A NAME="tex2html3271" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html">12.1 A Protocol-Specific Packet</A><B> Previous:</B> <A NAME="tex2html3265" HREF="node128.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html">12.1 A Protocol-Specific Packet</A>   <B> <A NAME="tex2html3273" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html3275" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <!--End of Navigation Panel--><ADDRESS>2003-09-23</ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -