Project

General

Profile

Feature #2324

allow to bind to a configured IP address

Added by neels over 2 years ago. Updated about 1 month ago.

Status:
Feedback
Priority:
Normal
Assignee:
Target version:
-
Start date:
06/13/2017
Due date:
% Done:

90%


Description

In particular I need the M3UA to bind to a specific IP address for operation on the osmo-gsm-tester.
So far the IP address passed to osmo_ss7_xua_server_create is always NULL

History

#1 Updated by neels over 2 years ago

Code in question is libosmo-sccp/src/osmo_ss7_vty.c:

DEFUN(cs7_xua, cs7_xua_cmd,
        "listen " XUA_VAR_STR " <0-65534>",
        "Configure/Enable xUA Listener\n" 
        XUA_VAR_HELP_STR "SCTP Port number\n")
{
        struct osmo_ss7_instance *inst = vty->index;
        struct osmo_xua_server *xs;
        enum osmo_ss7_asp_protocol proto = parse_asp_proto(argv[0]);
        uint16_t port = atoi(argv[1]);

        xs = osmo_ss7_xua_server_find(inst, proto, port);
        if (!xs) {
                xs = osmo_ss7_xua_server_create(inst, proto, port, NULL);
                if (!xs)   
                        return CMD_SUCCESS;
        }

        vty->node = L_CS7_XUA_NODE;
        vty->index = xs;
        return CMD_SUCCESS;
}

It's not so trivial to add an IP address here... possibly the easiest would be to allow another vty command that is identical except an IP address added at the end, and both call one common function to effect the server start?

Also interesting to note: the local_host=NULL is passed to osmo_ss7_xua_server_create() which directly does:

LOGP(DLSS7, LOGL_INFO, "Creating %s Server %s:%u\n",
get_value_string(osmo_ss7_asp_protocol_vals, proto), local_host, local_port);

so this would log "(null)" as local bind address.

#2 Updated by laforge over 2 years ago

  • Assignee set to laforge

#3 Updated by laforge over 2 years ago

  • Assignee deleted (laforge)

please keep in mind that the OsmoSTP VTY interface has been specifically designed to be compatible with how Cisco ITP is configured. So whatever propsals you make to introduce the functionality you need, try to not introduce avoidable incompatibility with that.

#4 Updated by neels over 1 year ago

IIUC there is

  cs7 instance 0
   listen m3ua 2905
    local-ip 123.45.67.8

#5 Updated by pespin about 1 month ago

  • Status changed from New to Feedback
  • Assignee set to neels
  • % Done changed from 0 to 90

That's already solved, "listen" node has "local-ip", and it's being used by osmo-stp in osmo-gsm-tester:

 listen m3ua 2905
  accept-asp-connections dynamic-permitted
  local-ip ${stp.ip_address.addr}

All the binding issues should have been fixed recently with the multi-home (multi-address bind and connect for SCTP) features in our libosmo-sccp stack (both for clients such as osmo-bsc/msc as well as server in osmo-stp).

I think we can close this ticket. Re-assigning to Neels to make sure I'm not missing something.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)