summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2020-05-06 12:23:01 -0300
committerGitHub <noreply@github.com>2020-05-06 12:23:01 -0300
commitee02198a38a521f93e826e894c0bc76f36fbb4bd (patch)
treefa1e73070cffa0566ca5c7dee4f472126eca79fa
parent6f2f2e6172465b140c8d0c5977f509266b35d675 (diff)
parentdef23eb3952f54e4c41f62554e54c00aff016a92 (diff)
Merge pull request #6352 from volta-networks/fix_ldp_dscp
ldpd: LDP does not always send traffic with correct DSCP value.
-rw-r--r--ldpd/neighbor.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ldpd/neighbor.c b/ldpd/neighbor.c
index ae51490c07..1aa53151e6 100644
--- a/ldpd/neighbor.c
+++ b/ldpd/neighbor.c
@@ -619,6 +619,16 @@ nbr_establish_connection(struct nbr *nbr)
#endif
}
+ if (nbr->af == AF_INET) {
+ if (sock_set_ipv4_tos(nbr->fd, IPTOS_PREC_INTERNETCONTROL) == -1)
+ log_warn("%s: lsr-id %s, sock_set_ipv4_tos error",
+ __func__, inet_ntoa(nbr->id));
+ } else if (nbr->af == AF_INET6) {
+ if (sock_set_ipv6_dscp(nbr->fd, IPTOS_PREC_INTERNETCONTROL) == -1)
+ log_warn("%s: lsr-id %s, sock_set_ipv6_dscp error",
+ __func__, inet_ntoa(nbr->id));
+ }
+
addr2sa(nbr->af, &nbr->laddr, 0, &local_su);
addr2sa(nbr->af, &nbr->raddr, LDP_PORT, &remote_su);
if (nbr->af == AF_INET6 && nbr->raddr_scope)