]> The Tcpdump Group git mirrors - tcpdump/commitdiff
make MPLS label handling macros available to the outside world
authorhannes <hannes>
Mon, 14 Jun 2004 14:47:58 +0000 (14:47 +0000)
committerhannes <hannes>
Mon, 14 Jun 2004 14:47:58 +0000 (14:47 +0000)
mpls.h [new file with mode: 0644]
print-mpls.c

diff --git a/mpls.h b/mpls.h
new file mode 100644 (file)
index 0000000..ae1c97e
--- /dev/null
+++ b/mpls.h
@@ -0,0 +1,41 @@
+/* @(#) $Header: /tcpdump/master/tcpdump/mpls.h,v 1.1 2004-06-14 14:47:58 hannes Exp $ (LBL)
+ * Copyright (C) 2001 WIDE Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the project nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#define LABEL_MASK     0xfffff000
+#define LABEL_SHIFT    12
+#define        EXP_MASK        0x00000e00
+#define EXP_SHIFT      9
+#define        STACK_MASK      0x00000100
+#define STACK_SHIFT    8
+#define TTL_MASK       0x000000ff
+#define TTL_SHIFT      0
+
+#define MPLS_LABEL(x)  (((x) & LABEL_MASK) >> LABEL_SHIFT)
+#define MPLS_EXP(x)    (((x) & EXP_MASK) >> EXP_SHIFT)
+#define MPLS_STACK(x)  (((x) & STACK_MASK) >> STACK_SHIFT)
+#define MPLS_TTL(x)    (((x) & TTL_MASK) >> TTL_SHIFT)
index c56f2643fdb7de9091e303b30d1282489c17b442..a6de5cf12f5a56463bf425925cbb507faee487b2 100644 (file)
@@ -28,7 +28,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-mpls.c,v 1.11 2004-06-06 19:20:04 hannes Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-mpls.c,v 1.12 2004-06-14 14:47:58 hannes Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -44,20 +44,7 @@ static const char rcsid[] _U_ =
 #include "addrtoname.h"
 #include "interface.h"
 #include "extract.h"                   /* must come after interface.h */
-
-#define LABEL_MASK     0xfffff000
-#define LABEL_SHIFT    12
-#define        EXP_MASK        0x00000e00
-#define EXP_SHIFT      9
-#define        STACK_MASK      0x00000100
-#define STACK_SHIFT    8
-#define TTL_MASK       0x000000ff
-#define TTL_SHIFT      0
-
-#define MPLS_LABEL(x)  (((x) & LABEL_MASK) >> LABEL_SHIFT)
-#define MPLS_EXP(x)    (((x) & EXP_MASK) >> EXP_SHIFT)
-#define MPLS_STACK(x)  (((x) & STACK_MASK) >> STACK_SHIFT)
-#define MPLS_TTL(x)    (((x) & TTL_MASK) >> TTL_SHIFT)
+#include "mpls.h"
 
 static const char *mpls_labelname[] = {
 /*0*/  "IPv4 explicit NULL", "router alert", "IPv6 explicit NULL",