NetworkManager/src/rdisc
Dan Williams 19fa547d5d rdisc: prevent solicitation loop for expiring DNS information (rh #1207730) (rh #1151665)
A solicitation loop could result for two cases:

1) a router sent DNS information, then removed that information without
sending it with lifetime=0
2) two routers exist, one sending DNS information and the other not, and
the first router which sends DNS information disappears

In these cases a solicitation would be generated when the DNS information
reached 1/2 its lifetime.  A router would then reply to the solicitation
without DNS information, which would then trigger another lifetime check,
which finds that the DNS info is still 1/2 lifetime.  Which triggers
another solicitation, etc.

Fix this by ensuring that a solicitation is never sent less than
rtr_solicitation_interval seconds after the last one.
2015-05-01 16:35:47 -05:00
..
tests rdisc: prevent solicitation loop for expiring DNS information (rh #1207730) (rh #1151665) 2015-05-01 16:35:47 -05:00
Makefile.am trivial: allow building tests from rdisc directory 2013-07-30 11:40:18 +02:00
nm-fake-rdisc.c rdisc: prevent solicitation loop for expiring DNS information (rh #1207730) (rh #1151665) 2015-05-01 16:35:47 -05:00
nm-fake-rdisc.h rdisc: prevent solicitation loop for expiring DNS information (rh #1207730) (rh #1151665) 2015-05-01 16:35:47 -05:00
nm-lndp-rdisc.c rdisc: move most RA processing logic into base class 2015-05-01 16:30:32 -05:00
nm-lndp-rdisc.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-rdisc-private.h rdisc: move most RA processing logic into base class 2015-05-01 16:30:32 -05:00
nm-rdisc.c rdisc: prevent solicitation loop for expiring DNS information (rh #1207730) (rh #1151665) 2015-05-01 16:35:47 -05:00
nm-rdisc.h rdisc: move most RA processing logic into base class 2015-05-01 16:30:32 -05:00