mtp: Rename link_no to nr, add a name like for the other commands
diff --git a/include/mtp_data.h b/include/mtp_data.h
index 48a2b10..969a4de 100644
--- a/include/mtp_data.h
+++ b/include/mtp_data.h
@@ -95,6 +95,8 @@
  */
 struct mtp_link {
 	struct llist_head entry;
+	int nr;
+	char *name;
 
 	int pcap_fd;
 	struct mtp_link_set *set;
@@ -109,7 +111,6 @@
 	int blocked;
 
 	int first_sls;
-	int link_no;
 	int sltm_pending;
 	int was_up;
 
diff --git a/src/link_udp.c b/src/link_udp.c
index b7d9200..8bde031 100644
--- a/src/link_udp.c
+++ b/src/link_udp.c
@@ -116,31 +116,31 @@
 	}
 
 	if (hdr->data_type == UDP_DATA_RETR_COMPL || hdr->data_type == UDP_DATA_RETR_IMPOS) {
-		LOGP(DINP, LOGL_ERROR, "Link retrieval done on %s/%d.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR, "Link retrieval done on %d/%s of %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		mtp_link_failure(link);
 		goto exit;
 	} else if (hdr->data_type == UDP_DATA_LINK_UP) {
-		LOGP(DINP, LOGL_NOTICE, "Link of %s/%d is up.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_NOTICE, "Link of %d/%s of %d/%s is up.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		mtp_link_up(link);
 		goto exit;
 	} else if (hdr->data_type == UDP_DATA_LINK_DOWN) {
-		LOGP(DINP, LOGL_NOTICE, "Link of %s/%d is down.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_NOTICE, "Link of %d/%s of %d/%s is down.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		mtp_link_failure(link);
 		goto exit;
 	} else if (hdr->data_type > UDP_DATA_MSU_PRIO_3) {
-		LOGP(DINP, LOGL_ERROR, "Link failue on %s/%d.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR, "Link failue on %d/%s of %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		mtp_link_failure(link);
 		goto exit;
 	}
 
 	/* throw away data as the link is down */
 	if (link->set->available == 0) {
-		LOGP(DINP, LOGL_ERROR, "Link %s/%d is down. Not forwarding.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR, "Link %d/%s of %d/%s is down. Not forwarding.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		rc = 0;
 		goto exit;
 	}
@@ -148,16 +148,19 @@
 	length = ntohl(hdr->data_length);
 	if (length + sizeof(*hdr) > (unsigned int) rc) {
 		LOGP(DINP, LOGL_ERROR,
-		     "The MSU payload does not fit: %u + %u > %d on %s/%d.\n",
-		     length, sizeof(*hdr), rc, link->set->name, link->link_no);
+		     "The MSU payload does not fit: %u + %u > %d on link %d/%s of %d/%s.\n",
+		     length, sizeof(*hdr), rc,
+		     link->nr, link->name, link->set->nr, link->set->name);
+		rc = 0;
 		rc = -1;
 		goto exit;
 	}
 
 	msg->l2h = msgb_put(msg, length);
 
-	LOGP(DINP, LOGL_DEBUG, "MSU data on: %s/%d data %s.\n",
-	     link->set->name, link->link_no, hexdump(msg->data, msg->len));
+	LOGP(DINP, LOGL_DEBUG, "MSU data on link %d/%s of %d/%s data %s.\n",
+	     link->nr, link->name, link->set->nr, link->set->name,
+	     hexdump(msg->data, msg->len));
 	mtp_handle_pcap(link, NET_IN, msg->l2h, msgb_l2len(msg));
 	mtp_link_set_data(link, msg);
 
@@ -211,8 +214,8 @@
 	msg->cb[0] = ulnk->link_index;
 
 	if (write_queue_enqueue(&ulnk->data->write_queue, msg) != 0) {
-		LOGP(DINP, LOGL_ERROR, "Failed to enqueue msg on %s/%d.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR, "Failed to enqueue msg on link %d/%s of %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		msgb_free(msg);
 		return -1;
 	}
@@ -322,8 +325,9 @@
 	link = ulink->base;
 
 	if (res == SNMP_STATUS_TIMEOUT && !link->blocked) {
-		LOGP(DINP, LOGL_ERROR, "Failed to restart link: %s/%d\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR,
+		     "Failed to restart link %d/%s of linkset %d/%s\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		udp_link_reset(link);
 		return;
 	}
@@ -343,12 +347,15 @@
 			link->link_activate.data = ulink;
 			bsc_schedule_timer(&link->link_activate, ulink->reset_timeout, 0);
 			LOGP(DINP, LOGL_NOTICE,
-			     "Will bring up link %s/%d in %d seconds.\n",
-			     link->set->name, link->link_no, ulink->reset_timeout);
+			     "Will bring up link %d/%s of linkset %d/%s in %d seconds.\n",
+			     link->nr, link->name,
+			     link->set->nr, link->set->name,
+			     ulink->reset_timeout);
 		}
 		break;
 	default:
-		LOGP(DINP, LOGL_ERROR, "Unknown event %d on %s/%d.\n",
-		     area, link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR,
+		     "Unknown event %d on %d/%s of linkset %d/%s.\n",
+		      area, link->nr, link->name, link->set->nr, link->set->name);
 	}
 }
diff --git a/src/links.c b/src/links.c
index fae1dea..236d190 100644
--- a/src/links.c
+++ b/src/links.c
@@ -64,8 +64,9 @@
 	int one_up;
 
 	if (link->blocked) {
-		LOGP(DINP, LOGL_ERROR, "Ignoring link up on blocked link %s/%d.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR,
+		     "Ignoring link up on blocked link %d/%s of linkset %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		return;
 	}
 
diff --git a/src/mtp_layer3.c b/src/mtp_layer3.c
index 0ef416c..94a2825 100644
--- a/src/mtp_layer3.c
+++ b/src/mtp_layer3.c
@@ -434,8 +434,9 @@
 		return -1;
 
 	if (!link->set->running) {
-		LOGP(DINP, LOGL_ERROR, "Link is not running. Call mtp_link_reset first: %s/%d\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR,
+		     "Link %d/%s of Linkse %d/%s is not running. Call mtp_link_reset first.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		return -1;
 	}
 
diff --git a/src/mtp_link.c b/src/mtp_link.c
index 142d78a..07af3f2 100644
--- a/src/mtp_link.c
+++ b/src/mtp_link.c
@@ -40,7 +40,7 @@
 
 	hdr = (struct mtp_level_3_hdr *) msg->l2h;
 	hdr->ser_ind = MTP_SI_MNT_REG_MSG;
-	hdr->addr = MTP_ADDR(link->link_no % 16, link->set->dpc, link->set->opc);
+	hdr->addr = MTP_ADDR(link->nr % 16, link->set->dpc, link->set->opc);
 
 	mng = (struct mtp_level_3_mng *) msgb_put(msg, sizeof(*mng));
 	mng->cmn.h0 = MTP_TST_MSG_GRP;
@@ -63,8 +63,8 @@
 	link->sltm_pending = 1;
 	msg = mtp_create_sltm(link);
 	if (!msg) {
-		LOGP(DINP, LOGL_ERROR, "Failed to allocate SLTM on %s/%d.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR, "Failed to allocate SLTM on link %d/%s of %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		return;
 	}
 
@@ -79,15 +79,15 @@
 
 	if (link->slta_misses == 0) {
 		LOGP(DINP, LOGL_ERROR,
-		     "No SLTM response on link %s/%d.\n",
-		     link->set->name, link->link_no);
+		     "No SLTM response on link %d/%s of %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		++link->slta_misses;
 		mtp_send_sltm(link);
 		bsc_schedule_timer(&link->t1_timer, MTP_T1);
 	} else {
 		LOGP(DINP, LOGL_ERROR,
-		     "Two missing SLTAs on link %s/%d.\n",
-		     link->set->name, link->link_no);
+		     "Two missing SLTAs on link %d/%s of %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		bsc_del_timer(&link->t2_timer);
 		mtp_link_failure(link);
 	}
@@ -99,8 +99,8 @@
 
 	if (!link->set->running) {
 		LOGP(DINP, LOGL_INFO,
-		     "The linkset is not active. Stopping the link test on %s/%d.\n",
-		     link->set->name, link->link_no);
+		     "The linkset is not active. Stopping link test on %d/%s of %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		return;
 	}
 
@@ -110,8 +110,8 @@
 	bsc_schedule_timer(&link->t1_timer, MTP_T1);
 
 	if (link->set->sltm_once && link->was_up)
-		LOGP(DINP, LOGL_INFO, "Not sending SLTM again as configured on %s/%d.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_INFO, "Not sending SLTM again on link %d/%s of %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 	else
 		bsc_schedule_timer(&link->t2_timer, MTP_T2);
 }
@@ -158,13 +158,13 @@
 void mtp_link_failure(struct mtp_link *link)
 {
 	if (link->blocked) {
-		LOGP(DINP, LOGL_ERROR, "Ignoring failure on blocked link %s/%d.\n",
-		     link->set->name, link->link_no);
+		LOGP(DINP, LOGL_ERROR, "Ignoring failure on blocked link %d/%s on %d/%s.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 		return;
 	}
 
-	LOGP(DINP, LOGL_ERROR, "Link %s/%d has failed, going to reset it.\n",
-	     link->set->name, link->link_no);
+	LOGP(DINP, LOGL_ERROR, "Link %d/%s of %d/%s has failed, going to reset it.\n",
+		     link->nr, link->name, link->set->nr, link->set->name);
 	rate_ctr_inc(&link->ctrg->ctr[MTP_LNK_ERROR]);
 	link->reset(link);
 }
@@ -185,15 +185,15 @@
 
 static int dummy_arg1(struct mtp_link *link)
 {
-	LOGP(DINP, LOGL_ERROR, "The link %d of linkset %d/%s is not typed.\n",
-	     link->link_no, link->set->nr, link->set->name);
+	LOGP(DINP, LOGL_ERROR, "The link %d/%s of linkset %d/%s is not typed.\n",
+	     link->nr, link->name, link->set->nr, link->set->name);
 	return 0;
 }
 
 static int dummy_arg2(struct mtp_link *link, struct msgb *msg)
 {
-	LOGP(DINP, LOGL_ERROR, "The link %d of linkset %d/%s is not typed.\n",
-	     link->link_no, link->set->nr, link->set->name);
+	LOGP(DINP, LOGL_ERROR, "The link %d/%s of linkset %d/%s is not typed.\n",
+	     link->nr, link->name, link->set->nr, link->set->name);
 	msgb_free(msg);
 	return 0;
 }
@@ -208,9 +208,9 @@
 		return NULL;
 	}
 
-	link->link_no = set->nr_links++;
+	link->nr = set->nr_links++;
 	link->ctrg = rate_ctr_group_alloc(link,
-					  mtp_link_rate_ctr_desc(), link->link_no);
+					  mtp_link_rate_ctr_desc(), link->nr);
 	if (!link->ctrg) {
 		LOGP(DINP, LOGL_ERROR, "Failed to allocate rate_ctr.\n");
 		talloc_free(link);
@@ -244,7 +244,7 @@
 	struct mtp_link *link;
 
 	llist_for_each_entry(link, &set->links, entry)
-		if (link->link_no == num)
+		if (link->nr == num)
 			return link;
 
 	return NULL;
diff --git a/src/vty_interface.c b/src/vty_interface.c
index 06df291..7bee8f7 100644
--- a/src/vty_interface.c
+++ b/src/vty_interface.c
@@ -332,7 +332,7 @@
 	vty_out_rate_ctr_group(vty, " ", set->ctrg);
 
 	llist_for_each_entry(link, &set->links, entry) {
-		vty_out(vty, " Link %d%s", link->link_no, VTY_NEWLINE);
+		vty_out(vty, " Link %d%s", link->nr, VTY_NEWLINE);
 		vty_out_rate_ctr_group(vty, "  ", link->ctrg);
 	}
 }
@@ -367,10 +367,10 @@
 	llist_for_each_entry(link, &set->links, entry) {
 		if (link->blocked)
 			vty_out(vty, " Link %d is blocked.%s",
-				link->link_no, VTY_NEWLINE);
+				link->nr, VTY_NEWLINE);
 		else
 			vty_out(vty, " Link %d is %s.%s",
-				link->link_no,
+				link->nr,
 				link->available == 0 ? "not available" : "available",
 				VTY_NEWLINE);
 	}
@@ -435,7 +435,7 @@
 	for (i = 0; i < ARRAY_SIZE(set->slc); ++i) {
 		if (set->slc[i])
 			vty_out(vty, " SLC[%.2d] is on link %d.%s",
-				i, set->slc[i]->link_no, VTY_NEWLINE);
+				i, set->slc[i]->nr, VTY_NEWLINE);
 		else
 			vty_out(vty, " SLC[%d] is down.%s",
 				i, VTY_NEWLINE);