diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2022-03-27 11:50:40 +0200 | 
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2022-03-28 14:13:23 +0200 | 
| commit | 145e4c38b9d4b02f40a233cf6d83df0ef90b3902 (patch) | |
| tree | 0e85c0d3c5f4dd2b0211535a32fd84f02963777d /pimd/pim_join.c | |
| parent | b6d9ad298d625c9ac18f45dd0591b7d51473f12d (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_join.c')
| -rw-r--r-- | pimd/pim_join.c | 13 | 
1 files changed, 9 insertions, 4 deletions
diff --git a/pimd/pim_join.c b/pimd/pim_join.c index 2c11d5d13f..88078dd366 100644 --- a/pimd/pim_join.c +++ b/pimd/pim_join.c @@ -488,7 +488,9 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)  		group_size = pim_msg_get_jp_group_size(group->sources);  		if (group_size > packet_left) { -			pim_msg_build_header(pim_msg, packet_size, +			pim_msg_build_header(pim_ifp->primary_address, +					     qpim_all_pim_routers_addr, pim_msg, +					     packet_size,  					     PIM_MSG_TYPE_JOIN_PRUNE, false);  			if (pim_msg_send(pim_ifp->pim_sock_fd,  					 pim_ifp->primary_address, @@ -544,7 +546,9 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)  		grp = (struct pim_jp_groups *)curr_ptr;  		if (packet_left < sizeof(struct pim_jp_groups)  		    || msg->num_groups == 255) { -			pim_msg_build_header(pim_msg, packet_size, +			pim_msg_build_header(pim_ifp->primary_address, +					     qpim_all_pim_routers_addr, pim_msg, +					     packet_size,  					     PIM_MSG_TYPE_JOIN_PRUNE, false);  			if (pim_msg_send(pim_ifp->pim_sock_fd,  					 pim_ifp->primary_address, @@ -564,8 +568,9 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)  	if (!new_packet) {  		// msg->num_groups = htons (msg->num_groups); -		pim_msg_build_header(pim_msg, packet_size, -				     PIM_MSG_TYPE_JOIN_PRUNE, false); +		pim_msg_build_header( +			pim_ifp->primary_address, qpim_all_pim_routers_addr, +			pim_msg, packet_size, PIM_MSG_TYPE_JOIN_PRUNE, false);  		if (pim_msg_send(pim_ifp->pim_sock_fd, pim_ifp->primary_address,  				 qpim_all_pim_routers_addr, pim_msg,  				 packet_size,  | 
