- compute.dc.net.setChain(
- server_egress.name, server_ingress.name,
- egress_port.intf_name, ingress_port.intf_name,
- cmd="add-flow", cookie=self.cookie, priority=10, bidirectional=False,
- monitor=False, skip_vlan_tag=True
- )
+ if not server_egress:
+ raise RuntimeError("Neutron SFC: egress port %s not connected to any server." %
+ egress_port.name)
+ if not server_ingress:
+ raise RuntimeError("Neutron SFC: ingress port %s not connected to any server." %
+ ingress_port.name)
+
+ compute.dc.net.setChain(
+ server_egress.name, server_ingress.name,
+ egress_port.intf_name, ingress_port.intf_name,
+ match=flow_classifier.to_match(),
+ mod_dl_dst=ingress_port.mac_address,
+ cmd="add-flow", cookie=self.cookie, priority=10, bidirectional=False,
+ monitor=False, skip_vlan_tag=True
+ )