diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2009-12-07 12:33:20 +0300 |
---|---|---|
committer | Denis Ovsienko <infrastation@yandex.ru> | 2009-12-07 12:33:20 +0300 |
commit | 64bf3ab7291cc5c39c5add0dc1a7de447914248b (patch) | |
tree | d5ae874814083d89815e6c521b42d0f3eaaec69c /bgpd/bgpd.c | |
parent | 2eb445e1c22e36d07e2dbfd302ff438c4190b9fe (diff) |
ospf6d: review LSA sequence number comparison
It seems that there is a bug in ospf6d in ospf6_lsa_compare(): If LSA A
has sequence number smaller than 0x80000000 and LSA B has sequence
number larger than 0x80000000, ospf6_lsa_compare() returns that B is
more recent than A, although RFC says that sequence numbers should be
compared as signed numbers (0x8000001 smallest and 0x7FFFFFFF largest).
In ospfd, the function ospf_lsa_more_recent() has it right.
The problem appears when Quagga is used together with OSPFv3 in
development version of BIRD daemon ( http://bird.network.cz/ ),
which creates LSAs with maximum sequence number (0x7FFFFFFF)
as a part of flushing/premature aging LSA from OSPF area.
Because both daemons has different idea of which LSA instance
is more recent, it would lead to LSA storm.
Diffstat (limited to 'bgpd/bgpd.c')
0 files changed, 0 insertions, 0 deletions