Public bug reported: ENV: devstack master
Floating IP port_forwardings with different protocols can not have the same internal or external port number to the same vm_port. But we can have different application server, for instance TCP server and UDP server, listen to the same port at same time. For instance, if you create a port_forwarding to a floating IP with the following input: {"port_forwarding": { "internal_port_id": "3145b56c-949d-45d4-9e35-614117b5f69c", "internal_port": 22, "protocol": "tcp", "external_port": 22, "internal_ip_address": "192.168.188.3" } } And then add another port_forwarding with protocol to udp and internal port number 22 again: {"port_forwarding": { "internal_port_id": "3145b56c-949d-45d4-9e35-614117b5f69c", "internal_port": 22, "protocol": "udp", "external_port": 2222, "internal_ip_address": "192.168.188.3" } } The neutron will return 40x error. This is the key point, these unique constraints do not consider the protocol: https://github.com/openstack/neutron/blob/master/neutron/db/migration/alembic_migrations/versions/rocky/expand/867d39095bf4_port_forwarding.py#L53-L58 ** Affects: neutron Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1799155 Title: [l3][port_forwarding] tow different protocols can not have the same internal/external port number at the same time Status in neutron: New Bug description: ENV: devstack master Floating IP port_forwardings with different protocols can not have the same internal or external port number to the same vm_port. But we can have different application server, for instance TCP server and UDP server, listen to the same port at same time. For instance, if you create a port_forwarding to a floating IP with the following input: {"port_forwarding": { "internal_port_id": "3145b56c-949d-45d4-9e35-614117b5f69c", "internal_port": 22, "protocol": "tcp", "external_port": 22, "internal_ip_address": "192.168.188.3" } } And then add another port_forwarding with protocol to udp and internal port number 22 again: {"port_forwarding": { "internal_port_id": "3145b56c-949d-45d4-9e35-614117b5f69c", "internal_port": 22, "protocol": "udp", "external_port": 2222, "internal_ip_address": "192.168.188.3" } } The neutron will return 40x error. This is the key point, these unique constraints do not consider the protocol: https://github.com/openstack/neutron/blob/master/neutron/db/migration/alembic_migrations/versions/rocky/expand/867d39095bf4_port_forwarding.py#L53-L58 To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1799155/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp