diff options
author | Paul Jakma <paul@quagga.net> | 2009-10-13 16:13:13 +0100 |
---|---|---|
committer | Paul Jakma <paul@quagga.net> | 2010-12-08 17:13:14 +0000 |
commit | 7eb5b47e54169ac0da40ed1a6760db5d5f915a4d (patch) | |
tree | 8d70f87bea20b07f2bbc753a3661c9be9058e1ef /ospfd/ospf_interface.h | |
parent | aa276fd783f5cdbeefe22bf54109fe523a465e07 (diff) |
ospfd: Remember network LSA sequence numbers across up/downs of an interface
* ospf_interface.h: (struct ospf_if_params) add field for saved network LSA
seqnum
* ospf_interfa.c: (ospf_new_if_params) init network_lsa_seqnum field to
initial seqnum - doesnt matter though.
* ospf_lsa.c: (ospf_network_lsa_new) check for any saved sequence number,
and use if it exists. Save the result back. This should help avoid needless
round of LSUpdate/LSRequests when a neighbour has to tell the originator
"uhm, i have something newer than that already".
* ospf_vty.c: (show_ip_ospf_interface_sub) Show the saved network LSA seqnum
Diffstat (limited to 'ospfd/ospf_interface.h')
-rw-r--r-- | ospfd/ospf_interface.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ospfd/ospf_interface.h b/ospfd/ospf_interface.h index ab0b7580..f495c499 100644 --- a/ospfd/ospf_interface.h +++ b/ospfd/ospf_interface.h @@ -73,6 +73,9 @@ struct ospf_if_params DECLARE_IF_PARAM (struct list *, auth_crypt); /* List of Auth cryptographic data. */ DECLARE_IF_PARAM (int, auth_type); /* OSPF authentication type */ + + /* Other, non-configuration state */ + u_int32_t network_lsa_seqnum; /* Network LSA seqnum */ }; enum @@ -167,6 +170,7 @@ struct ospf_interface /* Configured varables. */ struct ospf_if_params *params; + u_int32_t crypt_seqnum; /* Cryptographic Sequence Number */ u_int32_t output_cost; /* Acutual Interface Output Cost */ |