summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ipproto.h19
-rw-r--r--print-ip6.c13
2 files changed, 26 insertions, 6 deletions
diff --git a/ipproto.h b/ipproto.h
index 8fc92786..1efb8557 100644
--- a/ipproto.h
+++ b/ipproto.h
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#) $Header: /tcpdump/master/tcpdump/ipproto.h,v 1.1 2003-06-07 11:57:52 guy Exp $ (LBL)
+ * @(#) $Header: /tcpdump/master/tcpdump/ipproto.h,v 1.2 2003-11-24 20:30:51 guy Exp $ (LBL)
*
* From:
* @(#)in.h 8.3 (Berkeley) 1/3/94
@@ -97,8 +97,18 @@
#ifndef IPPROTO_DSTOPTS
#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
#endif
-#ifndef IPPROTO_MOBILITY
-#define IPPROTO_MOBILITY 62
+#ifndef IPPROTO_MOBILITY_OLD
+/*
+ * The current Protocol Numbers list says that the IP protocol number for
+ * mobility headers is 135; it cites draft-ietf-mobileip-ipv6-24, but
+ * that draft doesn't actually give a number.
+ *
+ * It appears that 62 used to be used, even though that's assigned to
+ * a protocol called CFTP; however, the only reference for CFTP is a
+ * Network Message from BBN back in 1982, so, for now, we support 62,
+ * aas well as 135, as a protocol number for mobility headers.
+ */
+#define IPPROTO_MOBILITY_OLD 62
#endif
#ifndef IPPROTO_ND
#define IPPROTO_ND 77 /* Sun net disk proto (temp.) */
@@ -121,3 +131,6 @@
#ifndef IPPROTO_SCTP
#define IPPROTO_SCTP 132
#endif
+#ifndef IPPROTO_MOBILITY
+#define IPPROTO_MOBILITY 135
+#endif
diff --git a/print-ip6.c b/print-ip6.c
index a49705c7..87364717 100644
--- a/print-ip6.c
+++ b/print-ip6.c
@@ -21,7 +21,7 @@
#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/tcpdump/print-ip6.c,v 1.39 2003-11-19 06:31:28 guy Exp $";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-ip6.c,v 1.40 2003-11-24 20:30:52 guy Exp $";
#endif
#ifdef HAVE_CONFIG_H
@@ -111,10 +111,17 @@ ip6_print(register const u_char *bp, register u_int length)
fragmented = 1;
break;
+ case IPPROTO_MOBILITY_OLD:
case IPPROTO_MOBILITY:
/*
- * XXX - we don't use "advance"; is this
- * header always a final header?
+ * XXX - we don't use "advance"; the current
+ * "Mobility Support in IPv6" draft
+ * (draft-ietf-mobileip-ipv6-24) says that
+ * the next header field in a mobility header
+ * should be IPPROTO_NONE, but speaks of
+ * the possiblity of a future extension in
+ * which payload can be piggybacked atop a
+ * mobility header.
*/
advance = mobility_print(cp, (const u_char *)ip6);
nh = *cp;