From 086ffa51b4f56eb875e4918a2ee1802581c6cd67 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 29 Dec 2009 11:26:38 +0100 Subject: [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 --- openbsc/src/abis_nm.c | 3 +++ openbsc/src/ipaccess/ipaccess-config.c | 13 +++++++++++++ 2 files changed, 16 insertions(+) (limited to 'openbsc/src') diff --git a/openbsc/src/abis_nm.c b/openbsc/src/abis_nm.c index 211f70ee4..9dedcaf5d 100644 --- a/openbsc/src/abis_nm.c +++ b/openbsc/src/abis_nm.c @@ -2805,6 +2805,9 @@ static int abis_nm_rx_ipacc(struct msgb *msg) 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 016459bdd..3b81c2a38 100644 --- a/openbsc/src/ipaccess/ipaccess-config.c +++ b/openbsc/src/ipaccess/ipaccess-config.c @@ -83,6 +83,16 @@ static int ipacc_msg_nack(u_int8_t mt) 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 @@ static int nm_sig_cb(unsigned int subsys, unsigned int signal, 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: -- cgit v1.2.3