aboutsummaryrefslogtreecommitdiffstats
path: root/packet-ospf.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-05-14 18:25:34 +0000
committerGuy Harris <guy@alum.mit.edu>2001-05-14 18:25:34 +0000
commit6aff75aabc81ae6f672d39e95a2f6db311f7d539 (patch)
treeab5d166e87b73661a95b6c853c6bc68b618981bc /packet-ospf.c
parentf9a822d78f7b9ca3702fdab68358f501a4179993 (diff)
Updates to OSPF for the changes between drafts 3 and 4 of
draft-katz-yeung-ospf-traffic, from Michael Rozhavsky. svn path=/trunk/; revision=3412
Diffstat (limited to 'packet-ospf.c')
-rw-r--r--packet-ospf.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/packet-ospf.c b/packet-ospf.c
index 9cf431ba86..103a04aad3 100644
--- a/packet-ospf.c
+++ b/packet-ospf.c
@@ -2,7 +2,7 @@
* Routines for OSPF packet disassembly
* (c) Copyright Hannes R. Boehm <hannes@boehm.org>
*
- * $Id: packet-ospf.c,v 1.39 2001/05/02 18:12:44 guy Exp $
+ * $Id: packet-ospf.c,v 1.40 2001/05/14 18:25:34 guy Exp $
*
* At this time, this module is able to analyze OSPF
* packets as specified in RFC2328. MOSPF (RFC1584) and other
@@ -601,15 +601,17 @@ dissect_ospf_lsa_mpls(tvbuff_t *tvb, int offset, proto_tree *tree,
case MPLS_LINK_LOCAL_IF:
case MPLS_LINK_REMOTE_IF:
ti = proto_tree_add_text(tlv_tree, tvb, stlv_offset, stlv_len+4,
- "%s: %s", stlv_name,
- ip_to_str(tvb_get_ptr(tvb, stlv_offset+4, 4)));
+ "%s", stlv_name);
stlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link_stlv);
proto_tree_add_text(stlv_tree, tvb, stlv_offset, 2,
"TLV Type: %u: %s", stlv_type, stlv_name);
proto_tree_add_text(stlv_tree, tvb, stlv_offset+2, 2, "TLV Length: %u",
stlv_len);
- proto_tree_add_text(stlv_tree, tvb, stlv_offset+4, 4, "%s: %s", stlv_name,
- ip_to_str(tvb_get_ptr(tvb, stlv_offset+4, 4)));
+ /* The Local/Remote Interface IP Address sub-TLV is TLV type 3/4, and is 4N
+ octets in length, where N is the number of neighbor addresses. */
+ for (i=0; i < stlv_len; i+=4)
+ proto_tree_add_text(stlv_tree, tvb, stlv_offset+4+i, 4, "%s: %s", stlv_name,
+ ip_to_str(tvb_get_ptr(tvb, stlv_offset+4+i, 4)));
break;
case MPLS_LINK_TE_METRIC: