mirror of
https://github.com/FRRouting/frr.git
synced 2025-04-30 13:37:17 +02:00
babeld: Add a check to prevent all-ones case
A router-id MUST NOT consist of either all binary zeroes (0000000000000000 hexadecimal) or all binary ones (FFFFFFFFFFFFFFFF hexadecimal). Signed-off-by: zmw12306 <zmw12306@gmail.com>
This commit is contained in:
parent
44c4743e08
commit
e43dbc8fe1
|
@ -212,7 +212,8 @@ static void babel_init_routing_process(struct event *thread)
|
|||
babel_main_loop(thread);/* this function self-add to the t_update thread */
|
||||
}
|
||||
|
||||
/* fill "myid" with an unique id (only if myid != {0}). */
|
||||
/* fill "myid" with an unique id (only if myid != {0} and myid != {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}). */
|
||||
static void
|
||||
babel_get_myid(void)
|
||||
{
|
||||
|
@ -222,7 +223,7 @@ babel_get_myid(void)
|
|||
int i;
|
||||
|
||||
/* if we already have an id (from state file), we return. */
|
||||
if (memcmp(myid, zeroes, 8) != 0) {
|
||||
if (memcmp(myid, zeroes, 8) != 0 && memcmp(myid, ones, 8) != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue