Esempio n. 1
0
 def sup_l2_config_show(node, ):
     oper = 'query'
     tmp = config_ipc_data()
     tmp.set_oper(oper)
     tmp.set_config_member('configStructName', 'vlan_show')
     data = tmp.get_data()
     return config_ipc.config_api(node, data)
Esempio n. 2
0
 def sup_show_dhcp_server_all(self,node):
     oper='query'
     tmp=config_ipc_data()
     tmp.set_oper(oper)
     tmp.set_config_member('configStructName','dhcp_pool_show')
     data=tmp.get_data()
     msg=config_ipc.config_api(node,data)
Esempio n. 3
0
 def sup_l2_config_native(node, interface, nativeid):
     oper = 'edit'
     tmp = config_ipc_data()
     tmp.set_oper(oper)
     tmp.set_config_member('configStructName', 'vlan')
     tmp.set_config_member('interface_name', "{}".format(interface))
     tmp.set_config_member('access_vlanid', 0)
     tmp.set_config_member('native_vlanid', int(nativeid))
     tmp.set_config_level_structName('interface')
     tmp.set_config_level_member('ifname', "{}".format(interface))
     data = tmp.get_data()
     msg = config_ipc.config_api(node, data)
Esempio n. 4
0
 def sup_unset_interface_dhcpServer(self, node, interface):
     if node['type'] == 'DUT':
         oper = 'unset'
         tmp = config_ipc_data()
         tmp.set_oper(oper)
         tmp.set_config_member('configStructName', 'interface')
         tmp.set_config_member('ifname', "{}".format(interface))
         tmp.set_config_member('dhcp_pool_name', "")
         data = tmp.get_data()
         msg = config_ipc.config_api(node, data)
     else:
         logger.debug("type : {} ,don't unset ip".format(node['type']))
Esempio n. 5
0
 def sup_set_interface_ip4(self, node, interface, ip4, profix):
     if node['type'] == 'DUT':
         oper = 'edit'
         tmp = config_ipc_data()
         tmp.set_oper(oper)
         tmp.set_config_member('configStructName', 'interface')
         tmp.set_config_member('ifname', "{}".format(interface))
         tmp.set_config_member('ipv4', "{}".format(ip4))
         tmp.set_config_member('ipmaskv4',
                               "{}".format(_profix_to_ip4(profix)))
         data = tmp.get_data()
         msg = config_ipc.config_api(node, data)
     else:
         logger.debug("type : {} ,don't set ip".format(node['type']))
Esempio n. 6
0
 def sup_del_interface_secondary_ip4(self, node, interface, ip4, profix):
     if node['type'] == 'DUT':
         oper = 'delete'
         tmp = config_ipc_data()
         tmp.set_oper(oper)
         tmp.set_config_member('configStructName',
                               'interface_secondary_ipv4')
         tmp.set_config_member('ipv4', ip4)
         tmp.set_config_member('ipmaskv4', profix)
         tmp.set_config_level_structName('interface')
         tmp.set_config_level_member('ifname', "{}".format(interface))
         data = tmp.get_data()
         msg = config_ipc.config_api(node, data)
     else:
         logger.debug("type : {} ,don't set ip".format(node['type']))
Esempio n. 7
0
 def sup_unset_static_route(self, node, network, prefix, nexthop, metric=1):
     oper = 'delete'
     tmp = config_ipc_data()
     tmp.set_oper(oper)
     tmp.set_config_member('configStructName', 'route')
     tmp.set_config_member('destip', "{}".format(network))
     tmp.set_config_member('masklen', int(prefix))
     tmp.set_config_member('gateway', nexthop)
     tmp.set_config_member('flag', 0)
     tmp.set_config_member('distance', int(metric))
     tmp.set_config_member('weight', 1)
     tmp.set_config_member("ifname", "")
     data = tmp.get_data()
     logger.debug(data)
     msg = config_ipc.config_api(node, data)
Esempio n. 8
0
 def sup_del_dhcp_server(self, node, dhcp_pool_name):
     '''config dhcp server for sangfor sup
     
     :param node: sangfor sup node.
     :param dhcp_pool_name: dhcp pool name.
     :type node: node
     :type string: str
     '''
     oper='delete'
     tmp=config_ipc_data()
     tmp.set_oper(oper)
     tmp.set_config_member('configStructName','dhcp_pool')
     tmp.set_config_member('dhcp_pool_name',"{}".format(dhcp_pool_name))
     
     data=tmp.get_data()
     msg=config_ipc.config_api(node,data)
