Ejemplo n.º 1
0
def nas_mirror_op(op, data_dict,commit=True):
    obj = cps_utils.CPSObject(
        module="base-mirror/entry",
        data=data_dict)
    if commit:
        nas_ut.get_cb_method(op)(obj)
    else:
        return obj
Ejemplo n.º 2
0
def set_stp_state(stg_id, interface, state):
    obj = cps_object.CPSObject(module=nas_stg_utils.get_stg_keys()[0],
                               data={"switch-id": "0", "id": stg_id})
    el = ["intf", "0", "ifindex"]
    obj.add_embed_attr(el, nas_os_utils.if_nametoindex(interface))
    el[2] = "state"
    obj.add_embed_attr(el, port_state_map[state])
    nas_ut.get_cb_method("set")(obj)
Ejemplo n.º 3
0
def nas_vlan_op(op, data_dict):
    if op == 'get':
        obj = cps_object.CPSObject( nas_if.get_if_key(), data=data_dict)
    else:
        if op in intf_rpc_op_type_map:
            data_dict[intf_rpc_op_attr_id] = intf_rpc_op_type_map[op]
        obj = cps_object.CPSObject( intf_rpc_key_id, data=data_dict)
        op = 'rpc'
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 4
0
def nas_lag_op(op, data_dict, commit=True):
    cps_utils.add_attr_type("base-lag/entry/mac-address", "mac")
    obj = cps_object.CPSObject(module=nas_lag_utils.get_lag_keys()[0],
                               data=data_dict)
    obj.add_attr("if/interfaces/interface/type", "ianaift:ieee8023adLag")
    if commit:
        nas_ut.get_cb_method(op)(obj)
    else:
        return obj
Ejemplo n.º 5
0
def nas_lag_op(op, data_dict,commit=True):
    cps_utils.add_attr_type("base-lag/entry/mac-address", "mac")
    obj = cps_object.CPSObject(
        module=nas_lag_utils.get_lag_keys()[0],
        data=data_dict)
    obj.add_attr("if/interfaces/interface/type","ianaift:ieee8023adLag")
    if commit:
        nas_ut.get_cb_method(op)(obj)
    else:
        return obj
Ejemplo n.º 6
0
def set_stp_state(stg_id, interface, state):
    obj = cps_object.CPSObject(module=nas_stg_utils.get_stg_keys()[0],
                               data={
                                   "switch-id": "0",
                                   "id": stg_id
                               })
    el = ["intf", "0", "ifindex"]
    obj.add_embed_attr(el, nas_os_utils.if_nametoindex(interface))
    el[2] = "state"
    obj.add_embed_attr(el, port_state_map[state])
    nas_ut.get_cb_method("set")(obj)
Ejemplo n.º 7
0
def nas_vlan_op(op, data_dict):
    if op == 'get':
        obj = cps_object.CPSObject(nas_if.get_if_key(), data=data_dict)
    else:
        if op in intf_rpc_op_type_map:
            data_dict[intf_rpc_op_attr_id] = intf_rpc_op_type_map[op]
        else:
            print 'Unknown operation type %s' % op
            return False
        obj = cps_object.CPSObject(intf_rpc_key_id, data=data_dict)
        op = 'rpc'
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 8
0
def nas_lag_op(op, data_dict, commit=True):
    if op == 'get':
        obj = cps_object.CPSObject(module=nas_lag_utils.get_lag_keys()[0],
                                   data=data_dict)
    else:
        if op in intf_rpc_op_type_map:
            data_dict[intf_rpc_op_attr_id] = intf_rpc_op_type_map[op]
        else:
            print 'Unknown operation type %s' % op
            return False
        obj = cps_object.CPSObject(module=intf_rpc_key_id, data=data_dict)
        op = 'rpc'
    obj.add_attr("if/interfaces/interface/type", "ianaift:ieee8023adLag")
    if commit:
        nas_ut.get_cb_method(op)(obj)
    else:
        return (obj, op)
