summaryrefslogtreecommitdiff
path: root/pimd/pim_register.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2022-03-27 11:50:40 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2022-03-28 14:13:23 +0200
commit145e4c38b9d4b02f40a233cf6d83df0ef90b3902 (patch)
tree0e85c0d3c5f4dd2b0211535a32fd84f02963777d /pimd/pim_register.c
parentb6d9ad298d625c9ac18f45dd0591b7d51473f12d (diff)
pim6d: include IPv6 pseudoheader in TX checksums
Lots of passing src/dst around, but it is what it is. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'pimd/pim_register.c')
-rw-r--r--pimd/pim_register.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pimd/pim_register.c b/pimd/pim_register.c
index 7fa36e5a44..45bcad3c26 100644
--- a/pimd/pim_register.c
+++ b/pimd/pim_register.c
@@ -88,7 +88,8 @@ void pim_register_stop_send(struct interface *ifp, pim_sgaddr *sg,
length = pim_encode_addr_ucast(b1, sg->src);
b1length += length;
- pim_msg_build_header(buffer, b1length + PIM_MSG_REGISTER_STOP_LEN,
+ pim_msg_build_header(src, originator, buffer,
+ b1length + PIM_MSG_REGISTER_STOP_LEN,
PIM_MSG_TYPE_REG_STOP, false);
pinfo = (struct pim_interface *)ifp->info;
@@ -261,7 +262,8 @@ void pim_register_send(const uint8_t *buf, int buf_size, struct in_addr src,
memcpy(b1, (const unsigned char *)buf, buf_size);
- pim_msg_build_header(buffer, buf_size + PIM_MSG_REGISTER_LEN,
+ pim_msg_build_header(src, rpg->rpf_addr.u.prefix4, buffer,
+ buf_size + PIM_MSG_REGISTER_LEN,
PIM_MSG_TYPE_REGISTER, false);
++pinfo->pim_ifstat_reg_send;