Esempio n. 9
0
    def sup_l2_config_trunk(node, interface, trunk_list=[]):
        oper = 'edit'
        tmp = config_ipc_data()
        tmp.set_oper(oper)
        tmp.set_config_member('configStructName', 'vlan')
        tmp.set_config_member('interface_name', "{}".format(interface))
        tmp.set_config_member('access_vlanid', 0)
        tmp.set_config_level_structName('interface')
        tmp.set_config_level_member('ifname', "{}".format(interface))
        trunk_list = json.loads(trunk_list)
        MIN_VLAN_ID = 1
        MAX_VLAN_ID = 4094
        bitmap = [0] * 512
        if trunk_list and len(trunk_list) > 0:
            for i in range(0, len(trunk_list)):
                element = trunk_list[i]
                list = element.split("-")
                if list and len(list) == 1:
                    min_vlanid = int(str(list[0]))
                    max_vlanid = min_vlanid
                elif list and len(list) == 2:
                    min_vlanid = int(str(list[0]))
                    max_vlanid = int(str(list[1]))
                else:
                    logger.warning(
                        "vlan_type is {}, vlanid_range input error ".format(
                            vlan_type))
                    raise Exception(
                        "vlan_type is {}, vlanid_range input error ".format(
                            vlan_type))

                if min_vlanid < MIN_VLAN_ID \
                        or max_vlanid > MAX_VLAN_ID \
                        or min_vlanid > max_vlanid:
                    logger.warning(
                        "vlanid_range input error ,please input {}-{}".format(
                            MIN_VLAN_ID, MAX_VLAN_ID))
                    raise Exception(
                        "vlanid_range input error ,please input {}-{}".format(
                            MIN_VLAN_ID, MAX_VLAN_ID))

                for ele in range(min_vlanid, max_vlanid + 1):
                    mask = 0x1 << (ele % 8)
                    bitmap[(ele / 8)] |= mask
        tmp.set_config_member('vlan_bitmap', bitmap)
        data = tmp.get_data()
        msg = config_ipc.config_api(node, data)
Esempio n. 10
0
 def sup_set_dhcp_server(self, node, dhcp_pool_name, start_ip, end_ip, gateway, netmask, lease , dns=[], wins=[]):
     '''config dhcp server for sangfor sup
     
     :param node: sangfor sup node.
     :param dhcp_pool_name: dhcp pool name.
     :param start_ip: dhcp pool start ip.
     :param end_ip: dhcp pool end ip.
     :param gateway: dhcp pool gataway.
     :param netmask: dhcp pool netmask.
     :param lease: dhcp pool lease.
     :param dns: dhcp pool dns.
     :param wins: dhcp pool dns.
     :type node: node
     :type string: str
     :type string: ipv4 eg 1.1.1.10
     :type string: ipv4 eg 1.1.1.20
     :type string: ipv4 eg 1.1.1.1
     :type string: ipv4 eg 255.255.255.0
     :type list: list eg ['202.106.0.20'] or ['192.168.0.1','202.106.0.20']
     :type list: list eg ['202.106.0.20'] or ['192.168.0.1','202.106.0.20']
     :type list: int eg 3600
     '''
     oper='edit'
     tmp=config_ipc_data()
     tmp.set_oper(oper)
     tmp.set_config_member('configStructName','dhcp_pool')
     tmp.set_config_member('dhcp_pool_name',"{}".format(dhcp_pool_name))
     tmp.set_config_member('gateway',"{}".format(gateway))
     tmp.set_config_member('netmask',"{}".format(netmask))
     tmp.set_config_member('start_ip',"{}".format(start_ip))
     tmp.set_config_member('end_ip',"{}".format(end_ip))
     tmp.set_config_member('lease',"{}".format(lease))
     
     if isinstance(dns, list): 
         tmp.set_config_member('dns',dns)
     else 
         raise "type(dns) is not list : {}".format(dns)
     if isinstance(wins, list): 
         tmp.set_config_member('wins',wins)
     else 
         raise "type(wins) is not list : {}".format(wins)
         
     data=tmp.get_data()
     msg=config_ipc.config_api(node,data)