summaryrefslogtreecommitdiff
path: root/ospfd
diff options
context:
space:
mode:
authorDenis Ovsienko <infrastation@yandex.ru>2012-04-03 20:33:24 +0400
committerDavid Lamparter <equinox@diac24.net>2012-04-11 23:18:29 +0200
commita25a44dba84e9a6ac2b87e24472b6e9f959d845b (patch)
tree86ce0bc9de906bf9aaf6ea822b157b31b7c45a06 /ospfd
parente96b312150d8e376c1ef463793d1929eca3618d5 (diff)
ospfd: adjust OSPF_ROUTER_LSA_MIN_SIZE for VL case
Diffstat (limited to 'ospfd')
-rw-r--r--ospfd/ospf_lsa.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/ospfd/ospf_lsa.h b/ospfd/ospf_lsa.h
index 297cd984..6c95ff17 100644
--- a/ospfd/ospf_lsa.h
+++ b/ospfd/ospf_lsa.h
@@ -153,7 +153,14 @@ struct router_lsa_link
};
/* OSPF Router-LSAs structure. */
-#define OSPF_ROUTER_LSA_MIN_SIZE 16U /* w/1 link descriptor */
+#define OSPF_ROUTER_LSA_MIN_SIZE 4U /* w/0 link descriptors */
+/* There is an edge case, when number of links in a Router-LSA may be 0 without
+ breaking the specification. A router, which has no other links to backbone
+ area besides one virtual link, will not put any VL descriptor blocks into
+ the Router-LSA generated for area 0 until a full adjacency over the VL is
+ reached (RFC2328 12.4.1.3). In this case the Router-LSA initially received
+ by the other end of the VL will have 0 link descriptor blocks, but soon will
+ be replaced with the next revision having 1 descriptor block. */
struct router_lsa
{
struct lsa_header header;