mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 09:41:54 +00:00
lsa_cmp moved into lsalib.c
This commit is contained in:
parent
10be74da20
commit
db9fb72769
@ -168,26 +168,6 @@ rxmt_timer_hook(timer *timer)
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
lsa_comp(struct ospf_lsa_header *l1, struct ospf_lsa_header *l2)
|
||||
/*
|
||||
* 1 l1 is newer
|
||||
* 0 identical
|
||||
* -1 l2 is newer
|
||||
*/
|
||||
{
|
||||
if(l1->sn<l2->sn) return 1;
|
||||
if(l1->sn==l2->sn)
|
||||
{
|
||||
if(l1->checksum=!l2->checksum) return l1->checksum<l2->checksum ? -1 :1;
|
||||
if(l1->age==MAXAGE) return 1;
|
||||
if(l2->age==MAXAGE) return -1;
|
||||
if(abs(l1->age-l2->age)>MAXAGEDIFF) return l1->age<l2->age ? 1 : -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
ospf_dbdes_reqladd(struct ospf_dbdes_packet *ps, struct proto *p,
|
||||
struct ospf_neighbor *n)
|
||||
@ -296,8 +276,6 @@ ospf_dbdes_rx(struct ospf_dbdes_packet *ps, struct proto *p,
|
||||
break;
|
||||
}
|
||||
}
|
||||
//break; /* I should probably continue processing packet */
|
||||
|
||||
case NEIGHBOR_EXCHANGE:
|
||||
if((ps->imms.byte==n->imms.byte) && (ps->options=n->options) &&
|
||||
(ntohl(ps->ddseq)==n->ddr))
|
||||
|
@ -16,3 +16,4 @@ void ospf_dbdes_rx(struct ospf_dbdes_packet *ps, struct proto *p,
|
||||
struct ospf_iface *ifa, u16 size);
|
||||
|
||||
#endif /* _BIRD_OSPF_DBDES_H_ */
|
||||
|
||||
|
@ -283,3 +283,20 @@ lsasum_calculate(struct ospf_lsa_header *h,void *body,struct proto_ospf *po)
|
||||
ntohlsab(b,b,h->type,length+2);
|
||||
}
|
||||
|
||||
int
|
||||
lsa_comp(struct ospf_lsa_header *l1, struct ospf_lsa_header *l2)
|
||||
/* Return codes form view of l1 */
|
||||
{
|
||||
if(l1->sn<l2->sn) return CMP_NEWER;
|
||||
if(l1->sn==l2->sn)
|
||||
{
|
||||
if(l1->checksum=!l2->checksum)
|
||||
return l1->checksum<l2->checksum ? CMP_OLDER : CMP_NEWER;
|
||||
if(l1->age==MAXAGE) return CMP_NEWER;
|
||||
if(l2->age==MAXAGE) return CMP_OLDER;
|
||||
if(abs(l1->age-l2->age)>MAXAGEDIFF)
|
||||
return l1->age<l2->age ? CMP_NEWER : CMP_OLDER;
|
||||
}
|
||||
return CMP_SAME;
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,11 @@ void htonlsah(struct ospf_lsa_header *h, struct ospf_lsa_header *n);
|
||||
void ntohlsah(struct ospf_lsa_header *n, struct ospf_lsa_header *h);
|
||||
void htonlsab(void *h, void *n, u8 type, u16 len);
|
||||
void ntohlsab(void *n, void *h, u8 type, u16 len);
|
||||
void lsasum_calculate(struct ospf_lsa_header *header, void *body, struct proto_ospf *p);
|
||||
void lsasum_calculate(struct ospf_lsa_header *header, void *body,
|
||||
struct proto_ospf *p);
|
||||
#define CMP_NEWER 1
|
||||
#define CMP_SAME 0
|
||||
#define CMP_OLDER -1
|
||||
int lsa_comp(struct ospf_lsa_header *l1, struct ospf_lsa_header *l2);
|
||||
|
||||
#endif /* _BIRD_OSPF_LSALIB_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user