/* Set the I/O mem size */ static int cmd_set_iomem(hypervisor_conn_t *conn,int argc,char *argv[]) { vm_instance_t *vm; if (!(vm = hypervisor_find_vm(conn,argv[0]))) return(-1); vm->nm_iomem_size = 0x8000 | atoi(argv[1]); vm_release(vm); hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK"); return(0); }
/* Show C1700 hardware */ static int cmd_show_hardware(hypervisor_conn_t *conn,int argc,char *argv[]) { vm_instance_t *vm; c1700_t *router; if (!(vm = hypervisor_find_vm(conn,argv[0]))) return(-1); router = VM_C1700(vm); c1700_show_hardware(router); vm_release(vm); hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK"); return(0); }
/* Set the base MAC address for the chassis */ static int cmd_set_mac_addr(hypervisor_conn_t *conn,int argc,char *argv[]) { vm_instance_t *vm; if (!(vm = hypervisor_find_vm(conn,argv[0]))) return(-1); if ((c1700_chassis_set_mac_addr(VM_C1700(vm),argv[1])) == -1) { vm_release(vm); hypervisor_send_reply(conn,HSC_ERR_CREATE,1, "unable to set MAC address for router '%s'", argv[0]); return(-1); } vm_release(vm); hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK"); return(0); }
/* Set the system id */ static int cmd_set_system_id(hypervisor_conn_t *conn,int argc,char *argv[]) { vm_instance_t *vm; if (!(vm = hypervisor_find_vm(conn,argv[0]))) return(-1); if (( c3745_set_system_id(VM_C3745(vm),argv[1])) == -1) { vm_release(vm); hypervisor_send_reply(conn,HSC_ERR_CREATE,1, "unable to set the system id for router '%s'", argv[0]); return(-1); } vm_release(vm); hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK"); return(0); }
/* Get the base MAC address for the chassis */ static int cmd_get_mac_addr(hypervisor_conn_t *conn,int argc,char *argv[]) { vm_instance_t *vm; c3745_t *router; if (!(vm = hypervisor_find_vm(conn,argv[0]))) return(-1); router = VM_C3745(vm); hypervisor_send_reply(conn,HSC_INFO_OK,1, "%2.2x%2.2x.%2.2x%2.2x.%2.2x%2.2x", router->mac_addr.eth_addr_byte[0], router->mac_addr.eth_addr_byte[1], router->mac_addr.eth_addr_byte[2], router->mac_addr.eth_addr_byte[3], router->mac_addr.eth_addr_byte[4], router->mac_addr.eth_addr_byte[5]); vm_release(vm); return(0); }