Exemplo n.º 1
0
Arquivo: dbdes.c Projeto: yubo/bird
static void ospf_dump_dbdes(struct ospf_proto *p, struct ospf_packet *pkt)
{
    struct ospf_lsa_header *lsas;
    uint i, lsa_count;
    u32 pkt_ddseq;
    u16 pkt_iface_mtu;
    u8 pkt_imms;

    ASSERT(pkt->type == DBDES_P);
    ospf_dump_common(p, pkt);

    if (ospf_is_v2(p)) {
        struct ospf_dbdes2_packet *ps = (void *)pkt;
        pkt_iface_mtu = ntohs(ps->iface_mtu);
        pkt_imms = ps->imms;
        pkt_ddseq = ntohl(ps->ddseq);
    } else {		/* OSPFv3 */

        struct ospf_dbdes3_packet *ps = (void *)pkt;
        pkt_iface_mtu = ntohs(ps->iface_mtu);
        pkt_imms = ps->imms;
        pkt_ddseq = ntohl(ps->ddseq);
    }

    log(L_TRACE "%s:     mtu      %u", p->p.name, pkt_iface_mtu);
    log(L_TRACE "%s:     imms     %s%s%s", p->p.name,
        (pkt_imms & DBDES_I) ? "I " : "",
        (pkt_imms & DBDES_M) ? "M " : "",
        (pkt_imms & DBDES_MS) ? "MS" : "");
    log(L_TRACE "%s:     ddseq    %u", p->p.name, pkt_ddseq);

    ospf_dbdes_body(p, pkt, &lsas, &lsa_count);
    for (i = 0; i < lsa_count; i++)
        ospf_dump_lsahdr(p, lsas + i);
}
Exemplo n.º 2
0
Arquivo: lsack.c Projeto: nabeken/bird
static void ospf_dump_lsack(struct proto *p, struct ospf_lsack_packet *pkt)
{
  struct ospf_packet *op = &pkt->ospf_packet;

  ASSERT(op->type == LSACK_P);
  ospf_dump_common(p, op);

  unsigned int i, j;
  j = (ntohs(op->length) - sizeof(struct ospf_lsack_packet)) /
    sizeof(struct ospf_lsa_header);

  for (i = 0; i < j; i++)
    ospf_dump_lsahdr(p, pkt->lsh + i);
}
Exemplo n.º 3
0
static void ospf_dump_dbdes(struct proto *p, struct ospf_dbdes_packet *pkt)
{
  struct ospf_packet *op = &pkt->ospf_packet;

  ASSERT(op->type == DBDES_P);
  ospf_dump_common(p, op);
  log(L_TRACE "%s:     imms     %s%s%s",
      p->name, pkt->imms.bit.ms ? "MS " : "",
      pkt->imms.bit.m ? "M " : "",
      pkt->imms.bit.i ? "I " : "" );
  log(L_TRACE "%s:     ddseq    %u", p->name, ntohl(pkt->ddseq));

  struct ospf_lsa_header *plsa = (void *) (pkt + 1);
  unsigned int i, j;

  j = (ntohs(op->length) - sizeof(struct ospf_dbdes_packet)) /
    sizeof(struct ospf_lsa_header);

  for (i = 0; i < j; i++)
    ospf_dump_lsahdr(p, plsa + i);
}