Ejemplo n.º 9
0
def nas_vlan_op(op, data_dict):
    obj = cps_object.CPSObject( nas_if.get_if_key(), data=data_dict)
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 10
0
def nas_route_op(op, obj, ver):
    nas_route.init(ver)
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 11
0
def main(argv):
    ''' The main function will read the user input from the
    command line argument and  process the request  '''

    lag_id = ''
    choice = ''
    port = ''
    mac_addr = ''
    admn_status = ''
    frwd_enable = ''
    lag_name = ''
    mode = ''

    try:
        opts, args = getopt.getopt(argv, "hladpi:", [
            "id=", "port=", "lname=", "mac=", "admn=", "frwd=", "help",
            "create", "delete", "set", "get", "add", "remove", "mac-learn="
        ])

    except getopt.GetoptError:
        usage()

    for opt, arg in opts:

        if opt in ('-h', '--help'):
            choice = 'help'

        elif opt in ('-p', '--port'):
            port = arg

        elif opt in ('-m', '--mac'):
            mac_addr = arg

        elif opt in ('-i', '--id'):
            lag_id = arg

        elif opt in ('-c', '--create'):
            choice = 'create'

        elif opt in ('-d', '--delete'):
            choice = 'delete'

        elif opt in ('-s', '--set'):
            choice = 'set'

        elif opt in ('-g', '--get'):
            choice = 'get'

        elif opt in ('-a', '--add'):
            choice = 'add'

        elif opt in ('-r', '--remove'):
            choice = 'remove'

        elif opt == '--lname':
            lag_name = arg

        elif opt == '--admn':
            admn_status = arg

        elif opt == '--frwd':
            frwd_enable = arg

        elif opt in ('-ml', '--mac-learn'):
            choice = 'mac-learn'
            mode = arg

    if choice == 'create' and lag_name != '':
        cmd_data = {"if/interfaces/interface/name": lag_name}
        nas_lag_op("create", cmd_data)
        if port != '':
            (obj, op) = nas_lag_op("set", cmd_data, False)
            port_list = port.split(",")
            l = ["dell-if/if/interfaces/interface/member-ports", "0", "name"]
            index = 0
            for i in port_list:
                l[1] = str(index)
                index = index + 1
                obj.add_embed_attr(l, i)
            nas_ut.get_cb_method(op)(obj)
            if frwd_enable != '':
                cmd_data[
                    "dell-if/if/interfaces/interface/member-ports/name"] = port_list
                # Member ports are unblocked by default
                if frwd_enable == 'no':
                    cmd_data[
                        "base-if-lag/if/interfaces/interface/block-port-list"] = port_list
                nas_lag_op("set", cmd_data)

    elif choice == 'mac-learn' and lag_name != '':
        nas_lag_op(
            "set", {
                "if/interfaces/interface/name":
                lag_name,
                "base-if-lag/if/interfaces/interface/learn-mode":
                learn_mode_to_val[mode]
            })

    elif choice == 'delete' and lag_name != '':
        nas_lag_op("delete", {"if/interfaces/interface/name": lag_name})

    elif choice == 'get' and lag_name != '':
        nas_lag_op("get", {"if/interfaces/interface/name": lag_name})

    elif choice == 'set' and port != '' and lag_name != '' and frwd_enable != '':
        port_list = port.split(",")
        nas_lag_op(
            "set", {
                "if/interfaces/interface/name":
                lag_name,
                "base-if-lag/if/interfaces/interface/unblock-port-list" if (frwd_enable == 'yes') else "base-if-lag/if/interfaces/interface/block-port-list":
                port_list
            })

    elif (choice == 'add' or choice == 'remove'
          or choice == 'set') and port != '' and lag_name != '':
        op = "set" if (choice == "add" or choice == "set") else "delete"
        attr_data = {"if/interfaces/interface/name": lag_name}
        (obj, op) = nas_lag_op(op, attr_data, False)
        cur_mem_ports = []

        if choice == "add":
            obj_list = []
            r_obj = cps_object.CPSObject(module=intf_lag_key, data=attr_data)
            if cps.get([r_obj.get()], obj_list):
                if len(obj_list) == 1:
                    cps_obj = cps_object.CPSObject(obj=obj_list[0])
                    member_ports_obj = cps_obj.get_attr_data(
                        'dell-if/if/interfaces/interface/member-ports')
                    for key in member_ports_obj:
                        cur_mem_ports.append(member_ports_obj[key]['name'])

        port_list = sorted(port.split(",") + cur_mem_ports)
        l = ["dell-if/if/interfaces/interface/member-ports", "0", "name"]
        index = 0
        for i in port_list:
            l[1] = str(index)
            index = index + 1
            obj.add_embed_attr(l, i)
        nas_ut.get_cb_method(op)(obj)

    elif choice == 'set' and mac_addr != '' and lag_name != '':
        nas_lag_op(
            "set", {
                "if/interfaces/interface/name": lag_name,
                "dell-if/if/interfaces/interface/phys-address": mac_addr
            })

    elif choice == 'set' and admn_status != '' and lag_name != '':
        nas_lag_op(
            "set", {
                "if/interfaces/interface/name":
                lag_name,
                "if/interfaces/interface/enabled":
                "0" if (admn_status == 'down') else "1"
            })
    else:
        usage()
