summaryrefslogtreecommitdiff
path: root/pimd/pim_sock.c
diff options
context:
space:
mode:
authorSatheesh Kumar K <sathk@cumulusnetworks.com>2019-09-23 20:45:05 -0700
committerSatheesh Kumar K <sathk@cumulusnetworks.com>2019-09-23 23:03:12 -0700
commit9036d0ef1a7156780cf2c3118001144751dacc8c (patch)
tree90df54337efa3de19d55ee382ced91b8543fae98 /pimd/pim_sock.c
parent5034c882bfaf8d6c703ad5aa70a8a9652d7b6f24 (diff)
pimd: Mark Default TOS Values for PIM & IGMP Outgoing packets
This will facilitate the Hardware to prefer control packets over Normal Data packets while queuing, so that during congestion, the chance of dropping control packet will be minimised. Signed-off-by: Satheesh Kumar K <sathk@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_sock.c')
-rw-r--r--pimd/pim_sock.c6
1 files changed, 6 insertions, 0 deletions
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;
}