Lines Matching refs:msg

103 	struct ibuf		*msg;  in mrt_parse()  local
105 while ((msg = mrt_read_msg(fd, &h)) != NULL) { in mrt_parse()
106 if (ibuf_size(msg) != ntohl(h.length)) in mrt_parse()
107 errx(1, "corrupt message, %zu vs %u", ibuf_size(msg), in mrt_parse()
140 if (mrt_parse_dump(&h, msg, &pctx, &r) == 0) { in mrt_parse()
160 pctx = mrt_parse_v2_peer(&h, msg); in mrt_parse()
174 r = mrt_parse_v2_rib(&h, msg, verbose); in mrt_parse()
193 if (mrt_parse_state(&s, &h, msg, in mrt_parse()
207 if (mrt_parse_msg(&m, &h, msg, verbose) != -1) { in mrt_parse()
215 if (mrt_parse_dump_mp(&h, msg, &pctx, &r, in mrt_parse()
234 ibuf_free(msg); in mrt_parse()
265 mrt_parse_v2_peer(struct mrt_hdr *hdr, struct ibuf *msg) in mrt_parse_v2_peer() argument
272 if (ibuf_size(msg) < 8) /* min msg size */ in mrt_parse_v2_peer()
280 if (ibuf_get_n32(msg, &bid) == -1 || in mrt_parse_v2_peer()
281 ibuf_get_n16(msg, &cnt) == -1) in mrt_parse_v2_peer()
288 if (ibuf_get(msg, p->view, cnt) == -1) in mrt_parse_v2_peer()
296 if (ibuf_get_n16(msg, &cnt) == -1) in mrt_parse_v2_peer()
305 if (ibuf_get_n8(msg, &type) == -1 || in mrt_parse_v2_peer()
306 ibuf_get_n32(msg, &peers[i].bgp_id) == -1) in mrt_parse_v2_peer()
310 if (mrt_extract_addr(msg, &peers[i].addr, in mrt_parse_v2_peer()
314 if (mrt_extract_addr(msg, &peers[i].addr, in mrt_parse_v2_peer()
320 if (ibuf_get_n32(msg, &peers[i].asnum) == -1) in mrt_parse_v2_peer()
325 if (ibuf_get_n16(msg, &as2) == -1) in mrt_parse_v2_peer()
340 mrt_parse_v2_rib(struct mrt_hdr *hdr, struct ibuf *msg, int verbose) in mrt_parse_v2_rib() argument
352 if (ibuf_get_n32(msg, &r->seqnum) == -1) in mrt_parse_v2_rib()
363 if (mrt_extract_prefix(msg, AID_INET, &r->prefix, in mrt_parse_v2_rib()
374 if (mrt_extract_prefix(msg, AID_INET6, &r->prefix, in mrt_parse_v2_rib()
388 if (ibuf_get_n16(msg, &afi) == -1 || in mrt_parse_v2_rib()
389 ibuf_get_n8(msg, &safi) == -1) in mrt_parse_v2_rib()
396 if (mrt_extract_prefix(msg, aid, &r->prefix, in mrt_parse_v2_rib()
405 if (ibuf_get_n16(msg, &r->nentries) == -1) in mrt_parse_v2_rib()
418 if (ibuf_get_n16(msg, &entries[i].peer_idx) == -1) in mrt_parse_v2_rib()
422 if (ibuf_get_n32(msg, &otm) == -1) in mrt_parse_v2_rib()
427 if (ibuf_get_n32(msg, &entries[i].path_id) == -1) in mrt_parse_v2_rib()
432 if (ibuf_get_n16(msg, &alen) == -1 || in mrt_parse_v2_rib()
433 ibuf_get_ibuf(msg, alen, &abuf) == -1) in mrt_parse_v2_rib()
450 mrt_parse_dump(struct mrt_hdr *hdr, struct ibuf *msg, struct mrt_peer **pp, in mrt_parse_dump() argument
480 if (ibuf_skip(msg, sizeof(uint16_t)) == -1 || /* view */ in mrt_parse_dump()
481 ibuf_get_n16(msg, &tmp16) == -1) /* seqnum */ in mrt_parse_dump()
487 if (mrt_extract_addr(msg, &r->prefix, AID_INET) == -1) in mrt_parse_dump()
491 if (mrt_extract_addr(msg, &r->prefix, AID_INET6) == -1) in mrt_parse_dump()
495 if (ibuf_get_n8(msg, &r->prefixlen) == -1 || /* prefixlen */ in mrt_parse_dump()
496 ibuf_skip(msg, 1) == -1 || /* status */ in mrt_parse_dump()
497 ibuf_get_n32(msg, &tmp32) == -1) /* originated */ in mrt_parse_dump()
503 if (mrt_extract_addr(msg, &p->peers->addr, AID_INET) == -1) in mrt_parse_dump()
507 if (mrt_extract_addr(msg, &p->peers->addr, AID_INET6) == -1) in mrt_parse_dump()
511 if (ibuf_get_n16(msg, &tmp16) == -1) in mrt_parse_dump()
515 if (ibuf_get_n16(msg, &alen) == -1 || in mrt_parse_dump()
516 ibuf_get_ibuf(msg, alen, &abuf) == -1) in mrt_parse_dump()
529 mrt_parse_dump_mp(struct mrt_hdr *hdr, struct ibuf *msg, struct mrt_peer **pp, in mrt_parse_dump_mp() argument
562 if (ibuf_skip(msg, sizeof(uint32_t)) == -1) in mrt_parse_dump_mp()
566 if (ibuf_skip(msg, sizeof(uint16_t)) == -1 || /* source AS */ in mrt_parse_dump_mp()
567 ibuf_get_n16(msg, &asnum) == -1 || /* dest AS */ in mrt_parse_dump_mp()
568 ibuf_skip(msg, sizeof(uint16_t)) == -1 || /* iface index */ in mrt_parse_dump_mp()
569 ibuf_get_n16(msg, &afi) == -1) in mrt_parse_dump_mp()
577 if (ibuf_skip(msg, sizeof(struct in_addr)) == -1) in mrt_parse_dump_mp()
580 if (mrt_extract_addr(msg, &p->peers->addr, AID_INET) == -1) in mrt_parse_dump_mp()
585 if (ibuf_skip(msg, sizeof(struct in6_addr)) == -1) in mrt_parse_dump_mp()
588 if (mrt_extract_addr(msg, &p->peers->addr, AID_INET6) == -1) in mrt_parse_dump_mp()
593 if (ibuf_skip(msg, sizeof(uint16_t)) == -1 || /* view */ in mrt_parse_dump_mp()
594 ibuf_skip(msg, sizeof(uint16_t)) == -1 || /* status */ in mrt_parse_dump_mp()
595 ibuf_get_n32(msg, &tmp32) == -1) /* originated */ in mrt_parse_dump_mp()
599 if (ibuf_get_n16(msg, &afi) == -1 || /* afi */ in mrt_parse_dump_mp()
600 ibuf_get_n8(msg, &safi) == -1) /* safi */ in mrt_parse_dump_mp()
605 if (ibuf_get_n8(msg, &nhlen) == -1) /* nhlen */ in mrt_parse_dump_mp()
609 if (mrt_extract_addr(msg, &re->nexthop, aid) == -1) in mrt_parse_dump_mp()
613 if (mrt_extract_prefix(msg, aid, &r->prefix, &r->prefixlen, in mrt_parse_dump_mp()
617 if (ibuf_get_n16(msg, &alen) == -1 || in mrt_parse_dump_mp()
618 ibuf_get_ibuf(msg, alen, &abuf) == -1) in mrt_parse_dump_mp()
835 mrt_extract_addr(struct ibuf *msg, struct bgpd_addr *addr, uint8_t aid) in mrt_extract_addr() argument
840 if (ibuf_get(msg, &addr->v4, sizeof(addr->v4)) == -1) in mrt_extract_addr()
844 if (ibuf_get(msg, &addr->v6, sizeof(addr->v6)) == -1) in mrt_extract_addr()
849 if (ibuf_skip(msg, sizeof(uint64_t)) == -1 || in mrt_extract_addr()
850 ibuf_get(msg, &addr->v4, sizeof(addr->v4)) == -1) in mrt_extract_addr()
855 if (ibuf_skip(msg, sizeof(uint64_t)) == -1 || in mrt_extract_addr()
856 ibuf_get(msg, &addr->v6, sizeof(addr->v6)) == -1) in mrt_extract_addr()
867 mrt_extract_prefix(struct ibuf *msg, uint8_t aid, struct bgpd_addr *prefix, in mrt_extract_prefix() argument
874 r = nlri_get_prefix(msg, prefix, prefixlen); in mrt_extract_prefix()
877 r = nlri_get_prefix6(msg, prefix, prefixlen); in mrt_extract_prefix()
880 r = nlri_get_vpn4(msg, prefix, prefixlen, 0); in mrt_extract_prefix()
883 r = nlri_get_vpn6(msg, prefix, prefixlen, 0); in mrt_extract_prefix()
896 mrt_parse_state(struct mrt_bgp_state *s, struct mrt_hdr *hdr, struct ibuf *msg, in mrt_parse_state() argument
909 if (ibuf_get_n32(msg, &usec) == -1) in mrt_parse_state()
916 if (ibuf_get_n16(msg, &sas16) == -1 || /* source as */ in mrt_parse_state()
917 ibuf_get_n16(msg, &das16) == -1 || /* dest as */ in mrt_parse_state()
918 ibuf_skip(msg, 2) == -1 || /* if_index */ in mrt_parse_state()
919 ibuf_get_n16(msg, &afi) == -1) /* afi */ in mrt_parse_state()
925 if (ibuf_get_n32(msg, &sas) == -1 || /* source as */ in mrt_parse_state()
926 ibuf_get_n32(msg, &das) == -1 || /* dest as */ in mrt_parse_state()
927 ibuf_skip(msg, 2) == -1 || /* if_index */ in mrt_parse_state()
928 ibuf_get_n16(msg, &afi) == -1) /* afi */ in mrt_parse_state()
944 if (mrt_extract_addr(msg, &s->src, aid) == -1) in mrt_parse_state()
946 if (mrt_extract_addr(msg, &s->dst, aid) == -1) in mrt_parse_state()
950 if (ibuf_get_n16(msg, &s->old_state) == -1 || in mrt_parse_state()
951 ibuf_get_n16(msg, &s->new_state) == -1) in mrt_parse_state()
958 mrt_parse_msg(struct mrt_bgp_msg *m, struct mrt_hdr *hdr, struct ibuf *msg, in mrt_parse_msg() argument
972 if (ibuf_get_n32(msg, &usec) == -1) in mrt_parse_msg()
984 if (ibuf_get_n16(msg, &sas16) == -1 || /* source as */ in mrt_parse_msg()
985 ibuf_get_n16(msg, &das16) == -1 || /* dest as */ in mrt_parse_msg()
986 ibuf_skip(msg, 2) == -1 || /* if_index */ in mrt_parse_msg()
987 ibuf_get_n16(msg, &afi) == -1) /* afi */ in mrt_parse_msg()
998 if (ibuf_get_n32(msg, &sas) == -1 || /* source as */ in mrt_parse_msg()
999 ibuf_get_n32(msg, &das) == -1 || /* dest as */ in mrt_parse_msg()
1000 ibuf_skip(msg, 2) == -1 || /* if_index */ in mrt_parse_msg()
1001 ibuf_get_n16(msg, &afi) == -1) /* afi */ in mrt_parse_msg()
1018 if (mrt_extract_addr(msg, &m->src, aid) == -1 || in mrt_parse_msg()
1019 mrt_extract_addr(msg, &m->dst, aid) == -1) in mrt_parse_msg()
1023 ibuf_from_ibuf(&m->msg, msg); in mrt_parse_msg()