changeset 35:c0ce22777694

add helper functions for DSCP and socket priority
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 09 Jul 2024 01:56:26 +0000
parents fc77c3482084
children 84affc6de365
files include/endp.h src/Makefile src/set_dscp_prio.c
diffstat 3 files changed, 35 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/include/endp.h	Tue Jul 09 01:00:27 2024 +0000
+++ b/include/endp.h	Tue Jul 09 01:56:26 2024 +0000
@@ -98,3 +98,6 @@
 			const char *name, const char *email, const char *phone,
 			const char *loc, const char *tool, const char *note);
 int twrtp_endp_send_rtcp_rr(struct twrtp_endp *endp);
+
+int twrtp_endp_set_dscp(struct twrtp_endp *endp, uint8_t dscp);
+int twrtp_endp_set_socket_prio(struct twrtp_endp *endp, int prio);
--- a/src/Makefile	Tue Jul 09 01:00:27 2024 +0000
+++ b/src/Makefile	Tue Jul 09 01:56:26 2024 +0000
@@ -1,6 +1,6 @@
 OBJS=	bind_fdpair.o endp_bind.o endp_create.o endp_register.o rtcp_rx.o \
-	rtcp_tx.o rtp_rx.o rtp_tx.o set_remote.o set_sdes.o twjit.o twjit_in.o \
-	twjit_out.o twjit_vty.o
+	rtcp_tx.o rtp_rx.o rtp_tx.o set_dscp_prio.o set_remote.o set_sdes.o \
+	twjit.o twjit_in.o twjit_out.o twjit_vty.o
 LIB=	libtwrtp.a
 
 include ../config.defs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/set_dscp_prio.c	Tue Jul 09 01:56:26 2024 +0000
@@ -0,0 +1,30 @@
+/*
+ * Wrapper functions for setting DSCP and socket priority
+ * on both RTP and RTCP sockets.
+ */
+
+#include <stdint.h>
+
+#include <osmocom/core/socket.h>
+
+#include <themwi/rtp/endp.h>
+
+int twrtp_endp_set_dscp(struct twrtp_endp *endp, uint8_t dscp)
+{
+	int rc;
+
+	rc = osmo_sock_set_dscp(endp->rtp_fd, dscp);
+	if (rc < 0)
+		return rc;
+	return osmo_sock_set_dscp(endp->rtcp_fd, dscp);
+}
+
+int twrtp_endp_set_socket_prio(struct twrtp_endp *endp, int prio)
+{
+	int rc;
+
+	rc = osmo_sock_set_priority(endp->rtp_fd, prio);
+	if (rc < 0)
+		return rc;
+	return osmo_sock_set_priority(endp->rtcp_fd, prio);
+}