VOL-470 - Support VENET as open flow port
Change-Id: I21c6923860b2bb9a386f3332720593b6517d2844
diff --git a/voltha/core/logical_device_agent.py b/voltha/core/logical_device_agent.py
index 083f42e..1d8fe4b 100644
--- a/voltha/core/logical_device_agent.py
+++ b/voltha/core/logical_device_agent.py
@@ -627,10 +627,14 @@
]
assert len(upstream_ports) == 1
downstream_ports = [
- port for port in ports if port.type == Port.PON_OLT
+ port for port in ports if port.type == Port.PON_OLT \
+ or port.type == Port.VENET_OLT
]
- assert len(downstream_ports) == 1, \
- 'Initially, we only handle one PON port'
+ _is_any_venet_port = any(_port.type == Port.VENET_OLT for _port in
+ downstream_ports)
+ if _is_any_venet_port != True:
+ assert len(downstream_ports) == 1, \
+ 'Initially, we only handle one PON port'
flows = OrderedDict((f.id, f) for f in [
mk_flow_stat(
priority=2000,
@@ -651,13 +655,14 @@
def leaf_device_default_rules(device):
ports = self.root_proxy.get('/devices/{}/ports'.format(device.id))
upstream_ports = [
- port for port in ports if port.type == Port.PON_ONU
+ port for port in ports if port.type == Port.PON_ONU \
+ or port.type == Port.VENET_ONU
]
assert len(upstream_ports) == 1
downstream_ports = [
port for port in ports if port.type == Port.ETHERNET_UNI
]
- assert len(downstream_ports) == 1
+ # assert len(downstream_ports) == 1
flows = OrderedDict((f.id, f) for f in [
mk_flow_stat(
priority=500,
diff --git a/voltha/protos/device.proto b/voltha/protos/device.proto
index 15db1f1..30baf34 100644
--- a/voltha/protos/device.proto
+++ b/voltha/protos/device.proto
@@ -174,6 +174,8 @@
ETHERNET_UNI = 2;
PON_OLT = 3;
PON_ONU = 4;
+ VENET_OLT = 5;
+ VENET_ONU = 6;
}
uint32 port_no = 1; // Device-unique port number