Skip to content

Commit 5eae990

Browse files
nne: Added imsi to metadata
1 parent 63c222a commit 5eae990

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

metadata_writer_nne.c

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ static struct nne_value md_iface_parse_cid(struct nne_modem *modem, struct md_if
4444
static struct nne_value md_iface_parse_oper(struct nne_modem *modem, struct md_iface_event *mie);
4545
static struct nne_value md_iface_parse_ipaddr(struct nne_modem *modem, struct md_iface_event *mie);
4646
static struct nne_value md_iface_parse_dev_state(struct nne_modem *modem, struct md_iface_event *mie);
47+
static struct nne_value md_iface_parse_imsi(struct nne_modem *modem, struct md_iface_event *mie);
4748

4849
static struct nne_metadata_descr NNE_METADATA_DESCR[] = {
4950
{ NNE_IDX_MODE, "mode", 0, NNE_TYPE_UINT8, IFACE_EVENT_MODE_CHANGE, md_iface_parse_mode },
@@ -57,7 +58,8 @@ static struct nne_metadata_descr NNE_METADATA_DESCR[] = {
5758
{ NNE_IDX_CID, "cid", 0, NNE_TYPE_STRING, IFACE_EVENT_LOC_CHANGE, md_iface_parse_cid },
5859
{ NNE_IDX_OPER, "oper", 0, NNE_TYPE_UINT32, IFACE_EVENT_NW_MCCMNC_CHANGE, md_iface_parse_oper },
5960
{ NNE_IDX_IPADDR, "ipaddr", 0, NNE_TYPE_STRING, IFACE_EVENT_IP_ADDR_CHANGE, md_iface_parse_ipaddr },
60-
{ NNE_IDX_DEV_STATE, "device_state", 0, NNE_TYPE_UINT8, IFACE_EVENT_DEV_STATE, md_iface_parse_dev_state }
61+
{ NNE_IDX_DEV_STATE, "device_state", 0, NNE_TYPE_UINT8, IFACE_EVENT_DEV_STATE, md_iface_parse_dev_state },
62+
{ NNE_IDX_IMSI, "imsi", 0, NNE_TYPE_STRING, 0, md_iface_parse_imsi }
6163
};
6264

6365
#define NNE_METADATA_DESCR_LEN (sizeof(NNE_METADATA_DESCR) / sizeof(struct nne_metadata_descr))
@@ -269,6 +271,19 @@ static struct nne_value md_iface_parse_dev_state(struct nne_modem *modem, struct
269271
return value;
270272
}
271273

274+
static struct nne_value md_iface_parse_imsi(struct nne_modem *modem, struct md_iface_event *mie)
275+
{
276+
struct nne_value value;
277+
value.type = NNE_TYPE_STRING;
278+
if (mie->imsi != NULL) {
279+
value.u.v_str = strdup(mie->imsi);
280+
}
281+
else {
282+
value.type = NNE_TYPE_NULL;
283+
}
284+
return value;
285+
}
286+
272287
static uint8_t md_nne_handle_gps_event(struct md_writer_nne *mwn,
273288
struct md_gps_event *mge)
274289
{
@@ -659,6 +674,7 @@ static uint32_t md_find_network_id(uint32_t imsi_mccmnc, const char *iccid)
659674
}
660675
break;
661676
case 26001:
677+
case 26006:
662678
network_id = 9;
663679
break;
664680
}
@@ -686,6 +702,7 @@ static void md_nne_handle_iface_event(struct md_writer_nne *mwn,
686702
"ip_addr=%s, "
687703
"ifname=%s, "
688704
"iccid=%s, "
705+
"imsi=%s, "
689706
"imsi_mccmnc=%d, "
690707
"nw_mccmnc=%d, "
691708
"cid=%d, "
@@ -702,6 +719,7 @@ static void md_nne_handle_iface_event(struct md_writer_nne *mwn,
702719
mie->ip_addr,
703720
mie->ifname,
704721
mie->iccid,
722+
mie->imsi,
705723
mie->imsi_mccmnc,
706724
mie->nw_mccmnc,
707725
mie->cid,
@@ -775,7 +793,7 @@ static void md_nne_handle_iface_event(struct md_writer_nne *mwn,
775793

776794
// Process metadata; only related to this iface event
777795
for (i = 0; i < NNE_METADATA_DESCR_LEN; i++) {
778-
if (mie->event_param == NNE_METADATA_DESCR[i].event) {
796+
if (NNE_METADATA_DESCR[i].event > 0 && mie->event_param == NNE_METADATA_DESCR[i].event) {
779797
md_nne_process_iface_event(mwn, &(NNE_METADATA_DESCR[i]), modem, mie, NNE_MESSAGE_SOURCE_REPORT);
780798
}
781799
}

metadata_writer_nne.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ enum nne_metadata_idx
7676
NNE_IDX_OPER,
7777
NNE_IDX_IPADDR,
7878
NNE_IDX_DEV_STATE,
79+
NNE_IDX_IMSI,
7980
__NNE_IDX_MAX
8081
};
8182

0 commit comments

Comments
 (0)