add LOG_RAN_CONN() to use the conn->fi->id for context

For each conn, set a default logging category, to distinguish categories for
BSSMAP and RANAP based conns.

LOG_RAN_CONN(): log with the conn's default category,

LOG_RAN_CONN_CAT(): log with a manually set category (mostly for keeping
previous DMM logging on the same category).

In some places, replace LOGP() using manual context with LOG_RAN_CONN(), and
remove the manual context info, now provided by the conn->fi->id.

This is loosely related to inter-BSC and inter-MSC handover: to speed up
refactoring, I want to avoid the need for manual logging context and just use
this LOG_RAN_CONN().

Change-Id: I0a7809840428b1e028df6eb683bc5ffcc8df474a
diff --git a/include/osmocom/msc/a_iface.h b/include/osmocom/msc/a_iface.h
index b1b6c1c..2d11cca 100644
--- a/include/osmocom/msc/a_iface.h
+++ b/include/osmocom/msc/a_iface.h
@@ -25,14 +25,6 @@
 #include <osmocom/msc/vlr.h>
 #include <osmocom/gsm/protocol/gsm_08_08.h>
 
-#define LOGPCONN(conn, level, fmt, args...) \
-	LOGP(DBSSAP, level, "(subscr %s, conn_id %d) " fmt, \
-	     vlr_subscr_name(conn ? conn->vsub : NULL), conn ? conn->a.conn_id : -1, \
-	     ## args)
-
-#define LOGPBSCCONN(conn, level, fmt, args...) \
-	LOGP(DBSSAP, level, "(conn_id %u) " fmt, conn ? conn->conn_id : (uint32_t)(-1), ## args)
-
 /* A struct to keep a context information about the BSCs we are associated with */
 struct bsc_context {
 	struct llist_head list;
diff --git a/include/osmocom/msc/ran_conn.h b/include/osmocom/msc/ran_conn.h
index 4aa771e..d134c30 100644
--- a/include/osmocom/msc/ran_conn.h
+++ b/include/osmocom/msc/ran_conn.h
@@ -8,6 +8,12 @@
 #include <osmocom/mgcp_client/mgcp_client.h>
 #include <osmocom/gsm/gsm_utils.h>
 
+#define LOG_RAN_CONN(conn, level, fmt, args ...) \
+	LOG_RAN_CONN_CAT(conn, (conn) ? (conn)->log_subsys : DMSC, level, fmt, ## args)
+
+#define LOG_RAN_CONN_CAT(conn, subsys, level, fmt, args ...) \
+	LOGPFSMSL((conn)? (conn)->fi : NULL, subsys, level, fmt, ## args)
+
 enum ran_conn_fsm_event {
 	/* Accepted the initial Complete Layer 3 (starting to evaluate Authentication and Ciphering) */
 	RAN_CONN_E_COMPLETE_LAYER_3,
@@ -107,6 +113,8 @@
 
 	/* connected via 2G or 3G? */
 	enum osmo_rat_type via_ran;
+	/* whether to log on DBSSAP, DIUCS, ... */
+	int log_subsys;
 
 	uint16_t lac;
 	struct geran_encr geran_encr;