示例#1
0
    def _list_vlans(self):
        vlans = []

        for vlan_data in split_on_bang(self.shell.do("show running-config vlan | begin vlan")):
            vlans.append(parse_vlan(vlan_data))

        return vlans
示例#2
0
文件: cisco.py 项目: emmurd/netman
 def get_interfaces(self):
     interfaces = []
     for data in split_on_bang(self.ssh.do("show running-config | begin interface")):
         interface = parse_interface(data)
         if interface:
             interfaces.append(interface)
     return interfaces
示例#3
0
 def get_interfaces(self):
     interfaces = []
     for data in split_on_bang(self.ssh.do("show running-config | begin interface")):
         interface = parse_interface(data)
         if interface:
             interfaces.append(interface)
     return interfaces
示例#4
0
文件: brocade.py 项目: emmurd/netman
    def add_vif_data_to_vlans(self, vlans):
        vlans_interface_name_dict = {vlan.vlan_interface_name: vlan for vlan in vlans if vlan.vlan_interface_name}

        for int_vlan_data in split_on_bang(self.shell.do("show running-config interface")):
            if regex.match("^interface ve (\d+)", int_vlan_data[0]):
                current_vlan = vlans_interface_name_dict.get(regex[0])
                if current_vlan:
                    add_interface_vlan_data(current_vlan, int_vlan_data)
示例#5
0
    def add_vif_data_to_vlans(self, vlans):
        vlans_interface_name_dict = {vlan.vlan_interface_name: vlan for vlan in vlans if vlan.vlan_interface_name}

        for int_vlan_data in split_on_bang(self.shell.do("show running-config interface")):
            if regex.match("^interface ve (\d+)", int_vlan_data[0]):
                current_vlan = vlans_interface_name_dict.get(regex[0])
                if current_vlan:
                    add_interface_vlan_data(current_vlan, int_vlan_data)
示例#6
0
文件: brocade.py 项目: emmurd/netman
    def get_interface(self, interface_id):
        vlans = []

        if_data = self.shell.do("show interfaces {}".format(interface_id))
        interface = parse_interface(if_data)

        if not interface:
            raise UnknownInterface(interface=interface_id)

        for vlan_data in split_on_bang(self.shell.do("show running-config vlan")):
            vlans.append(parse_vlan_runningconfig(vlan_data))

        interface_vlans = get_interface_vlans_association(interface, vlans)
        set_vlans_properties(interface_vlans)

        return interface
示例#7
0
    def get_interface(self, interface_id):
        vlans = []

        if_data = self.shell.do("show interfaces {}".format(interface_id))
        interface = parse_interface(if_data)

        if not interface:
            raise UnknownInterface(interface=interface_id)

        for vlan_data in split_on_bang(self.shell.do("show running-config vlan")):
            vlans.append(parse_vlan_runningconfig(vlan_data))

        interface_vlans = get_interface_vlans_association(interface, vlans)
        set_vlans_properties(interface_vlans)

        return interface
示例#8
0
文件: brocade.py 项目: emmurd/netman
    def get_interfaces(self):
        interfaces = []
        vlans = []
        interfaces_vlans = []

        for if_data in split_on_dedent(self.shell.do("show interfaces")):
            i = parse_interface(if_data)
            if i:
                interfaces.append(i)

        for vlan_data in split_on_bang(self.shell.do("show running-config vlan")):
            vlans.append(parse_vlan_runningconfig(vlan_data))

        for interface in interfaces:
            interfaces_vlans.append(get_interface_vlans_association(interface, vlans))

        for interface_vlans in interfaces_vlans:
            set_vlans_properties(interface_vlans)
        return interfaces
示例#9
0
    def get_interfaces(self):
        interfaces = []
        vlans = []
        interfaces_vlans = []

        for if_data in split_on_dedent(self.shell.do("show interfaces")):
            i = parse_interface(if_data)
            if i:
                interfaces.append(i)

        for vlan_data in split_on_bang(self.shell.do("show running-config vlan")):
            vlans.append(parse_vlan_runningconfig(vlan_data))

        for interface in interfaces:
            interfaces_vlans.append(get_interface_vlans_association(interface, vlans))

        for interface_vlans in interfaces_vlans:
            set_vlans_properties(interface_vlans)
        return interfaces
示例#10
0
    def get_interfaces(self):
        interfaces = []
        interface_vlans = {}
        for if_data in split_on_dedent(self.shell.do("show interfaces")):
            if regex.match("^\w*Ethernet([^\s]*) is (\w*).*", if_data[0]):
                i = Interface(name="ethernet {}".format(regex[0]), port_mode=ACCESS, shutdown=regex[1] == "disabled")
                for line in if_data:
                    if regex.match("Port name is (.*)", line): i.description = regex[0]
                interfaces.append(i)
                interface_vlans[i.name] = {
                    "object": i,
                    "untagged": None,
                    "tagged": []
                }

        for vlan_data in split_on_bang(self.shell.do("show running-config vlan")):
            if regex.match("^vlan (\d*)", vlan_data[0]):
                vlan_id = int(regex[0])
                for line in vlan_data:
                    if regex.match(" untagged (.*)", line):
                        for name in _to_real_names(parse_if_ranges(regex[0])):
                            interface_vlans[name]["untagged"] = vlan_id
                    if regex.match(" tagged (.*)", line):
                        for name in _to_real_names(parse_if_ranges(regex[0])):
                            interface_vlans[name]["tagged"].append(vlan_id)

        for data in interface_vlans.values():
            if data["untagged"] is not None and len(data["tagged"]) == 0:
                data["object"].access_vlan = data["untagged"]
            elif data["untagged"] is not None and len(data["tagged"]) > 0:
                data["object"].trunk_native_vlan = data["untagged"]

            if len(data["tagged"]) > 0:
                data["object"].port_mode = TRUNK
                data["object"].trunk_vlans = data["tagged"]

        return interfaces
示例#11
0
 def _list_vlans(self):
     vlans = []
     for vlan_data in split_on_bang(
             self.shell.do("show running-config vlan | begin vlan")):
         vlans.append(parse_vlan(vlan_data))
     return vlans