Hi,
In my previous patch I forgot to add a OOBResync flag to the DBD packet
flags field. This patch adds this flag. Please apply.
Michael Rozhavsky wrote:
> Hi,
>
> This patch adds support for draft-nguyen-ospf-lls-05.txt,
> draft-nguyen-ospf-oob-resync-05.txt and
> draft-nguyen-ospf-restart-05.txt. These are an alternative way to do
> OSPF graceful restart.
>
> These drafts are implemented by cisco and several other vendors that
> want to interoperate with cisco. My patch adds a dissectors for LLS TLVs.
>
> I had to modify the existing ospf dissector as it assumed that all the
> data after IP header is OSPF packet. This is not true anymore and
> probably was not true before as well.
>
> Also please find attached an example of OSPF packets with LLS data blocks.
>
--
Michael Rozhavsky
Senior Manager, Software Development
Fortinet (Canada) Inc.
4710 Kingsway, Suite 400 Tel: (604) 430-1297 ext. 309
Burnaby, BC V5H 4M2 Canada Fax: (604) 430-1296
Index: packet-ospf.c
===================================================================
--- packet-ospf.c (revision 16831)
+++ packet-ospf.c (working copy)
@@ -107,6 +107,7 @@
#define OSPF_DBD_FLAG_MS 1
#define OSPF_DBD_FLAG_M 2
#define OSPF_DBD_FLAG_I 4
+#define OSPF_DBD_FLAG_R 8
#define OSPF_LS_REQ_LENGTH 12
@@ -311,6 +312,10 @@
"Master/Slave bit is SET",
"Master/Slave bit is NOT set"
};
+static const true_false_string tfs_dbd_r = {
+ "OOBResync bit is SET",
+ "OOBResync bit is NOT set"
+};
static const true_false_string tfs_lls_ext_options_lr = {
"LSDB Resynchrinization (LR-bit) is SET",
"LSDB Resynchrinization (LR-bit) is NOT set"
@@ -437,6 +442,7 @@
OSPFF_V3_OPTIONS_R,
OSPFF_V3_OPTIONS_DC,
OSPFF_DBD,
+ OSPFF_DBD_R,
OSPFF_DBD_I,
OSPFF_DBD_M,
OSPFF_DBD_MS,
@@ -621,6 +627,9 @@
{&ospf_filter[OSPFF_DBD],
{ "DB Description", "ospf.dbd", FT_UINT8, BASE_HEX,
NULL, 0x0, "", HFILL }},
+ {&ospf_filter[OSPFF_DBD_R],
+ { "R", "ospf.dbd.r", FT_BOOLEAN, 8,
+ TFS(&tfs_dbd_r), OSPF_DBD_FLAG_R, "", HFILL }},
{&ospf_filter[OSPFF_DBD_I],
{ "I", "ospf.dbd.i", FT_BOOLEAN, 8,
TFS(&tfs_dbd_i), OSPF_DBD_FLAG_I, "", HFILL }},
@@ -723,6 +732,7 @@
} bitfield_info;
static int bf_dbd[] = {
+ OSPFF_DBD_R,
OSPFF_DBD_I,
OSPFF_DBD_M,
OSPFF_DBD_MS