openvswitch/ovs-issues

OVSDB remote URI(tcp:host[:port]) is reversed(tcp:port[:host]) in new --config-file

Closed this issue · 2 comments

Ok , Im deploying a relay server, using new --config-file option added in version 3.3.0, note the following config:

{
    "remotes": { "ptcp:172.25.3.1:16642": {
        "inactivity-probe": 60000
    } },
    "databases": {
        "OVN_Southbound": {
            "service-model": "relay",
            "source": {
                "tcp:172.25.3.1:6642": {
                    "inactivity-probe": 60000
                }
            }
        }
    }
}

Running ovsdb using this config file, shows an error on listening address:

$ ovsdb-server  --config-file=/etc/kolla/ovn-sb-db-relay/ovsdb-config-relay.json 
2024-09-23T16:09:18Z|00001|ovsdb_server|INFO|loading configuration from '/etc/kolla/ovn-sb-db-relay/ovsdb-config-relay.json'
2024-09-23T16:09:18Z|00002|socket_util|ERR|172.25.3.1:6642: bad port number "172.25.3.1"
2024-09-23T16:09:18Z|00003|ovsdb_server|INFO|ovsdb-server (Open vSwitch) 3.3.0
2024-09-23T16:09:18Z|00004|socket_util|ERR|172.25.3.1:6642: bad port number "172.25.3.1"
2024-09-23T16:09:18Z|00005|reconnect|INFO|ptcp:172.25.3.1:6642: listening...
2024-09-23T16:09:18Z|00006|reconnect|INFO|ptcp:172.25.3.1:6642: listen attempt failed (Address family not supported by protocol)
2024-09-23T16:09:18Z|00007|reconnect|INFO|tcp:172.25.0.1:6642: connecting...
2024-09-23T16:09:18Z|00008|reconnect|INFO|tcp:172.25.0.1:6642: connected
2024-09-23T16:09:19Z|00009|socket_util|ERR|172.25.3.1:6642: bad port number "172.25.3.1"
2024-09-23T16:09:19Z|00010|reconnect|INFO|ptcp:172.25.3.1:6642: listening...
2024-09-23T16:09:19Z|00011|reconnect|INFO|ptcp:172.25.3.1:6642: listen attempt failed (Address family not supported by protocol)
2024-09-23T16:09:19Z|00012|reconnect|INFO|ptcp:172.25.3.1:6642: waiting 2 seconds before trying to listen again

Now if you change the ptcp:172.25.3.1:16642 to ptcp:16642:172.25.3.1, every thing will work fine, and listening address will be 172.25.3.1:16642, It is very odd.

My question is that, is this the intended behavior or a bug? is it patched or not? and can I work on its patch?

@igsilya

It is by design and not limited to the config file. It is the same in all other places in OVS and OVN where passive connection can be configured. Passive connections always have port before the IP, active connections have IP before the port. The reason is that you can skip the IP in the passive connection if you want to listen on all IPs, e.g. pssl:6644 will listen on any (IPv4?) address and port 6644.

Thank you for your quick response, Now I understand.