diff options
| author | Neels Hofmeyr <neels@hofmeyr.de> | 2019-11-20 21:28:47 +0100 | 
|---|---|---|
| committer | Neels Hofmeyr <neels@hofmeyr.de> | 2019-11-24 19:58:57 +0100 | 
| commit | 249e00535006b267f36bd01c3cafac85a5fda796 (patch) | |
| tree | 13381670e3f2c462286aea839676c66c26497814 | |
| parent | c36e2e4924eaf573e6a02573259699771dbeab2d (diff) | |
GSUP: rename E_ROUTING_ERROR to ROUTING_ERROR
GSUP routing was introduced when adding the E interface. Hence that was the
first realm where routing errors could occur. I did notice back then that this
message type was special: it does not convey a response to a particular message
kind -- it does not make sense, for example, to return an Updating Location
Error cause, and do that for all conceivable message types. Instead, this tells
the sender that a deeper error exists, i.e. that the desired peer is completely
gone and unreachable.
I did not foresee though that for D-GSM, there would also be arbitrary GSUP
proxy routing, and that this error is not limited to E interface semantics.
From today's point of view, adding the "_E_" in the name was a mistake.
Remove that "_E_" to yield OSMO_GSUP_MSGT_ROUTING_ERROR (with unchanged message
type discriminator), but provide a #define linking the old name
OSMO_GSUP_MSGT_E_ROUTING_ERROR to the new one.
The only visible change should be that osmo_gsup_message_type_names[] now
returns the new name without "_E_". I am not aware of any regression test
fallout from that.
Change-Id: Ic8e8bd11522d6c51ac7aaf946516cbce26bc6e1e
| -rw-r--r-- | include/osmocom/gsm/gsup.h | 4 | ||||
| -rw-r--r-- | src/gsm/gsup.c | 2 | 
2 files changed, 4 insertions, 2 deletions
| diff --git a/include/osmocom/gsm/gsup.h b/include/osmocom/gsm/gsup.h index 49ddb742..c883dfb6 100644 --- a/include/osmocom/gsm/gsup.h +++ b/include/osmocom/gsm/gsup.h @@ -196,9 +196,11 @@ enum osmo_gsup_message_type {  	OSMO_GSUP_MSGT_E_CLOSE					= 0b01000111,  	OSMO_GSUP_MSGT_E_ABORT					= 0b01001011, -	OSMO_GSUP_MSGT_E_ROUTING_ERROR				= 0b01001110, +	OSMO_GSUP_MSGT_ROUTING_ERROR				= 0b01001110,  }; +#define OSMO_GSUP_MSGT_E_ROUTING_ERROR OSMO_GSUP_MSGT_ROUTING_ERROR +  #define OSMO_GSUP_IS_MSGT_REQUEST(msgt) (((msgt) & 0b00000011) == 0b00)  #define OSMO_GSUP_IS_MSGT_ERROR(msgt)   (((msgt) & 0b00000011) == 0b01)  #define OSMO_GSUP_TO_MSGT_ERROR(msgt)   (((msgt) & 0b11111100) | 0b01) diff --git a/src/gsm/gsup.c b/src/gsm/gsup.c index 2f9d85d8..ad7a2a42 100644 --- a/src/gsm/gsup.c +++ b/src/gsm/gsup.c @@ -101,7 +101,7 @@ const struct value_string osmo_gsup_message_type_names[] = {  	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_E_CLOSE),  	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_E_ABORT), -	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_E_ROUTING_ERROR), +	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_ROUTING_ERROR),  	{ 0, NULL }  }; | 
