[abis] Add ACK signal and send it on SET NVATTR ACK

* Add the signal definition to signal.h
* Dispatch the signal from abis_nm.c
* Handle it in ipaccess-config.c and say we are done with work
diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h
index 8c815f8..f13b12b 100644
--- a/openbsc/include/openbsc/signal.h
+++ b/openbsc/include/openbsc/signal.h
@@ -69,6 +69,7 @@
 	S_NM_FAIL_REP,		/* GSM 12.21 failure event report */
 	S_NM_NACK,		/* GSM 12.21 various NM_MT_*_NACK happened */
 	S_NM_IPACC_NACK,	/* GSM 12.21 nanoBTS extensions NM_MT_IPACC_*_*_NACK happened */
+	S_NM_IPACC_ACK,		/* GSM 12.21 nanoBTS extensions NM_MT_IPACC_*_*_ACK happened */
 	S_NM_TEST_REP,		/* GSM 12.21 Test Report */
 };
 
diff --git a/openbsc/src/abis_nm.c b/openbsc/src/abis_nm.c
index 211f70e..9dedcaf 100644
--- a/openbsc/src/abis_nm.c
+++ b/openbsc/src/abis_nm.c
@@ -2805,6 +2805,9 @@
 	case NM_MT_IPACC_GET_NVATTR_NACK:
 		dispatch_signal(SS_NM, S_NM_IPACC_NACK, &foh->msg_type);
 		break;
+	case NM_MT_IPACC_SET_NVATTR_ACK:
+		dispatch_signal(SS_NM, S_NM_IPACC_ACK, &foh->msg_type);
+		break;
 	default:
 		break;
 	}
diff --git a/openbsc/src/ipaccess/ipaccess-config.c b/openbsc/src/ipaccess/ipaccess-config.c
index 016459b..3b81c2a 100644
--- a/openbsc/src/ipaccess/ipaccess-config.c
+++ b/openbsc/src/ipaccess/ipaccess-config.c
@@ -83,6 +83,16 @@
 	return 0;
 }
 
+static int ipacc_msg_ack(u_int8_t mt)
+{
+	if (sw_load_state == 1) {
+		fprintf(stderr, "The new software is activaed.\n");
+		exit(0);
+	}
+
+	return 0;
+}
+
 struct ipacc_ferr_elem {
 	int16_t freq_err;
 	u_int8_t freq_qual;
@@ -170,6 +180,9 @@
 	case S_NM_IPACC_NACK:
 		msg_type = signal_data;
 		return ipacc_msg_nack(*msg_type);
+	case S_NM_IPACC_ACK:
+		msg_type = signal_data;
+		return ipacc_msg_ack(*msg_type);
 	case S_NM_TEST_REP:
 		return test_rep(signal_data);
 	default: