It is currently Wed Aug 21, 2019 9:46 am


All times are UTC




Post new topic Reply to topic  [ 9 posts ] 
Author Message
 Post subject: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Wed Dec 26, 2012 1:30 pm 
Offline

Joined: Wed Dec 26, 2012 1:07 pm
Posts: 6
Hello everyone.

I've got some problems with running JunOS in GNS3 using Qemu (I'm not the first one, I know).
First, what I have:
  • Ubuntu 12.10 x64
  • GNS3 0.7.4 with Qemu 1.3.0 (installed via apt-get without patching anything)
  • JunOS 12.1 Olive image
I don't have any problems when running JunOS instances that aren't connected to anything else. Qemu successfully starts Olive image, I enter CLI mode and so on. Problems rise when I try to start JunOS connected to another JunOS or IOS. GNS3 uses UDP tunnels for such interconnections and that is the source of the issue.
That's what I get from qemuwrapper.py:
Code:
/usr/local/bin/qemu-img returned with 0
    command: ['/usr/local/bin/qemu-system-i386', '-name', 'Anl01rb', '-m', '256', '/tmp/Anl01rb/FLASH', '-hdb', '/tmp/Anl01rb/SWAP', '-enable-kvm', '-net', 'nic,vlan=0,macaddr=00:aa:00:74:ff:00,model=e1000', '-net', 'udp,vlan=0,sport=20018,dport=20017,daddr=127.0.0.1', '-net', 'nic,vlan=1,macaddr=00:aa:00:74:ff:01,model=e1000', '-net', 'udp,vlan=1,sport=20020,dport=20019,daddr=127.0.0.1', '-net', 'nic,vlan=2,macaddr=00:aa:00:74:ff:02,model=e1000', '-net', 'udp,vlan=2,sport=20006,dport=10004,daddr=127.0.0.1', '-net', 'nic,vlan=3,macaddr=00:aa:00:74:ff:03,model=e1000', '-net', 'udp,vlan=3,sport=20004,dport=10000,daddr=127.0.0.1', '-net', 'nic,vlan=4,macaddr=00:00:ab:3d:e2:04,model=e1000', '-net', 'nic,vlan=5,macaddr=00:00:ab:0b:6c:05,model=e1000', '-serial', 'telnet::3000,server,nowait']
qemu-system-i386: -net udp,vlan=0,sport=20018,dport=20017,daddr=127.0.0.1: Invalid parameter 'udp

However Qemu 1.3 is said to support UDP tunnels:
Code:
[email protected]:/tmp$ qemu-system-i386 -help | grep udp
-net udp[,vlan=n]sport=sport,dport=dport,daddr=host
                connect the vlan 'n' to a udp host (for dynamips/pemu/GNS3)
-net socket[,vlan=n][,name=str][,fd=h][,udp=host:port][,localaddr=host:port]
-chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]

To be honestly I'm a bit confused. I'd be very happy if someone has any idea how to solve this problem.




Top
 Profile  
 
 Post subject: Re: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Wed Dec 26, 2012 2:04 pm 
Offline

Joined: Wed Dec 26, 2012 1:07 pm
Posts: 6
Upgrading to GNS3 0.8.3.1 didn't help.


Top
 Profile  
 
 Post subject: Re: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Thu Dec 27, 2012 6:00 pm 
Offline

Joined: Tue Mar 08, 2011 2:25 pm
Posts: 101
A wild guess: you have installed the new qemu package (qemu-system-...) but you still use the old qemu binary in your GNS3 configuration. It could be that qemuwrapper uses the new one, or something else. The GUI detects that 'qemu' is here with our old patches and too old to support the new syntax.

Quote:
-net udp,vlan=0,sport=20018,dport=20017,daddr=127.0.0.1


Is clearly not supported natively by Qemu, it's our patch. The new syntax looks like:

Quote:
-netdev socket,udp=127.0.0.1:4242,localaddr=127.0.0.1:4243,id=gns3-1


Check your GNS3 Preferences, use qemu-system-i386, test the settings. Check in your $PATH that qemu is not here anymore. If the problem persists, come back here with some logs:

1- edit qemuwrapper.py to change the 'debuglevel' value to 3
2- execute qemuwrapper.py yourself in a console
3- type 'debug 3' in the GNS3 GUI console, add 2 Qemu hosts, connect them and start the topology
4- Copy here all the output you get

If you can't do that tomorrow, it's OK. Send me a PM on the forum if you have more info.


Top
 Profile  
 
 Post subject: Re: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Fri Dec 28, 2012 9:01 pm 
Offline

Joined: Wed Dec 26, 2012 1:07 pm
Posts: 6
benjamin, thank's for a reply.

It seems I use 'qemu-system-i386' in GNS3 Qemu settings, not 'qemu'. I've also read qemuwrapper.py source code, it calls 'qemu-system-i386'.
Tomorrow I'll try to run Qemu in debug mode, hope that will give some clues.


Top
 Profile  
 
 Post subject: Re: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Sat Dec 29, 2012 11:20 am 
Offline

Joined: Tue Mar 08, 2011 2:25 pm
Posts: 101
Still you are using the old syntax. Without debugging you should see a message if you run qemuwrapper.py in a terminal: "Falling back to the old qemu syntax". If you see that then try to execute yourself in a terminal the following command and give me the output:

Code:
qemu-system-i386 -net socket


Basically the string "udp=" should be there, unless Qemu changed the output format. I didn't get the chance to try Qemu 1.3 on unix, but previous versions worked just fine. If it turns out to be that, we will fix it for the next beta.


Top
 Profile  
 
 Post subject: Re: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Sun Dec 30, 2012 5:13 pm 
Offline

Joined: Wed Dec 26, 2012 1:07 pm
Posts: 6
I've run everything in debug mode.
This is what I've got from console by qemuwrapper.py:
Code:
[email protected]:/opt/GNS3/qemuwrapper$ python qemuwrapper.py
Log file = /tmp/gns3-qemuwrapper-log.txt
WELCOME to qemuwrapper.py
Qemu Emulator Wrapper (version 0.8.3.1)
Copyright (c) 2007-2011 Thomas Pani & Jeremy Grossmann

qemuwrapper.py    main()
Qemu path (qemu-system-i386) is valid
Qemu-img path (qemu-img) is valid
QemuWrapperServer::__init__()
Qemu TCP control server started (port 10525).
Listening on all network interfaces
QemuWrapperRequestHandler::handle()
Connection from ('127.0.0.1', 53886)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens()
QemuWrapperRequestHandler::send_reply(code=200, done=1, msg=At least a module and a command must be specified)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens()
QemuWrapperRequestHandler::send_reply(code=200, done=1, msg=At least a module and a command must be specified)
[Errno 32] Broken pipe
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 53886)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
QemuWrapperRequestHandler::handle()
Connection from ('127.0.0.1', 53887)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemuwrapper version)
QemuWrapperRequestHandler::do_qemuwrapper_version([])
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=0.8.3.1)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemuwrapper reset)
QemuWrapperRequestHandler::do_qemuwrapper_reset([])
Shutdown in progress...
Shutdown completed.
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemuwrapper qemu_path "/usr/local/bin/qemu-system-i386")
QemuWrapperRequestHandler::do_qemuwrapper_qemu_path(['/usr/local/bin/qemu-system-i386'])
Qemu path is now /usr/local/bin/qemu-system-i386
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
    self.finish_request(request, client_address)
QemuWrapperRequestHandler::__get_tokens(qemuwrapper qemu_img_path "/usr/local/bin/qemu-img")
QemuWrapperRequestHandler::do_qemuwrapper_qemu_img_path(['/usr/local/bin/qemu-img'])
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
Qemu-img path is now /usr/local/bin/qemu-img
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 651, in __init__
    self.finish()
  File "/usr/lib/python2.7/SocketServer.py", line 704, in finish
    self.wfile.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
QemuWrapperRequestHandler::__get_tokens(qemuwrapper working_dir "/tmp")
QemuWrapperRequestHandler::do_qemuwrapper_working_dir(['/tmp'])
Working directory is now /tmp
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
----------------------------------------
QemuWrapperRequestHandler::__get_tokens(qemu create junos JUNOS1)
QemuWrapperRequestHandler::do_qemu_create(['junos', 'JUNOS1'])
QemuWrapperRequestHandler::__qemu_create(dev_type=junos, name=JUNOS1)
JunOSInstance::__init__()
QEMUInstance::__init__()
xEMUInstance::__init__()
xEMUInstance::create()
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=Qemu 'JUNOS1' created)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu setattr JUNOS1 console 3000)
QemuWrapperRequestHandler::do_qemu_setattr(['JUNOS1', 'console', '3000'])
!! JUNOS1.console = 3000
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=console set for 'JUNOS1')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu setattr JUNOS1 netcard e1000)
QemuWrapperRequestHandler::do_qemu_setattr(['JUNOS1', 'netcard', 'e1000'])
!! JUNOS1.netcard = e1000
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=netcard set for 'JUNOS1')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu setattr JUNOS1 image "/home/erik/Documents/GNS3/Images/JunOS 12.1.img")
QemuWrapperRequestHandler::do_qemu_setattr(['JUNOS1', 'image', '/home/erik/Documents/GNS3/Images/JunOS 12.1.img'])
!! JUNOS1.image = /home/erik/Documents/GNS3/Images/JunOS 12.1.img
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=image set for 'JUNOS1')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu setattr JUNOS1 kvm True)
QemuWrapperRequestHandler::do_qemu_setattr(['JUNOS1', 'kvm', 'True'])
!! JUNOS1.kvm = True
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=kvm set for 'JUNOS1')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu clean JUNOS1)
QemuWrapperRequestHandler::do_qemu_clean(['JUNOS1'])
JunOSInstance::clean()
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::handle()
Connection from ('127.0.0.1', 53888)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens()
QemuWrapperRequestHandler::send_reply(code=200, done=1, msg=At least a module and a command must be specified)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens()
QemuWrapperRequestHandler::send_reply(code=200, done=1, msg=At least a module and a command must be specified)
[Errno 32] Broken pipe
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 53888)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 651, in __init__
    self.finish()
  File "/usr/lib/python2.7/SocketServer.py", line 704, in finish
    self.wfile.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
