summaryrefslogtreecommitdiff
path: root/ospf.h
diff options
context:
space:
mode:
authorhannes <hannes>2003-10-03 13:00:33 +0000
committerhannes <hannes>2003-10-03 13:00:33 +0000
commitc1fa2c99cc0099a655ca175630181b2594b2b32a (patch)
treead949fef5660b97c5f3a0dcc402d6474721c4ee8 /ospf.h
parent0531555b158feffb9c62e4cbf8208b8c69c8a618 (diff)
downloadtcpdump-c1fa2c99cc0099a655ca175630181b2594b2b32a.tar.gz
show opaque-LSA specific fields of the LSA header
Diffstat (limited to 'ospf.h')
-rw-r--r--ospf.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/ospf.h b/ospf.h
index 08e4e095..6da06a06 100644
--- a/ospf.h
+++ b/ospf.h
@@ -1,4 +1,4 @@
-/* @(#) $Header: /tcpdump/master/tcpdump/ospf.h,v 1.8 2003-10-02 13:35:52 hannes Exp $ (LBL) */
+/* @(#) $Header: /tcpdump/master/tcpdump/ospf.h,v 1.9 2003-10-03 13:00:33 hannes Exp $ (LBL) */
/*
* Copyright (c) 1991, 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved.
@@ -107,7 +107,13 @@ struct lsa_hdr {
u_int16_t ls_age;
u_int8_t ls_options;
u_int8_t ls_type;
- struct in_addr ls_stateid;
+ union {
+ struct in_addr ls_stateid;
+ struct { /* opaque LSAs change the LSA-ID field */
+ u_int8_t opaque_type;
+ u_int8_t opaque_id[3];
+ };
+ };
struct in_addr ls_router;
u_int32_t ls_seq;
u_int16_t ls_chksum;
@@ -162,16 +168,6 @@ struct lsa {
struct in_addr mcla_vid;
} un_mcla[1];
- /* Opaque LSA */
- struct opaque {
- u_int8_t opaque_type;
- u_int8_t opaque_id[3];
- struct in_addr adv_router;
- struct in_addr sequence_num;
- u_int16_t chksum;
- u_int16_t length;
- } un_opaque[1];
-
/* Unknown LSA */
struct unknown {
u_int8_t data[1]; /* may repeat */