Hi,
Attached patch adds some new LSA types for LSA type values array and
defines new DD options flag : O bit defined in Opaque LSA RFC.
P.S. Please cc me in your replies because I'm not subscribed to the list.
--
Michael Rozhavsky
Index: packet-ospf.c
===================================================================
RCS file: /cvsroot/ethereal/packet-ospf.c,v
retrieving revision 1.38
diff -u -r1.38 packet-ospf.c
--- packet-ospf.c 2001/04/23 17:51:33 1.38
+++ packet-ospf.c 2001/05/02 15:51:58
@@ -85,6 +85,7 @@
#define OSPF_OPTIONS_NP 0x08
#define OSPF_OPTIONS_EA 0x10
#define OSPF_OPTIONS_DC 0x20
+#define OSPF_OPTIONS_O 0x40
#define OSPF_DBD_FLAG_MS 1
#define OSPF_DBD_FLAG_M 2
@@ -97,7 +98,9 @@
#define OSPF_LSTYPE_SUMMERY 3
#define OSPF_LSTYPE_ASBR 4
#define OSPF_LSTYPE_ASEXT 5
+#define OSPF_LSTYPE_GRPMEMBER 6
#define OSPF_LSTYPE_ASEXT7 7
+#define OSPF_LSTYPE_EXTATTR 8
/* Opaque LSA types */
#define OSPF_LSTYPE_OP_LINKLOCAL 9
@@ -115,12 +118,18 @@
#define OSPF_LSA_MPLS_TE 1
static const value_string ls_type_vals[] = {
- {OSPF_LSTYPE_ROUTER, "Router-LSA" },
- {OSPF_LSTYPE_NETWORK, "Network-LSA" },
- {OSPF_LSTYPE_SUMMERY, "Summary-LSA (IP network)" },
- {OSPF_LSTYPE_ASBR, "Summary-LSA (ASBR)" },
- {OSPF_LSTYPE_ASEXT, "AS-External-LSA (ASBR)" },
- {0, NULL }
+ {OSPF_LSTYPE_ROUTER, "Router-LSA" },
+ {OSPF_LSTYPE_NETWORK, "Network-LSA" },
+ {OSPF_LSTYPE_SUMMERY, "Summary-LSA (IP network)" },
+ {OSPF_LSTYPE_ASBR, "Summary-LSA (ASBR)" },
+ {OSPF_LSTYPE_ASEXT, "AS-External-LSA (ASBR)" },
+ {OSPF_LSTYPE_GRPMEMBER, "Group Membership LSA" },
+ {OSPF_LSTYPE_ASEXT7, "NSSA AS-External-LSA" },
+ {OSPF_LSTYPE_EXTATTR, "External Attributes LSA" },
+ {OSPF_LSTYPE_OP_LINKLOCAL, "Opaque LSA, Link-local scope" },
+ {OSPF_LSTYPE_OP_AREALOCAL, "Opaque LSA, Area-local scope" },
+ {OSPF_LSTYPE_OP_ASWIDE, "Opaque LSA, AS-wide scope" },
+ {0, NULL }
};
static int proto_ospf = -1;
@@ -1016,6 +1025,11 @@
if (options_string[0] != '\0')
strcat(options_string, "/");
strcat(options_string, "DC");
+ }
+ if (options & OSPF_OPTIONS_O) {
+ if (options_string[0] != '\0')
+ strcat(options_string, "/");
+ strcat(options_string, "O");
}
proto_tree_add_text(tree, tvb, offset, 1, "Options: 0x%x (%s)",