----------------------------------------
QemuWrapperRequestHandler::__get_tokens(qemu create junos JUNOS2)
QemuWrapperRequestHandler::do_qemu_create(['junos', 'JUNOS2'])
QemuWrapperRequestHandler::__qemu_create(dev_type=junos, name=JUNOS2)
JunOSInstance::__init__()
QEMUInstance::__init__()
xEMUInstance::__init__()
xEMUInstance::create()
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=Qemu 'JUNOS2' created)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu setattr JUNOS2 console 3001)
QemuWrapperRequestHandler::do_qemu_setattr(['JUNOS2', 'console', '3001'])
!! JUNOS2.console = 3001
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=console set for 'JUNOS2')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu setattr JUNOS2 netcard e1000)
QemuWrapperRequestHandler::do_qemu_setattr(['JUNOS2', 'netcard', 'e1000'])
!! JUNOS2.netcard = e1000
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=netcard set for 'JUNOS2')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu setattr JUNOS2 image "/home/erik/Documents/GNS3/Images/JunOS 12.1.img")
QemuWrapperRequestHandler::do_qemu_setattr(['JUNOS2', 'image', '/home/erik/Documents/GNS3/Images/JunOS 12.1.img'])
!! JUNOS2.image = /home/erik/Documents/GNS3/Images/JunOS 12.1.img
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=image set for 'JUNOS2')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu setattr JUNOS2 kvm True)
QemuWrapperRequestHandler::do_qemu_setattr(['JUNOS2', 'kvm', 'True'])
!! JUNOS2.kvm = True
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=kvm set for 'JUNOS2')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu clean JUNOS2)
QemuWrapperRequestHandler::do_qemu_clean(['JUNOS2'])
JunOSInstance::clean()
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu create_nic JUNOS1 0 00:ab:ae:99:e3:00)
QemuWrapperRequestHandler::do_qemu_create_nic(['JUNOS1', '0', '00:ab:ae:99:e3:00'])
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu create_nic JUNOS2 0 00:ab:b1:c4:72:00)
QemuWrapperRequestHandler::do_qemu_create_nic(['JUNOS2', '0', '00:ab:b1:c4:72:00'])
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu create_udp JUNOS1 0 127.0.0.1 20000 127.0.0.1 20001)
QemuWrapperRequestHandler::do_qemu_create_udp(['JUNOS1', '0', '127.0.0.1', '20000', '127.0.0.1', '20001'])
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu create_udp JUNOS2 0 127.0.0.1 20001 127.0.0.1 20000)
QemuWrapperRequestHandler::do_qemu_create_udp(['JUNOS2', '0', '127.0.0.1', '20001', '127.0.0.1', '20000'])
QemuWrapperRequestHandler::send_reply(code=100, done=1, msg=OK)
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu start JUNOS1)
QemuWrapperRequestHandler::do_qemu_start(['JUNOS1'])
xEMUInstance::start()
QEMUInstance::_build_command()
JunOSInstance::_disk_options()
Formatting '/tmp/JUNOS1/FLASH', fmt=qcow2 size=5368709120 backing_file='/home/erik/Documents/GNS3/Images/JunOS 12.1.img' encryption=off cluster_size=65536 lazy_refcounts=off
/usr/local/bin/qemu-img returned with 0
Formatting '/tmp/JUNOS1/SWAP', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off
/usr/local/bin/qemu-img returned with 0
QEMUInstance::_image_options()
QEMUInstance::_kernel_options()
Starting Qemu => /usr/local/bin/qemu-system-i386 -name JUNOS1 -m 256 "/tmp/JUNOS1/FLASH" -hdb "/tmp/JUNOS1/SWAP" -enable-kvm -net nic,vlan=0,macaddr=00:ab:ae:99:e3:00,model=e1000 -net udp,vlan=0,sport=20000,dport=20001,daddr=127.0.0.1 -net nic,vlan=1,macaddr=00:00:ab:1d:b6:01,model=e1000 -net nic,vlan=2,macaddr=00:00:ab:cf:9e:02,model=e1000 -net nic,vlan=3,macaddr=00:00:ab:58:80:03,model=e1000 -net nic,vlan=4,macaddr=00:00:ab:a8:8e:04,model=e1000 -net nic,vlan=5,macaddr=00:00:ab:d3:86:05,model=e1000 -serial telnet::3000,server,nowait
qemu-system-i386: -net udp,vlan=0,sport=20000,dport=20001,daddr=127.0.0.1: Invalid parameter 'udp'
Qemu has exited with return code 1
QemuWrapperRequestHandler::send_reply(code=209, done=1, msg=unable to start instance 'JUNOS1')
QemuWrapperRequestHandler::handle_one_request()
QemuWrapperRequestHandler::__get_tokens(qemu start JUNOS2)
QemuWrapperRequestHandler::do_qemu_start(['JUNOS2'])
xEMUInstance::start()
QEMUInstance::_build_command()
JunOSInstance::_disk_options()
Formatting '/tmp/JUNOS2/FLASH', fmt=qcow2 size=5368709120 backing_file='/home/erik/Documents/GNS3/Images/JunOS 12.1.img' encryption=off cluster_size=65536 lazy_refcounts=off
/usr/local/bin/qemu-img returned with 0
Formatting '/tmp/JUNOS2/SWAP', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off
/usr/local/bin/qemu-img returned with 0
QEMUInstance::_image_options()
QEMUInstance::_kernel_options()
Starting Qemu => /usr/local/bin/qemu-system-i386 -name JUNOS2 -m 256 "/tmp/JUNOS2/FLASH" -hdb "/tmp/JUNOS2/SWAP" -enable-kvm -net nic,vlan=0,macaddr=00:ab:b1:c4:72:00,model=e1000 -net udp,vlan=0,sport=20001,dport=20000,daddr=127.0.0.1 -net nic,vlan=1,macaddr=00:00:ab:02:31:01,model=e1000 -net nic,vlan=2,macaddr=00:00:ab:b0:8d:02,model=e1000 -net nic,vlan=3,macaddr=00:00:ab:b2:b4:03,model=e1000 -net nic,vlan=4,macaddr=00:00:ab:41:e0:04,model=e1000 -net nic,vlan=5,macaddr=00:00:ab:a9:3f:05,model=e1000 -serial telnet::3001,server,nowait
qemu-system-i386: -net udp,vlan=0,sport=20001,dport=20000,daddr=127.0.0.1: Invalid parameter 'udp'
Qemu has exited with return code 1
QemuWrapperRequestHandler::send_reply(code=209, done=1, msg=unable to start instance 'JUNOS2')
QemuWrapperRequestHandler::handle_one_request()


And that's from the GNS3 console:
Code:
GNS3 management console. Running on GNS3 version 0.8.3.1
Copyright (c) 2006-2012 GNS3 Project

