nat: Implement clearing of TP-SRR flags from TPDUs

Match IMSI and destination address against a set of entries, if it
is matching the header will be modified and no sender report will be
requested. Change the test case to request the sender report and then
verify that this bit is reset to 0.
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
index 55b3958..81f70de 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
@@ -127,6 +127,9 @@
 	if (_nat->tpdest_match_name)
 		vty_out(vty, " rewrite-smsc tp-dest-match %s%s",
 			_nat->tpdest_match_name, VTY_NEWLINE);
+	if (_nat->sms_clear_tp_srr_name)
+		vty_out(vty, " sms-clear-tp-srr %s%s",
+			_nat->sms_clear_tp_srr_name, VTY_NEWLINE);
 
 	llist_for_each_entry(lst, &_nat->access_lists, list)
 		write_acc_lst(vty, lst);
@@ -512,6 +515,29 @@
 			     &_nat->tpdest_match, argv[0]);
 }
 
+DEFUN(cfg_nat_sms_clear_tpsrr,
+      cfg_nat_sms_clear_tpsrr_cmd,
+      "sms-clear-tp-srr FILENAME",
+      "SMS TPDU Sender Report Request clearing\n"
+      "Files with rules for matching MSISDN\n")
+{
+	return replace_rules(_nat, &_nat->sms_clear_tp_srr_name,
+			     &_nat->sms_clear_tp_srr, argv[0]);
+}
+
+DEFUN(cfg_nat_no_sms_clear_tpsrr,
+      cfg_nat_no_sms_clear_tpsrr_cmd,
+      "sms-clear-tp-srr",
+      NO_STR
+      "SMS TPDU Sender Report Request clearing\n")
+{
+	talloc_free(_nat->sms_clear_tp_srr_name);
+	_nat->sms_clear_tp_srr_name = NULL;
+
+	bsc_nat_num_rewr_entry_adapt(NULL, &_nat->sms_clear_tp_srr, NULL);
+	return CMD_SUCCESS;
+}
+
 DEFUN(cfg_nat_ussd_lst_name,
       cfg_nat_ussd_lst_name_cmd,
       "ussd-list-name NAME",
@@ -958,6 +984,8 @@
 	install_element(NAT_NODE, &cfg_nat_number_rewrite_cmd);
 	install_element(NAT_NODE, &cfg_nat_smsc_addr_cmd);
 	install_element(NAT_NODE, &cfg_nat_smsc_tpdest_cmd);
+	install_element(NAT_NODE, &cfg_nat_sms_clear_tpsrr_cmd);
+	install_element(NAT_NODE, &cfg_nat_no_sms_clear_tpsrr_cmd);
 
 	install_element(NAT_NODE, &cfg_nat_pgroup_cmd);
 	install_element(NAT_NODE, &cfg_nat_no_pgroup_cmd);