Deleted useles "struct proto" sending.
This commit is contained in:
parent
7a03e29d5c
commit
8e15e048f2
4 changed files with 13 additions and 14 deletions
|
@ -18,11 +18,9 @@ char *s_queue[] = { "direct", "delayed" };
|
||||||
|
|
||||||
void
|
void
|
||||||
ospf_lsack_enqueue(struct ospf_neighbor *n, struct ospf_lsa_header *h,
|
ospf_lsack_enqueue(struct ospf_neighbor *n, struct ospf_lsa_header *h,
|
||||||
struct proto *p, int queue)
|
int queue)
|
||||||
{
|
{
|
||||||
struct lsah_n *no;
|
struct lsah_n *no = mb_alloc(n->pool, sizeof(struct lsah_n));
|
||||||
|
|
||||||
no = mb_alloc(n->pool, sizeof(struct lsah_n));
|
|
||||||
memcpy(&no->lsa, h, sizeof(struct ospf_lsa_header));
|
memcpy(&no->lsa, h, sizeof(struct ospf_lsa_header));
|
||||||
add_tail(&n->ackl[queue], NODE no);
|
add_tail(&n->ackl[queue], NODE no);
|
||||||
DBG("Adding (%s) ack for %I, ID: %I, RT: %I, Type: %u\n", s_queue[queue],
|
DBG("Adding (%s) ack for %I, ID: %I, RT: %I, Type: %u\n", s_queue[queue],
|
||||||
|
@ -120,7 +118,7 @@ ospf_lsack_send(struct ospf_neighbor *n, int queue)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ospf_lsack_receive(struct ospf_lsack_packet *ps, struct proto *p,
|
ospf_lsack_receive(struct ospf_lsack_packet *ps,
|
||||||
struct ospf_iface *ifa, u16 size)
|
struct ospf_iface *ifa, u16 size)
|
||||||
{
|
{
|
||||||
u32 nrid, myrid;
|
u32 nrid, myrid;
|
||||||
|
@ -130,6 +128,7 @@ ospf_lsack_receive(struct ospf_lsack_packet *ps, struct proto *p,
|
||||||
u16 nolsa, i;
|
u16 nolsa, i;
|
||||||
struct top_hash_entry *en;
|
struct top_hash_entry *en;
|
||||||
u16 lenn = ntohs(ps->ospf_packet.length);
|
u16 lenn = ntohs(ps->ospf_packet.length);
|
||||||
|
struct proto *p = (struct proto *) ifa->proto;
|
||||||
|
|
||||||
nrid = ntohl(ps->ospf_packet.routerid);
|
nrid = ntohl(ps->ospf_packet.routerid);
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,10 @@ struct lsah_n
|
||||||
struct ospf_lsa_header lsa;
|
struct ospf_lsa_header lsa;
|
||||||
};
|
};
|
||||||
|
|
||||||
void ospf_lsack_receive(struct ospf_lsack_packet *ps, struct proto *p,
|
void ospf_lsack_receive(struct ospf_lsack_packet *ps,
|
||||||
struct ospf_iface *ifa, u16 size);
|
struct ospf_iface *ifa, u16 size);
|
||||||
void ospf_lsack_send(struct ospf_neighbor *n, int queue);
|
void ospf_lsack_send(struct ospf_neighbor *n, int queue);
|
||||||
void ospf_lsack_enqueue(struct ospf_neighbor *n, struct ospf_lsa_header *h,
|
void ospf_lsack_enqueue(struct ospf_neighbor *n, struct ospf_lsa_header *h,
|
||||||
struct proto *p, int queue);
|
int queue);
|
||||||
|
|
||||||
#endif /* _BIRD_OSPF_LSACK_H_ */
|
#endif /* _BIRD_OSPF_LSACK_H_ */
|
||||||
|
|
|
@ -366,7 +366,7 @@ ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
|
||||||
/* pg 143 (4) */
|
/* pg 143 (4) */
|
||||||
if((lsatmp.age==LSA_MAXAGE)&&(lsadb==NULL)&&can_flush_lsa(oa))
|
if((lsatmp.age==LSA_MAXAGE)&&(lsadb==NULL)&&can_flush_lsa(oa))
|
||||||
{
|
{
|
||||||
ospf_lsack_enqueue(n, lsa, p, ACKL_DIRECT);
|
ospf_lsack_enqueue(n, lsa, ACKL_DIRECT);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -399,7 +399,7 @@ ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
|
||||||
|
|
||||||
if((lsatmp.age==LSA_MAXAGE)&&(lsatmp.sn==LSA_MAXSEQNO))
|
if((lsatmp.age==LSA_MAXAGE)&&(lsatmp.sn==LSA_MAXSEQNO))
|
||||||
{
|
{
|
||||||
ospf_lsack_enqueue(n, lsa, p, ACKL_DIRECT);
|
ospf_lsack_enqueue(n, lsa, ACKL_DIRECT);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -432,9 +432,9 @@ ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
|
||||||
DBG("Wasn't flooded back\n"); /* ps 144(5e), pg 153 */
|
DBG("Wasn't flooded back\n"); /* ps 144(5e), pg 153 */
|
||||||
if(ifa->state==OSPF_IS_BACKUP)
|
if(ifa->state==OSPF_IS_BACKUP)
|
||||||
{
|
{
|
||||||
if(ifa->drid==n->rid) ospf_lsack_enqueue(n, lsa, p, ACKL_DELAY);
|
if(ifa->drid==n->rid) ospf_lsack_enqueue(n, lsa, ACKL_DELAY);
|
||||||
}
|
}
|
||||||
else ospf_lsack_enqueue(n, lsa, p, ACKL_DELAY);
|
else ospf_lsack_enqueue(n, lsa, ACKL_DELAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove old from all ret lists */
|
/* Remove old from all ret lists */
|
||||||
|
@ -488,13 +488,13 @@ ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
|
||||||
ospf_hash_delete(n->lsrth, en);
|
ospf_hash_delete(n->lsrth, en);
|
||||||
if(ifa->state==OSPF_IS_BACKUP)
|
if(ifa->state==OSPF_IS_BACKUP)
|
||||||
{
|
{
|
||||||
if(n->rid==ifa->drid) ospf_lsack_enqueue(n, lsa, p, ACKL_DELAY);
|
if(n->rid==ifa->drid) ospf_lsack_enqueue(n, lsa, ACKL_DELAY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* pg145 (7b) */
|
/* pg145 (7b) */
|
||||||
ospf_lsack_enqueue(n, lsa, p, ACKL_DIRECT);
|
ospf_lsack_enqueue(n, lsa, ACKL_DIRECT);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -192,7 +192,7 @@ ospf_rx_hook (sock * sk, int size)
|
||||||
break;
|
break;
|
||||||
case LSACK_P:
|
case LSACK_P:
|
||||||
DBG ("%s: Link state ack received.\n", p->name);
|
DBG ("%s: Link state ack received.\n", p->name);
|
||||||
ospf_lsack_receive((struct ospf_lsack_packet *) ps, p, ifa, size);
|
ospf_lsack_receive((struct ospf_lsack_packet *) ps, ifa, size);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
log ("%s: Bad packet received: wrong type %u", p->name, ps->type);
|
log ("%s: Bad packet received: wrong type %u", p->name, ps->type);
|
||||||
|
|
Loading…
Reference in a new issue