=> debug 3
=> 21:03:35: DEBUG (2): Hello, I have initialized and my model is O-series
21:03:36: DEBUG (2): Qemuwrapper: 127.0.0.1:10525
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemuwrapper version
21:03:36: DEBUG (1): returned -> ['100-0.8.3.1']
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemuwrapper reset
21:03:36: DEBUG (1): returned -> ['100-OK']
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemuwrapper qemu_path "/usr/local/bin/qemu-system-i386"
21:03:36: DEBUG (1): returned -> ['100-OK']
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemuwrapper qemu_img_path "/usr/local/bin/qemu-img"
21:03:36: DEBUG (1): returned -> ['100-OK']
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemuwrapper working_dir "/tmp"
21:03:36: DEBUG (1): returned -> ['100-OK']
21:03:36: DEBUG (2): Set default image /home/erik/Documents/GNS3/Images/JunOS 12.1.img for node type <class 'GNS3.Node.AnyEmuDevice.JunOS'>, model 'O-series'
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu create junos JUNOS1
21:03:36: DEBUG (1): returned -> ["100-Qemu 'JUNOS1' created"]
21:03:36: DEBUG (1): PORT TRACKER: allocate port 3000
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu setattr JUNOS1 console 3000
21:03:36: DEBUG (1): returned -> ["100-console set for 'JUNOS1'"]
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu setattr JUNOS1 netcard e1000
21:03:36: DEBUG (1): returned -> ["100-netcard set for 'JUNOS1'"]
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu setattr JUNOS1 image "/home/erik/Documents/GNS3/Images/JunOS 12.1.img"
21:03:36: DEBUG (1): returned -> ["100-image set for 'JUNOS1'"]
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu setattr JUNOS1 kvm True
21:03:36: DEBUG (1): returned -> ["100-kvm set for 'JUNOS1'"]
21:03:36: DEBUG (2): Juniper Router JUNOS1 created
21:03:36: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu clean JUNOS1
21:03:36: DEBUG (1): returned -> ['100-OK']
21:03:36: DEBUG (2): Running config: {'autostart': False, u'qemu 127.0.0.1:10525': {'workingdir': u'/tmp', 'udp': 20000, 'qemupath': u'/usr/local/bin/qemu-system-i386', 'qemuimgpath': u'/usr/local/bin/qemu-img', 'O-series': {'image': u'/home/erik/Documents/GNS3/Images/JunOS 12.1.img', 'netcard': 'e1000', 'kvm': True}, 'JUNOS JUNOS1': {}}}
21:03:43: DEBUG (2): Hello, I have initialized and my model is O-series
21:03:44: DEBUG (2): Qemuwrapper: 127.0.0.1:10525
21:03:44: DEBUG (2): Set default image /home/erik/Documents/GNS3/Images/JunOS 12.1.img for node type <class 'GNS3.Node.AnyEmuDevice.JunOS'>, model 'O-series'
21:03:44: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu create junos JUNOS2
21:03:44: DEBUG (1): returned -> ["100-Qemu 'JUNOS2' created"]
21:03:44: DEBUG (1): PORT TRACKER: allocate port 3001
21:03:44: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu setattr JUNOS2 console 3001
21:03:44: DEBUG (1): returned -> ["100-console set for 'JUNOS2'"]
21:03:44: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu setattr JUNOS2 netcard e1000
21:03:44: DEBUG (1): returned -> ["100-netcard set for 'JUNOS2'"]
21:03:44: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu setattr JUNOS2 image "/home/erik/Documents/GNS3/Images/JunOS 12.1.img"
21:03:44: DEBUG (1): returned -> ["100-image set for 'JUNOS2'"]
21:03:44: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu setattr JUNOS2 kvm True
21:03:44: DEBUG (1): returned -> ["100-kvm set for 'JUNOS2'"]
21:03:44: DEBUG (2): Juniper Router JUNOS2 created
21:03:44: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu clean JUNOS2
21:03:44: DEBUG (1): returned -> ['100-OK']
21:03:44: DEBUG (2): Running config: {'autostart': False, u'qemu 127.0.0.1:10525': {'workingdir': u'/tmp', 'udp': 20000, 'qemupath': u'/usr/local/bin/qemu-system-i386', 'qemuimgpath': u'/usr/local/bin/qemu-img', 'O-series': {'image': u'/home/erik/Documents/GNS3/Images/JunOS 12.1.img', 'netcard': 'e1000', 'kvm': True}, 'JUNOS JUNOS1': {}, 'JUNOS JUNOS2': {}}}
21:04:06: DEBUG (2): Connect link from JUNOS1 e0 to JUNOS2 e0
21:04:06: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu create_nic JUNOS1 0 00:ab:ae:99:e3:00
21:04:06: DEBUG (1): returned -> ['100-OK']
21:04:06: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu create_nic JUNOS2 0 00:ab:b1:c4:72:00
21:04:06: DEBUG (1): returned -> ['100-OK']
21:04:06: DEBUG (1): new base UDP port for qemuwrapper at 127.0.0.1:10525 is now: 20001
21:04:06: DEBUG (1): new base UDP port for dynamips at 127.0.0.1:10525 is now: 20002
21:04:06: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu create_udp JUNOS1 0 127.0.0.1 20000 127.0.0.1 20001
21:04:06: DEBUG (1): returned -> ['100-OK']
21:04:06: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu create_udp JUNOS2 0 127.0.0.1 20001 127.0.0.1 20000
21:04:06: DEBUG (1): returned -> ['100-OK']
21:04:18: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu start JUNOS1
21:04:19: DEBUG (1): returned -> ["209-unable to start instance 'JUNOS1'"]
21:06:24: DEBUG (1): sending to qemuwrapper at 127.0.0.1:10525 -> qemu start JUNOS2
21:06:25: DEBUG (1): returned -> ["209-unable to start instance 'JUNOS2'"]



