+
+ if 'allowed_address_pairs' in cp_info and cp_info['allowed_address_pairs']:
+ for vcp in cp_info['allowed_address_pairs']:
+ vcp_info = cp.virtual_cp_info.add()
+ if 'ip_address' in vcp and vcp['ip_address']:
+ vcp_info.ip_address = vcp['ip_address']
+ if 'mac_address' in vcp and vcp['mac_address']:
+ vcp_info.mac_address = vcp['mac_address']
+ return cp
+
+ def _parse_virtual_cp(self, cp_info):
+ """
+ Parse the port_info dictionary returned by neutronclient
+ Arguments:
+ cp_info: A dictionary object representing port attributes
+
+ Returns:
+ Protobuf GI oject of type RwcalYang.YangData_RwProject_Project_VnfResources_VirtualLinkInfoList_VirtualConnectionPoints()
+ """
+ cp = RwcalYang.YangData_RwProject_Project_VnfResources_VirtualLinkInfoList_VirtualConnectionPoints()
+
+ if 'id' in cp_info and cp_info['id']:
+ cp.connection_point_id = cp_info['id']
+
+ if 'name' in cp_info and cp_info['name']:
+ cp.name = cp_info['name']
+
+ if ('fixed_ips' in cp_info) and (len(cp_info['fixed_ips']) >= 1):
+ if 'ip_address' in cp_info['fixed_ips'][0]:
+ cp.ip_address = cp_info['fixed_ips'][0]['ip_address']
+
+ if 'mac_address' in cp_info and cp_info['mac_address']:
+ cp.mac_address = cp_info['mac_address']
+