nb_reform.c
来自「TCP-IP红宝书源代码」· C语言 代码 · 共 38 行
C
38 行
/* nb_reform.c - nb_reform */
#include <conf.h>
#include <kernel.h>
#include <network.h>
#include <ospf.h>
SYSCALL gettime(unsigned long *);
/*------------------------------------------------------------------------
* nb_reform - reform adjacencies after a DR or BDR change
*------------------------------------------------------------------------
*/
int
nb_reform(struct ospf_if *pif)
{
struct ospf_nb *pnb = &pif->if_nbtab[1];
int nn;
for (nn=0; nn<MAXNBR; ++nn, ++pnb) {
if (pnb->nb_state >= NBS_EXSTART) {
if (!nb_aok(pif, pnb)) {
/* break an adjacency */
pnb->nb_state = NBS_2WAY;
nb_clearl(pnb);
}
} else if (pnb->nb_state == NBS_2WAY) {
if (nb_aok(pif, pnb)) {
/* form an adjacency */
gettime(&pnb->nb_seq);
pnb->nb_state = NBS_EXSTART;
nb_makel(pnb);
dd_queue(pif, pnb);
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?