Ejemplo n.º 12
0
def nas_stg_op(op, data_dict, type):
    obj = cps_object.CPSObject(
        module=nas_stg_utils.get_stg_keys()[int(type)],
        data=data_dict)
    obj.add_attr("base-stg/entry/switch-id", "0")
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 13
0
def nas_vlan_op(op, data_dict):
    obj = cps_object.CPSObject(nas_if.get_if_key(), data=data_dict)
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 14
0
if __name__ == '__main__':

    if len(sys.argv) == 1:
        usage()
    elif sys.argv[1] == "create" and len(sys.argv) >=6:
        obj = nas_mirror_op("create",
                            {"type":mirror_type[sys.argv[2]],
                             "dst-intf":nas_os_utils.if_nametoindex(sys.argv[3])},False)
        nas_mirror_add_source(obj,sys.argv[4],sys.argv[5])
        if sys.argv[2]=="rspan" and len(sys.argv) == 7:
            obj.add_attr("vlan",sys.argv[6])
        elif sys.argv[2] !="rspan" and len(sys.argv) == 6:
            usage()
        print obj.get()
        nas_ut.get_cb_method("create")(obj)

    elif sys.argv[1] == "delete" and len(sys.argv) == 3:
        nas_mirror_op("delete", {"id": sys.argv[2]})

    elif sys.argv[1] == "get" and len(sys.argv) == 3:
        nas_mirror_op("get", {"id": sys.argv[2]})

    elif sys.argv[1] == "set_source" and len(sys.argv) == 5:
        obj = nas_mirror_op("set", {"id": sys.argv[2]},False)
        nas_mirror_add_source(obj,sys.argv[3],sys.argv[4])
        print obj.get()
        nas_ut.get_cb_method("set")(obj)

    elif sys.argv[1] == "set_dest" and len(sys.argv) == 4:
        nas_mirror_op("set", {"id": sys.argv[2],
Ejemplo n.º 15
0
    if len(sys.argv) == 1:
        usage()
    elif sys.argv[1] == "create" and len(sys.argv) >= 6:
        obj = nas_mirror_op(
            "create", {
                "type": mirror_type[sys.argv[2]],
                "dst-intf": nas_os_utils.if_nametoindex(sys.argv[3])
            }, False)
        nas_mirror_add_source(obj, sys.argv[4], sys.argv[5])
        if sys.argv[2] == "rspan" and len(sys.argv) == 7:
            obj.add_attr("vlan", sys.argv[6])
        elif sys.argv[2] != "rspan" and len(sys.argv) == 6:
            usage()
        print obj.get()
        nas_ut.get_cb_method("create")(obj)

    elif sys.argv[1] == "delete" and len(sys.argv) == 3:
        nas_mirror_op("delete", {"id": sys.argv[2]})

    elif sys.argv[1] == "get" and len(sys.argv) == 3:
        nas_mirror_op("get", {"id": sys.argv[2]})

    elif sys.argv[1] == "set_source" and len(sys.argv) == 5:
        obj = nas_mirror_op("set", {"id": sys.argv[2]}, False)
        nas_mirror_add_source(obj, sys.argv[3], sys.argv[4])
        print obj.get()
        nas_ut.get_cb_method("set")(obj)

    elif sys.argv[1] == "set_dest" and len(sys.argv) == 4:
        nas_mirror_op(
def nas_port_learn_op(op, data_dict):
    obj = cps_object.CPSObject(module=nas_os_if_utils.get_if_keys()[0],
                               data=data_dict)
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 17
0
def main(argv):
    ''' The main function will read the user input from the
    command line argument and  process the request  '''

    lag_id = ''
    choice = ''
    port = ''
    mac_addr = ''
    admn_status = ''
    frwd_enable = ''
    lag_name = ''

    try:
        opts, args = getopt.getopt(argv, "hladpi:",
                                   ["id=", "port=", "lname=", "mac=", "admn=", "frwd=",
                                    "help", "create", "delete", "set", "get","add","remove"])

    except getopt.GetoptError:
        usage()

    for opt, arg in opts:

        if opt in ('-h', '--help'):
            choice = 'help'

        elif opt in ('-p', '--port'):
            port = arg

        elif opt in ('-m', '--mac'):
            mac_addr = arg

        elif opt in ('-i', '--id'):
            lag_id = arg

        elif opt in ('-c', '--create'):
            choice = 'create'

        elif opt in ('-d', '--delete'):
            choice = 'delete'

        elif opt in ('-s', '--set'):
            choice = 'set'

        elif opt in ('-g', '--get'):
            choice = 'get'

        elif opt in ('-a', '--add'):
            choice = 'add'

        elif opt in ('-r', '--remove'):
            choice = 'remove'

        elif opt == '--lname':
            lag_name = arg

        elif opt == '--admn':
            admn_status = arg

        elif opt == '--frwd':
            frwd_enable = arg

    if choice == 'create' and lag_name != '':
        nas_lag_op("create", {"if/interfaces/interface/name":lag_name})

    elif choice == 'delete' and lag_name != '':
        nas_lag_op(
            "delete",
            {"if/interfaces/interface/name":lag_name })

    elif choice == 'get' and lag_name != '':
        nas_lag_op("get", {"if/interfaces/interface/name": lag_name})

    elif choice == 'set' and port != '' and lag_name != '' and frwd_enable != '':
        ifindex_list = []
        port_list = port.split(",")
        nas_lag_op("set", {"if/interfaces/interface/name":lag_name,
                           "base-if-lag/if/interfaces/interface/unblock-port-list"
                           if (frwd_enable == 'yes') else
                           "base-if-lag/if/interfaces/interface/block-port-list": port_list})

    elif (choice == 'add' or choice == 'remove') and port != '' and lag_name != '':
        op = "create" if (choice == "add") else "delete"
        obj = nas_lag_op(op,
                   {"if/interfaces/interface/name": lag_name},False)
        port_list = port.split(",")
        l = ["dell-if/if/interfaces/interface/member-ports","0","name"]
        index = 0
        for i in port_list:
            l[1]=str(index)
            index = index +1
            obj.add_embed_attr(l,i)
        nas_ut.get_cb_method(op)(obj)

    elif choice == 'set' and mac_addr != '' and lag_name != '':
        nas_lag_op(
            "set",
            {"if/interfaces/interface/name": lag_name,
             "dell-if/if/interfaces/interface/phys-address": mac_addr})

    elif choice == 'set' and admn_status != '' and lag_name != '':
        nas_lag_op("set", {"if/interfaces/interface/name": lag_name, "if/interfaces/interface/enabled":
                           "0" if (admn_status == 'down') else "1"})
    else:
        usage()
Ejemplo n.º 18
0
def nas_sflow_op(op, data_dict):
    obj = cps_object.CPSObject(module=nas_sflow_utils.get_sflow_keys()[0],
                               data=data_dict)
    print obj.get()
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 19
0
def nas_route_op(op, obj, ver):
    nas_route.init(ver)
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 20
0
def main(argv):
    ''' The main function will read the user input from the
    command line argument and  process the request  '''

    lag_id = ''
    choice = ''
    port = ''
    mac_addr = ''
    admn_status = ''
    frwd_enable = ''
    lag_name = ''
    mode = ''

    try:
        opts, args = getopt.getopt(argv, "hladpi:", [
            "id=", "port=", "lname=", "mac=", "admn=", "frwd=", "help",
            "create", "delete", "set", "get", "add", "remove", "mac-learn="
        ])

    except getopt.GetoptError:
        usage()

    for opt, arg in opts:

        if opt in ('-h', '--help'):
            choice = 'help'

        elif opt in ('-p', '--port'):
            port = arg

        elif opt in ('-m', '--mac'):
            mac_addr = arg

        elif opt in ('-i', '--id'):
            lag_id = arg

        elif opt in ('-c', '--create'):
            choice = 'create'

        elif opt in ('-d', '--delete'):
            choice = 'delete'

        elif opt in ('-s', '--set'):
            choice = 'set'

        elif opt in ('-g', '--get'):
            choice = 'get'

        elif opt in ('-a', '--add'):
            choice = 'add'

        elif opt in ('-r', '--remove'):
            choice = 'remove'

        elif opt == '--lname':
            lag_name = arg

        elif opt == '--admn':
            admn_status = arg

        elif opt == '--frwd':
            frwd_enable = arg

        elif opt in ('-ml', '--mac-learn'):
            choice = 'mac-learn'
            mode = arg

    if choice == 'create' and lag_name != '':
        nas_lag_op("create", {"if/interfaces/interface/name": lag_name})

    elif choice == 'mac-learn' and lag_name != '':
        nas_lag_op(
            "set", {
                "if/interfaces/interface/name":
                lag_name,
                "base-if-lag/if/interfaces/interface/learn-mode":
                learn_mode_to_val[mode]
            })

    elif choice == 'delete' and lag_name != '':
        nas_lag_op("delete", {"if/interfaces/interface/name": lag_name})

    elif choice == 'get' and lag_name != '':
        nas_lag_op("get", {"if/interfaces/interface/name": lag_name})

    elif choice == 'set' and port != '' and lag_name != '' and frwd_enable != '':
        ifindex_list = []
        port_list = port.split(",")
        nas_lag_op(
            "set", {
                "if/interfaces/interface/name":
                lag_name,
                "base-if-lag/if/interfaces/interface/unblock-port-list" if (frwd_enable == 'yes') else "base-if-lag/if/interfaces/interface/block-port-list":
                port_list
            })

    elif (choice == 'add'
          or choice == 'remove') and port != '' and lag_name != '':
        op = "create" if (choice == "add") else "delete"
        (obj, op) = nas_lag_op(op, {"if/interfaces/interface/name": lag_name},
                               False)
        port_list = port.split(",")
        l = ["dell-if/if/interfaces/interface/member-ports", "0", "name"]
        index = 0
        for i in port_list:
            l[1] = str(index)
            index = index + 1
            obj.add_embed_attr(l, i)
        nas_ut.get_cb_method(op)(obj)

    elif choice == 'set' and mac_addr != '' and lag_name != '':
        nas_lag_op(
            "set", {
                "if/interfaces/interface/name": lag_name,
                "dell-if/if/interfaces/interface/phys-address": mac_addr
            })

    elif choice == 'set' and admn_status != '' and lag_name != '':
        nas_lag_op(
            "set", {
                "if/interfaces/interface/name":
                lag_name,
                "if/interfaces/interface/enabled":
                "0" if (admn_status == 'down') else "1"
            })
    else:
        usage()
Ejemplo n.º 21
0
def nas_stg_op(op, data_dict, type):
    obj = cps_object.CPSObject(module=nas_stg_utils.get_stg_keys()[int(type)],
                               data=data_dict)
    obj.add_attr("base-stg/entry/switch-id", "0")
    nas_ut.get_cb_method(op)(obj)
Ejemplo n.º 22
0
def nas_mirror_op(op, data_dict, commit=True):
    obj = cps_utils.CPSObject(module="base-mirror/entry", data=data_dict)
    if commit:
        nas_ut.get_cb_method(op)(obj)
    else:
        return obj
def nas_port_learn_op(op, data_dict):
    obj = cps_object.CPSObject(
        module=nas_os_if_utils.get_if_keys()[0],
        data=data_dict)
    nas_ut.get_cb_method(op)(obj)