[SFC-78] Only one SFF/Bridge can be created in a OVS switch Created: 08/Jul/15  Updated: 19/Oct/17  Resolved: 15/Jul/15

Status: Resolved
Project: sfc
Component/s: General
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Reinaldo Penno Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 3965

 Description   

Creating a bridge using the JSON below works. But any subsequent SFF/bridge is not created properly. Port and other information is not created, only a naked bridge.

{
"service-function-forwarders": {
"service-function-forwarder": [
{
"name": "SFF1",
"service-node": "OVSDB2",
"service-function-forwarder-ovs:ovs-bridge":

{ "bridge-name": "sw2" }

,
"service-function-dictionary": [
{
"name": "firewall-72",
"type": "service-function-type:firewall",
"sff-sf-data-plane-locator":

{ "port": 6633, "ip": "192.168.50.71", "transport": "service-locator:vxlan-gpe" }

}
],
"sff-data-plane-locator": [
{
"name": "sfc-tun2",
"data-plane-locator":

{ "transport": "service-locator:vxlan-gpe", "port": 6633, "ip": "192.168.50.71" }

,
"service-function-forwarder-ovs:ovs-options":

{ "remote-ip": "flow", "dst-port": "6633", "key": "flow", "nsp": "flow", "nsi": "flow", "nshc1": "flow", "nshc2": "flow", "nshc3": "flow", "nshc4": "flow" }

}
]
},
{
"name": "SFF2",
"service-node": "OVSDB2",
"service-function-forwarder-ovs:ovs-bridge":

{ "bridge-name": "sw4" }

,
"service-function-dictionary": [
{
"name": "dpi-74",
"type": "service-function-type:dpi",
"sff-sf-data-plane-locator":

{ "port": 6633, "ip": "192.168.50.73", "transport": "service-locator:vxlan-gpe" }

}
],
"sff-data-plane-locator": [
{
"name": "sfc-tun4",
"data-plane-locator":

{ "transport": "service-locator:vxlan-gpe", "port": 6633, "ip": "192.168.50.73" }

,
"service-function-forwarder-ovs:ovs-options":

{ "remote-ip": "flow", "dst-port": "6633", "key": "flow", "nsp": "flow", "nsi": "flow", "nshc1": "flow", "nshc2": "flow", "nshc3": "flow", "nshc4": "flow" }

}
]
}
]
}
}

Changing the SFF name, bridge and issuing another PUT does not properly create a bridge in OVS. IT can be seen below that only the bridge (br3, br4) was created, no ports, no options.

sfc-demo@sfc-demo:~$ sudo ovs-vsctl show
fcdf098c-17d8-4f32-ba0f-c74d960b8d19
Manager "tcp:192.168.1.18:6640"
is_connected: true
Bridge "sw2"
Controller "tcp:192.168.1.18:6653"
is_connected: true
Port "sw2"
Interface "sw2"
type: internal
Port "sfc-tun2"
Interface "sfc-tun2"
type: vxlan
options:

{dst_port="6633", key=flow, "nshc1"=flow, "nshc2"=flow, "nshc3"=flow, "nshc4"=flow, nsi=flow, nsp=flow, remote_ip=flow}

Bridge "sw3"
Controller "tcp:192.168.1.18:6653"
is_connected: true
Port "sw3"
Interface "sw3"
type: internal
Bridge "sw4"
Controller "tcp:192.168.1.18:6653"
is_connected: true
Port "sw4"
Interface "sw4"
type: internal



 Comments   
Comment by Reinaldo Penno [ 15/Jul/15 ]

The issue steams from the fact that port names need to unique in a OVS node, even across bridges. This means that data plane locator names in ODL need to be unique

Generated at Wed Feb 07 20:38:35 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.