e1_input: Allow (vty) configuration of IP DSCP and socket priority

Change-Id: I8991dd6eb406a5b9a70498974fc1ad339452f871
Related: SYS#5427
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c
index be882a9..e876790 100644
--- a/src/input/ipaccess.c
+++ b/src/input/ipaccess.c
@@ -1,6 +1,6 @@
 /* OpenBSC Abis input driver for ip.access */
 
-/* (C) 2009 by Harald Welte <laforge@gnumonks.org>
+/* (C) 2009-2021 by Harald Welte <laforge@gnumonks.org>
  * (C) 2010 by Holger Hans Peter Freyther
  * (C) 2010 by On-Waves
  *
@@ -51,6 +51,9 @@
 #include <osmocom/core/backtrace.h>
 #include <osmocom/gsm/ipa.h>
 
+/* global parameters of IPA input driver */
+struct ipa_pars g_e1inp_ipaccess_pars;
+
 static void *tall_ipa_ctx;
 
 #define TS1_ALLOC_SIZE	900
@@ -1041,6 +1044,8 @@
 				"BSC link: %s\n", strerror(errno));
 			return -ENOMEM;
 		}
+		oml_link->dscp = g_e1inp_ipaccess_pars.oml.dscp;
+		oml_link->priority = g_e1inp_ipaccess_pars.oml.priority;
 		if (ipa_server_link_open(oml_link) < 0) {
 			LOGP(DLINP, LOGL_ERROR, "cannot open OML BSC link: %s\n",
 				strerror(errno));
@@ -1055,6 +1060,8 @@
 				"BSC link: %s\n", strerror(errno));
 			return -ENOMEM;
 		}
+		rsl_link->dscp = g_e1inp_ipaccess_pars.rsl.dscp;
+		rsl_link->priority = g_e1inp_ipaccess_pars.rsl.priority;
 		if (ipa_server_link_open(rsl_link) < 0) {
 			LOGP(DLINP, LOGL_ERROR, "cannot open RSL BSC link: %s\n",
 				strerror(errno));
@@ -1087,6 +1094,8 @@
 				"BTS link: %s\n", strerror(errno));
 			return -ENOMEM;
 		}
+		link->dscp = g_e1inp_ipaccess_pars.oml.dscp;
+		link->priority = g_e1inp_ipaccess_pars.oml.priority;
 		if (ipa_client_conn_open(link) < 0) {
 			LOGP(DLINP, LOGL_ERROR, "cannot open OML BTS link: %s\n",
 				strerror(errno));
@@ -1141,6 +1150,8 @@
 			"BTS link: %s\n", strerror(errno));
 		return -ENOMEM;
 	}
+	rsl_link->dscp = g_e1inp_ipaccess_pars.rsl.dscp;
+	rsl_link->priority = g_e1inp_ipaccess_pars.rsl.priority;
 	if (ipa_client_conn_open(rsl_link) < 0) {
 		LOGP(DLINP, LOGL_ERROR, "cannot open RSL BTS link: %s\n",
 			strerror(errno));