Top
 Profile  
 
 Post subject: Re: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Sun Dec 30, 2012 5:27 pm 
Offline

Joined: Wed Dec 26, 2012 1:07 pm
Posts: 6
I've solved it. The problem was in the qemuprotocol version. I've set it to 1 (experimental) in the qemuwrapper.py and that helped.
benjamin thanks for the help.


Top
 Profile  
 
 Post subject: Re: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Sun Dec 30, 2012 8:24 pm 
Offline

Joined: Tue Mar 08, 2011 2:25 pm
Posts: 101
Interesting, it should have switched to the new protocol automatically. Anyways, 1 is now the default. I'm glad you could solve your problem, well done ;).


Top
 Profile  
 
 Post subject: Re: Qemu-1.3.0: Invalid parameter 'udp'
PostPosted: Sun Sep 07, 2014 10:20 pm 
Offline

Joined: Sat Sep 14, 2013 6:20 pm
Posts: 2
Sorry to dig this up. I was having similar issues on Windows 8.1 while trying to integrate the new Juniper VRR (Virtual Route Reflector) with GNS3, which requires running the 64-bit version on Qemu (qemu-system-x86_64.exe).

The problem? qemuwrapper checks for "qemu-system-i386w.exe", where I was using the 64-bit version "qemu-system-x86_64.exe"
Code:
        if platform.system() == 'Windows':
            # On Windows, Qemu binaries don't return anything when using -help. So pick up the protocol based on the filename.
            binary_name = os.path.basename(self.bin)
            print "Binary: %s" % binary_name
            if binary_name == 'qemu-system-i386w.exe':
                local_qemuprotocol = 1
                print "Using the new qemu syntax"
            else:
                local_qemuprotocol = 0
                print "Using the old qemu syntax"


Since I needed to run using "qemu-system-x86_64.exe", that meant that qemuwrapper would use local_qemuprotocol = 0, which translates to using the old and unsupported qemu command line syntax, which would fail. I propose to change qemuwrapper to only check for "qemu-system":
Code:
        if platform.system() == 'Windows':
            # On Windows, Qemu binaries don't return anything when using -help. So pick up the protocol based on the filename.
            binary_name = os.path.basename(self.bin)
            print "Binary: %s" % binary_name
            if 'qemu-system' in binary_name:
                local_qemuprotocol = 1
                print "Using the new qemu syntax"
            else:
                local_qemuprotocol = 0
                print "Using the old qemu syntax"


For anyone else running into this issue, you can use this work-around until qemuwrapper is patched: just rename qemu-system-x86_64.exe to qemu-system-i386w.exe.




Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group

phpBB SEO