mirror of
https://github.com/the-tcpdump-group/tcpdump.git
synced 2024-11-23 18:14:29 +08:00
OSPF: refine unknown packet type handling
As far as modern OSPF implementations are concerned, packet type 0 is not a valid value, so let's print it as such. Also for an invalid packet type tell its decimal value.
This commit is contained in:
parent
1fb50928ce
commit
a13a19a610
1
ospf.h
1
ospf.h
@ -20,7 +20,6 @@
|
||||
*
|
||||
* OSPF support contributed by Jeffrey Honig (jch@mitchell.cit.cornell.edu)
|
||||
*/
|
||||
#define OSPF_TYPE_UMD 0 /* UMd's special monitoring packets */
|
||||
#define OSPF_TYPE_HELLO 1 /* Hello */
|
||||
#define OSPF_TYPE_DD 2 /* Database Description */
|
||||
#define OSPF_TYPE_LS_REQ 3 /* Link State Request */
|
||||
|
10
print-ospf.c
10
print-ospf.c
@ -66,7 +66,6 @@ static const struct tok ospf_rla_flag_values[] = {
|
||||
};
|
||||
|
||||
static const struct tok type2str[] = {
|
||||
{ OSPF_TYPE_UMD, "UMD" },
|
||||
{ OSPF_TYPE_HELLO, "Hello" },
|
||||
{ OSPF_TYPE_DD, "Database Description" },
|
||||
{ OSPF_TYPE_LS_REQ, "LS-Request" },
|
||||
@ -988,13 +987,6 @@ ospf_decode_v2(netdissect_options *ndo,
|
||||
|
||||
switch (op->ospf_type) {
|
||||
|
||||
case OSPF_TYPE_UMD:
|
||||
/*
|
||||
* Rob Coltun's special monitoring packets;
|
||||
* do nothing
|
||||
*/
|
||||
break;
|
||||
|
||||
case OSPF_TYPE_HELLO:
|
||||
ND_TCHECK(op->ospf_hello.hello_options);
|
||||
ND_PRINT((ndo, "\n\tOptions [%s]",
|
||||
@ -1127,7 +1119,7 @@ ospf_print(netdissect_options *ndo,
|
||||
/* If the type is valid translate it, or just print the type */
|
||||
/* value. If it's not valid, say so and return */
|
||||
ND_TCHECK(op->ospf_type);
|
||||
cp = tok2str(type2str, "unknown LS-type", op->ospf_type);
|
||||
cp = tok2str(type2str, "unknown LS-type %u", op->ospf_type);
|
||||
ND_PRINT((ndo, "OSPFv%u, %s, length %u", op->ospf_version, cp, length));
|
||||
if (*cp == 'u')
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user