def init(ver): if ver == 'ipv4': cps_utils.add_print_function('base-route/obj/entry/nh-list', print_route_nhlist_func) cps_utils.add_print_function('base-route/obj/entry/route-prefix', print_route_prefix_func) else: cps_utils.add_print_function('base-route/obj/entry/nh-list', print_ipv6_route_nhlist_func) cps_utils.add_print_function('base-route/obj/entry/route-prefix', print_ipv6_route_prefix_func)
def init(ver): if ver == 'ipv4': cps_utils.add_print_function( 'base-route/obj/entry/nh-list', print_route_nhlist_func) cps_utils.add_print_function( 'base-route/obj/entry/route-prefix', print_route_prefix_func) else: cps_utils.add_print_function( 'base-route/obj/entry/nh-list', print_ipv6_route_nhlist_func) cps_utils.add_print_function( 'base-route/obj/entry/route-prefix', print_ipv6_route_prefix_func)
cps.get([obj.get()], l) for i in l: cps_utils.print_obj(i) def print_switch_uft_info(uft_data, switch_mode): for mode in uft_data: for key in uft_data[mode]: value = cps_object.types.from_data(key, uft_data[mode][key]) print key + ' = ' + str(value) def print_switch_details(args): switch_mode=['base-switch/switching-entities/switching-entity/switch-mode'] for key, data in args.items(): if isinstance(data, dict): ''' UFT mode information are stored as a dictionary ''' print_switch_uft_info(data, switch_mode) else: value = cps_object.types.from_data(key,data) if key in switch_mode: if (value == 1): print key + " = cut-through (1)" if (value == 2): print key + " = store-and-forward (2)" else: print key + ' = ' + str(value) cps_utils.add_print_function (switch_key_string,print_switch_details)
ba.from_ba(obj['data'][oid], "uint64_t")) val1 = ba.from_ba( obj['data']['if/interfaces-state/interface/statistics/out-discards'], "uint64_t") val2 = ba.from_ba( obj['data']['if/interfaces-state/interface/statistics/in-discards'], "uint64_t") print ' buffer-overrun errors: ', (val1 + val2) print "\n\n" def print_stats(obj): if len(filters) != 0: for item in filters: if item in obj: print '{:40s} {:d}'.format( item.split("/")[-1], ba.from_ba(obj[item], "uint64_t")) else: for item in obj: print item + ': ' + str(ba.from_ba(obj[item], "uint64_t")) print "\n\n" def add_filters(stat_filters): for i in stat_filters: filters.append(i) cps_utils.add_print_function(stat_key_string[0], print_stats) cps_utils.add_print_function(stat_key_string[1], print_stats)
import struct import binascii mirror_key_string = ["base-mirror/entry"] def get_mirror_keys(): return mirror_key_string def print_source_intf(dic): for i, j in dic.items(): print "Source Interface ", struct.unpack("<L", j[16:20])[0], " <-> Direction ", struct.unpack("<L", j[36:40])[0] def print_mirror_obj(dic): print "======================================================================" key = dic['key'] print "KEY : ", key data = dic['data'] for i, j in data.items(): if isinstance(j, bytearray): if len(j) == 4: print i.split("/")[-1], ":", struct.unpack("<L", j[0:4])[0] elif len(j) == 6: print i.split("/")[-1], ":", binascii.hexlify(j) if isinstance(j, dict): parse_source_intf(j) cps_utils.add_print_function(mirror_key_string[0], print_mirror_obj)
mirror_key_string = ["base-mirror/entry"] def get_mirror_keys(): return mirror_key_string def print_source_intf(dic): for i, j in dic.items(): print "Source Interface ", struct.unpack( "<L", j[16:20])[0], " <-> Direction ", struct.unpack("<L", j[36:40])[0] def print_mirror_obj(dic): print "======================================================================" key = dic['key'] print "KEY : ", key data = dic['data'] for i, j in data.items(): if isinstance(j, bytearray): if len(j) == 4: print i.split("/")[-1], ":", struct.unpack("<L", j[0:4])[0] elif len(j) == 6: print i.split("/")[-1], ":", binascii.hexlify(j) if isinstance(j, dict): parse_source_intf(j) cps_utils.add_print_function(mirror_key_string[0], print_mirror_obj)