diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2016-11-10 15:35:47 -0200 |
|---|---|---|
| committer | Renato Westphal <renato@opensourcerouting.org> | 2016-11-25 11:46:06 -0200 |
| commit | b10ce841035275844cfe494d471865c8a1d4dda6 (patch) | |
| tree | 9a546e1091ffefe8e0cc07192daf888771aa7045 /lib/sockopt.c | |
| parent | 6aec4b41760e6ba54fc52b09f6d3ecfe173f6ee6 (diff) | |
ripd: fix the "neighbor" command.
We can't use if_lookup_prefix() in rip_update_process() because this
function uses prefix_cmp() internally to try matching an interface
address to a static neighbor's address.
Since prefix_cmp() tries to match exact prefixes, if_lookup_prefix()
was always returning NULL.
What we really need here is to use prefix_match(), which checks if
one prefix includes the other (e.g. one /24 interface including a /32
static neighbor's address). The fix then is to replace the call to
if_lookup_prefix() and use if_lookup_address() instead, which uses
prefix_match() internally.
Fixes IxANVL RIP test 17.1
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'lib/sockopt.c')
0 files changed, 0 insertions, 0 deletions
