summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2019-09-24 10:44:01 -0400
committerGitHub <noreply@github.com>2019-09-24 10:44:01 -0400
commit5ed07cdfc8f19c8128b46a2d2509af5fad21e84b (patch)
treeb76685f0cad4b462a002857a43e79973c2be12c5
parente4bf00fdf94e48ca7f14b1d038b849c191c91bea (diff)
parent9036d0ef1a7156780cf2c3118001144751dacc8c (diff)
Merge pull request #5045 from satheeshkarra/pim_tos
pimd: Mark Default TOS Values for PIM & IGMP Outgoing packets
-rw-r--r--pimd/pim_pim.c1
-rw-r--r--pimd/pim_sock.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c
index 12b28ed9af..cd2d306f3d 100644
--- a/pimd/pim_pim.c
+++ b/pimd/pim_pim.c
@@ -574,6 +574,7 @@ int pim_msg_send(int fd, struct in_addr src, struct in_addr dst,
ip->ip_id = htons(++ip_id);
ip->ip_hl = 5;
ip->ip_v = 4;
+ ip->ip_tos = IPTOS_PREC_INTERNETCONTROL;
ip->ip_p = PIM_IP_PROTO_PIM;
ip->ip_src = src;
ip->ip_dst = dst;
diff --git a/pimd/pim_sock.c b/pimd/pim_sock.c
index 82255cd3b0..7f03e18389 100644
--- a/pimd/pim_sock.c
+++ b/pimd/pim_sock.c
@@ -255,6 +255,12 @@ int pim_socket_mcast(int protocol, struct in_addr ifaddr, struct interface *ifp,
}
}
+ /* Set Tx socket DSCP byte */
+ if (setsockopt_ipv4_tos(fd, IPTOS_PREC_INTERNETCONTROL)) {
+ zlog_warn("can't set sockopt IP_TOS to PIM/IGMP socket %d: %s",
+ fd, safe_strerror(errno));
+ }
+
return fd;
}