Project

General

Profile

Bug #5186

local-ip config parameter can cause unclear behaviour on dual IP stack system

Added by keith about 1 month ago. Updated about 1 month ago.

Status:
New
Priority:
Low
Assignee:
-
Target version:
-
Start date:
06/18/2021
Due date:
% Done:

0%

Spec Reference:

Description

keyphrase from osmo-bsc log for search engines:

DLSS7 ERROR m3ua.c:507 XUA_AS(as-clnt-A-0-m3ua) {AS_DOWN}: Event AS-TRANSFER.req not permitted

In osmo-stp.cfg we have typically have something like:

cs7 instance 0
 xua rkm routing-key-allocation dynamic-permitted
 route-table system
 listen m3ua 2905
  local-ip ::
  accept-asp-connections dynamic-permitted

This is actually fine.

But, the configuration VTY tells us:

OsmoSTP(config-cs7-listen)# local-ip
  A.B.C.D   IPv4 Address to use for XUA
  X:X::X:X  IPv6 Address to use for XUA

and so the user might think, ah OK I want to use 127.0.0.1 resulting in a config of

cs7 instance 0
 xua rkm routing-key-allocation dynamic-permitted
 route-table system
 listen m3ua 2905
  local-ip 127.0.0.1
  accept-asp-connections dynamic-permitted

Actually local-ip 0.0.0.0 will also trigger this issue.

Now let's start osmo-bsc and osmo-msc with the minimal configuration files needed to start up, leaving the rest to default values for the sake of clarify here, although this issue can be observed with a fully configured BSC/MSC:

osmo-bsc.cfg:

msc 0
 mgw remote-ip 127.0.0.1 

osmo-msc.cfg:
BLANK - Use all defaults.

osmo-bsc will constantly log: Event AS-TRANSFER.req not permitted

although osmo-bsc vty will show:

OsmoBSC# show msc
0 m3ua RI=SSN_PC,PC=0.23.3,SSN=BSSAP RI=SSN_PC,PC=0.23.1,SSN=BSSAP

osmo-msc vty will show:

OsmoMSC# show bsc
OsmoMSC#

So one should NOT use an ipv4 address in local-ip, UNLESS ipv6 stack is disabled with:

sysctl net.ipv6.conf.all.disable_ipv6=1

If you have OSMO-STP config with an IPv4 address in local-ip, as soon as you disable the ipv6 stack, you'll see:

[other log messages leading up to...] 
DMSC NOTICE (msc0) BSSMAP assocation is up

To confirm:

with local-ip ::

there's no problem with ipv4/ipv6 being enabled or not.

History

#1 Updated by keith about 1 month ago

  • Description updated (diff)

#2 Updated by pespin about 1 month ago

So you change the default ipv6 address to an ipv4 address in osmo-stp, and still expect the osmo-msc default ipv6 address to work fine. That's of course wrong.
If you leave the default value in osmo-stp (::), then default remote address value for osmo-msc (::1 I guess) also works.
If you change the default value in osmo-stp, then you also need to adapt clients connecting to it accordingly.

So one should NOT use an ipv4 address in local-ip, UNLESS ipv6 stack is disabled with:

That's not true. One can perfectly configure osmo-stp to use an ipv4 address if you of course also configure nodes connecting to it to also use ipv4.
On the other hand (again as explained above), if you configure osmo-stp to use the default ::, then both v4 and v6 clients can connect just fine.

The "complexity" here may be to understand that by using IPv6 sockets by default when binding, we are actually extending the usability, since SCTP IPv6 sockets allow connections from both IPv4 and IPv6 addresses iirc (when using ::, it binds on both V4 0.0.0.0 and v6).

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)