Merge pull request #12845 from sri-mohan1/sri-mohan-ldp

ldpd: changes for code maintainability
This commit is contained in:
Donatas Abraitis 2023-02-19 11:25:12 +02:00 committed by GitHub
commit fc20f9edb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 10 deletions

View File

@ -72,12 +72,13 @@ send_address(struct nbr *nbr, int af, struct if_addr_head *addr_list,
if ((buf = ibuf_open(size)) == NULL)
fatal(__func__);
err |= gen_ldp_hdr(buf, size);
SET_FLAG(err, gen_ldp_hdr(buf, size));
size -= LDP_HDR_SIZE;
err |= gen_msg_hdr(buf, msg_type, size);
SET_FLAG(err, gen_msg_hdr(buf, msg_type, size));
size -= LDP_MSG_SIZE;
err |= gen_address_list_tlv(buf, af, addr_list, tlv_addr_count);
SET_FLAG(err, gen_address_list_tlv(buf, af, addr_list, tlv_addr_count));
(void)size;
if (err) {
address_list_clr(addr_list);
ibuf_free(buf);
@ -158,10 +159,12 @@ send_mac_withdrawal(struct nbr *nbr, struct map *fec, uint8_t *mac)
err = gen_ldp_hdr(buf, size);
size -= LDP_HDR_SIZE;
err |= gen_msg_hdr(buf, MSG_TYPE_ADDRWITHDRAW, size);
err |= gen_address_list_tlv(buf, AF_INET, NULL, 0);
err |= gen_fec_tlv(buf, fec);
err |= gen_mac_list_tlv(buf, mac);
SET_FLAG(err, gen_msg_hdr(buf, MSG_TYPE_ADDRWITHDRAW, size));
SET_FLAG(err, gen_address_list_tlv(buf, AF_INET, NULL, 0));
SET_FLAG(err, gen_fec_tlv(buf, fec));
SET_FLAG(err, gen_mac_list_tlv(buf, mac));
if (err) {
ibuf_free(buf);
return;
@ -340,12 +343,14 @@ gen_address_list_tlv(struct ibuf *buf, int af, struct if_addr_head *addr_list,
}
alt.length = htons(sizeof(alt.family) + addr_size * tlv_addr_count);
err |= ibuf_add(buf, &alt, sizeof(alt));
SET_FLAG(err, ibuf_add(buf, &alt, sizeof(alt)));
if (addr_list == NULL)
return (err);
LIST_FOREACH(if_addr, addr_list, entry) {
err |= ibuf_add(buf, &if_addr->addr, addr_size);
SET_FLAG(err, ibuf_add(buf, &if_addr->addr, addr_size));
if (--tlv_addr_count == 0)
break;
}
@ -365,7 +370,7 @@ gen_mac_list_tlv(struct ibuf *buf, uint8_t *mac)
tlv.length = htons(ETH_ALEN);
err = ibuf_add(buf, &tlv, sizeof(tlv));
if (mac)
err |= ibuf_add(buf, mac, ETH_ALEN);
SET_FLAG(err, ibuf_add(buf, mac, ETH_ALEN));
return (err);
}