From 9be675ea52c2da4b7e2de3339e3d600efc8a853b Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 21 Jan 2015 11:39:47 +0100 Subject: mgcp: Honor the rtp IP_TOS settings for Osmux Honor the IP_TOS settings for Osmux as well. Re-use the RTP setting as it makes sense to classify the audio packets the same way. Fixes: OW#1369 --- openbsc/src/libmgcp/mgcp_network.c | 6 +++--- openbsc/src/libmgcp/mgcp_osmux.c | 1 + openbsc/src/libmgcp/mgcp_vty.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) (limited to 'openbsc/src') diff --git a/openbsc/src/libmgcp/mgcp_network.c b/openbsc/src/libmgcp/mgcp_network.c index 37fc59aec..c3f43dd39 100644 --- a/openbsc/src/libmgcp/mgcp_network.c +++ b/openbsc/src/libmgcp/mgcp_network.c @@ -901,7 +901,7 @@ int mgcp_create_bind(const char *source_addr, struct osmo_fd *fd, int port) return 0; } -static int set_ip_tos(int fd, int tos) +int mgcp_set_ip_tos(int fd, int tos) { int ret; ret = setsockopt(fd, IPPROTO_IP, IP_TOS, @@ -925,8 +925,8 @@ static int bind_rtp(struct mgcp_config *cfg, struct mgcp_rtp_end *rtp_end, int e goto cleanup1; } - set_ip_tos(rtp_end->rtp.fd, cfg->endp_dscp); - set_ip_tos(rtp_end->rtcp.fd, cfg->endp_dscp); + mgcp_set_ip_tos(rtp_end->rtp.fd, cfg->endp_dscp); + mgcp_set_ip_tos(rtp_end->rtcp.fd, cfg->endp_dscp); rtp_end->rtp.when = BSC_FD_READ; if (osmo_fd_register(&rtp_end->rtp) != 0) { diff --git a/openbsc/src/libmgcp/mgcp_osmux.c b/openbsc/src/libmgcp/mgcp_osmux.c index d5e671d06..7f61173a1 100644 --- a/openbsc/src/libmgcp/mgcp_osmux.c +++ b/openbsc/src/libmgcp/mgcp_osmux.c @@ -420,6 +420,7 @@ int osmux_init(int role, struct mgcp_config *cfg) LOGP(DMGCP, LOGL_ERROR, "cannot bind OSMUX socket\n"); return ret; } + mgcp_set_ip_tos(osmux_fd.fd, cfg->endp_dscp); osmux_fd.when |= BSC_FD_READ; ret = osmo_fd_register(&osmux_fd); diff --git a/openbsc/src/libmgcp/mgcp_vty.c b/openbsc/src/libmgcp/mgcp_vty.c index 5124ca670..3d99c83b7 100644 --- a/openbsc/src/libmgcp/mgcp_vty.c +++ b/openbsc/src/libmgcp/mgcp_vty.c @@ -378,7 +378,7 @@ DEFUN(cfg_mgcp_rtp_ip_dscp, cfg_mgcp_rtp_ip_dscp_cmd, "rtp ip-dscp <0-255>", RTP_STR - "Apply IP_TOS to the audio stream\n" "The DSCP value\n") + "Apply IP_TOS to the audio stream (including Osmux)\n" "The DSCP value\n") { int dscp = atoi(argv[0]); g_cfg->endp_dscp = dscp; -- cgit v1.2.3