summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_network.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_network.c')
-rw-r--r--bgpd/bgp_network.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c
index 71f3ec7d..fb8a7dd3 100644
--- a/bgpd/bgp_network.c
+++ b/bgpd/bgp_network.c
@@ -314,6 +314,14 @@ bgp_connect (struct peer *peer)
sockopt_reuseaddr (peer->fd);
sockopt_reuseport (peer->fd);
+<<<<<<< HEAD:bgpd/bgp_network.c
+=======
+#ifdef IPTOS_PREC_INTERNETCONTROL
+ if (sockunion_family (&peer->su) == AF_INET)
+ setsockopt_ipv4_tos (peer->fd, IPTOS_PREC_INTERNETCONTROL);
+#endif
+
+>>>>>>> 41dc3488cf127a1e23333459a0c316ded67f7ff3:bgpd/bgp_network.c
if (peer->password)
bgp_md5_set_connect (peer->fd, &peer->su, peer->password);
@@ -402,6 +410,11 @@ bgp_socket (struct bgp *bgp, unsigned short port, char *address)
sockopt_reuseaddr (sock);
sockopt_reuseport (sock);
+#ifdef IPTOS_PREC_INTERNETCONTROL
+ if (ainfo->ai_family == AF_INET)
+ setsockopt_ipv4_tos (sock, IPTOS_PREC_INTERNETCONTROL);
+#endif
+
if (bgpd_privs.change (ZPRIVS_RAISE) )
zlog_err ("bgp_socket: could not raise privs");
@@ -454,6 +467,10 @@ bgp_socket (struct bgp *bgp, unsigned short port, char *address)
sockopt_reuseaddr (sock);
sockopt_reuseport (sock);
+#ifdef IPTOS_PREC_INTERNETCONTROL
+ setsockopt_ipv4_tos (sock, IPTOS_PREC_INTERNETCONTROL);
+#endif
+
memset (&sin, 0, sizeof (struct sockaddr_in));
sin.sin_family = AF_INET;