0.2.7-RC2 release
Hello all,
The 0.2.7-RC2 release is available. It is mainly a bug-fix/optimization release, without new features.
Bug fixes:
- MIPS JIT: fixed a problem of jump in delay slots (occuring with a “forward” jump). This caused a malfunction for C7200-IO-2FE and C7200-IO-GE-E cards.
- Cisco 2600: fixed a bug in DMA handling which caused incorrect writes out of DPRAM memory (and lead to image crashes).
- Fixed JIT instruction tables, which caused a higher startup delay of the emulator on AMD64 platforms.
- Serial interfaces (NM-4T, PA-4T, PA-8T): now allows MTU up to 18000 bytes.
- NM-16ESW: filter CDP specifically to not propagate frames to all ports.
- NM-4E: now works correctly on Cisco 2600 platforms.
- Fixed source build (in NetIO filters) when PCAP is lacking.
- Fixed source build for non-JIT platforms.
Optimizations:
- Network interrupt handling was rewritten. Now these IRQs are managed on a per-slot/port basis, this also leads to a more accurate network device emulation.
- PowerPC: optimizations in Condition Register (CR) handling.
- JIT (MIPS, PowerPC): optimizations in jumps between different pages, allowing an higher performance. However, it may require to recompute idle-pc values. Greg will provide an “oldidle” compatibility option in Dynagen 0.9.1 for people who don’t want to change these values now.
- JIT (MIPS, PowerPC): added a cache for instruction tables (as disk files), allowing a faster startup. If these files are deleted, they are rebuilt dynamically.
Files:
0.2.7-RC2 binary for Linux x86 platforms
0.2.7-RC2 binary for Linux x86_64 platforms
0.2.7-RC2 binaries for Windows XP and 2000
0.2.7-RC2 source code
Chris.
April 16th, 2007 at 7:11 am
Good job!
April 16th, 2007 at 8:03 am
Wau. So many optimization things! Thank you Christ! and glad to see you with us again :).
April 16th, 2007 at 8:36 am
Very happy saw your software new edition, hoped you can support the Cisco 2800 platforms in the next edition IOS. to express thanks.
April 16th, 2007 at 8:42 am
thank you so much for the new release. You’re best
April 16th, 2007 at 10:04 am
hi chris thanks a lot. hi chris does this version add serial interfaces for the 2600 platforms.
best regards
sebastan
April 16th, 2007 at 11:00 am
Thanks one more time for your offer and support!!
I would like to ask you if a Dynagen upgrade is necessary for this new version.
Best regards,
April 16th, 2007 at 12:08 pm
oh yeah
you are always the best
kiss~
April 16th, 2007 at 12:25 pm
Your work is unvaluable! Many thanks !!
April 16th, 2007 at 1:31 pm
Dynagen 0.9.1 has been released. This is a bugfix release with no new features. However this version performs much more rigorous validity checking of the network file and of the adapters and modules used with the different router modules. And rather than silently ignoring unknown configuration options in network files, dynagen now throws a warning in most cases. These additional validations should help with troubleshooting hard to spot syntax errors in your net files.
As Chris said, dynamips 0.2.7 RC2 adds an enhancement to the VM to allow direct jumps between JIT blocks. But in doing so an idlepc value calculated pre RC2 might not be seen anymore. So previously determined Idle PC values may be incompatible and need to be recalculated. However Chris added an option to disable this functionality so you can continue to use your old values until you get a chance to check them all. Use “oldidle = true” in your lab to set this option (at either the top level of the network file or in the router / router defaults section). Just remember to remove this option or set it to false before calculating any new values.
The Dynagen idlepc database is stored in dynagenidledb.ini in your home directory by default, unless you changed it in your dynagen.ini. You can either delete the file to start over from scratch, or remove entries line by line with any text editor.
Also, the tutorial has been updated with a walkthrough of using ghostios and sparsemem, and using the packet capture feature with Wireshark.
For the detailed changelog, see here: http://dynagen.org/page6/changelog.html
April 16th, 2007 at 2:12 pm
pixemu is published~
April 16th, 2007 at 4:51 pm
I’m preparing for CCIE R&S Lab,you have given great help to me.
Many thanks!!!
You are our god,chris!!!
April 16th, 2007 at 4:55 pm
Wonderful! Thanks is not enough.
More power to you Chris, Greg, and to others to make things happen!
April 17th, 2007 at 1:13 am
thanks!
April 17th, 2007 at 2:31 am
Doen’t work.
= 0xffffffff88000000 t1 ($ 9) = 0×0000000008000000
Looping
MIPS64 Registers:
zr ($ 0) = 0×0000000000000000 at ($ 1) = 0xffffffff80010000
v0 ($ 2) = 0×0000000000008008 v1 ($ 3) = 0×0000000000408103
a0 ($ 4) = 0xffffffff87ffff80 a1 ($ 5) = 0×0000000000000000
a2 ($ 6) = 0×0000000000000000 a3 ($ 7) = 0×0000000000000000
t0 ($
t2 ($10) = 0×0000000002000000 t3 ($11) = 0×0000000000000007
t4 ($12) = 0xffffffff839bd1e0 t5 ($13) = 0xffffffff8398dc80
t6 ($14) = 0×00000000000007d8 t7 ($15) = 0×0000000000408100
s0 ($16) = 0xffffffffbfc00000 s1 ($17) = 0xffffffffb6000000
s2 ($18) = 0×0000000000000000 s3 ($19) = 0×0000000000000000
s4 ($20) = 0×0000000000000000 s5 ($21) = 0×0000000000000000
s6 ($22) = 0×0000000000000000 s7 ($23) = 0×0000000000000000
t8 ($24) = 0×0000000000408101 t9 ($25) = 0×0000000000000000
k0 ($26) = 0xffffffffbfc003e0 k1 ($27) = 0×0000000000000000
gp ($28) = 0xffffffff80016b40 sp ($29) = 0xffffffff87ffff80
fp ($30) = 0×0000000000000000 ra ($31) = 0xffffffff800080c0
lo = 0×0000000000000000, hi = 0×0000000000000000
pc = 0xffffffff80009b64, ll_bit = 0
Instruction: 90a20002 lbu v0,2(a1)
CP0 Registers:
= 0×0000000000000002 count ($ 9) = 0×000000007d40e3d0
index ($ 0) = 0×0000000000000000 random ($ 1) = 0×0000000000000005
entry_lo0 ($ 2) = 0×0000000000000000 entry_lo1 ($ 3) = 0×0000000000000000
context ($ 4) = 0×0000000000000000 pagemask ($ 5) = 0×0000000000000000
wired ($ 6) = 0×0000000000000000 info ($ 7) = 0×0000000020000000
badvaddr ($
entry_hi ($10) = 0×0000000000000000 compare ($11) = 0×00000000567636ec
status ($12) = 0×0000000000408101 cause ($13) = 0×0000000000008008
epc ($14) = 0xffffffff80009b64 prid ($15) = 0×0000000000002721
config ($16) = 0×0000000000c08ff0 ll_addr ($17) = 0×0000000000000000
watch_lo ($18) = 0×0000000000000000 watch_hi ($19) = 0×0000000000000000
xcontext ($20) = 0×0000000000000000 cp0_r21 ($21) = 0×0000000000000000
cp0_r22 ($22) = 0×0000000000000000 cp0_r23 ($23) = 0×0000000000000000
cp0_r24 ($24) = 0×0000000000000000 cp0_r25 ($25) = 0×0000000000000000
ecc ($26) = 0×0000000000000000 cache_err ($27) = 0×0000000000000000
tag_lo ($28) = 0×0000000000000000 tag_hi ($29) = 0×0000000000000000
err_epc ($30) = 0×0000000000000000 cp0_r31 ($31) = 0×0000000000000000
IRQ count: 1412, IRQ false positives: 76, IRQ Pending: 1
Timer IRQ count: 1411, pending: 2480, timer drift: 2
Device access count: 106233
Previous RC works fine. amd64
April 17th, 2007 at 2:41 am
*** TLB (Load/Fetch) Exception ***
PC = 0×80009b64, Cause = 0×00008008, Status Reg = 0×00408103
*** TLB (Load/Fetch) Exception ***
PC = 0×80009b64, Cause = 0×00008008, Status Reg = 0×00408103
*** TLB (Load/Fetch) Exception ***
PC = 0×80009b64, Cause = 0×00008008, Status Reg = 0×00408103
*** TLB (Load/Fetch) Exception ***
PC = 0×80009b64, Cause = 0×00008008, Status Reg = 0×00408103
*** TLB (Load/Fetch) Exception ***
PC = 0×80009b64, Cause = 0×00008008, Status Reg = 0×00408103
on telnet console
April 17th, 2007 at 6:07 am
vasia pupkin> How am I supposed to reproduce and debug this without knowing the IOS release used, if it was compressed or not, the virtual router setup (model, memory, …) ?
April 17th, 2007 at 8:12 am
How to compile under FreeBSD?
“Makefile”, line 46: Missing dependency operator
“Makefile”, line 51: Need an operator
“Makefile”, line 52: Missing dependency operator
April 17th, 2007 at 9:08 am
Thanks again…
April 17th, 2007 at 12:13 pm
Ok. I’ve used:
[localhost]
[[7200]]
image = /home/xlam/c7200-g4js-mz.124-12.bin
# On Linux / Unix use forward slashes:
npe = npe-400
ram = 160
#idlepc = 0×6088f644
#idlepc = 0×607f145c
and
[localhost]
[[3640]]
image = /home/xlam/c3640-d-mz.120-4.bin
# On Linux / Unix use forward slashes:
# image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image
npe = npe-400
ram = 160
#idlepc = 0×6088f644
#idlepc = 0×607f145c
Both configs produse errors described erlie
I’m using debian sid amd64. As I said RC1 works fine.
April 17th, 2007 at 6:25 pm
hi,
i’m trying to run it under win2000 pro …
all i get is this …
C:\sim-iewb>dynamips-w2000.exe
C:\sim-iewb>dynamips-w2000.exe c7200.bin
C:\sim-iewb>dynamips-w2000.exe -P 7200 c7200.bin
C:\sim-iewb>dynamips-w2000.exe c7200-k91p-mz.122-25.S9.bin
C:\sim-iewb>dynamips-w2000.exe c7200-k91p-mz.122-25.S9.bin
C:\sim-iewb>dynamips-w2000.exe c7200-k91p-mz.122-25.S9.bin
it is like the execution of the program doesn’t start …
thx.
April 17th, 2007 at 9:43 pm
I have been cracking my head on WHERE can I download PIXEMU. I have been reading and googling around with no success. Any help will be greatly appreciated
April 18th, 2007 at 2:25 am
dear chris and greg,
keep up the good work! ^^
wei
April 18th, 2007 at 11:46 am
Sorry Chris, my fault. _Uncompresed_ IOS image works fine. But _compressed_ looping with errors, but again dynamips-0.2.5-x86.bin works fine with _compressed_
# ./dynamips-0.2.5-x86.bin ./c7200-adventerprisek9-mz.124-11.T.bin
Cisco 7200 Simulation Platform (version 0.2.5-x86)
Copyright (c) 2005,2006 Christophe Fillot.
IOS image file: ./c7200-adventerprisek9-mz.124-11.T.bin
CPU0: carved JIT exec zone of 64 Mb into 2048 pages of 32 Kb.
C7200 instance ‘default’ (id 0):
VM Status : 0
RAM size : 256 Mb
IOMEM size : 0 Mb
NVRAM size : 128 Kb
NPE model : npe-200
Midplane : vxr
IOS image : ./c7200-adventerprisek9-mz.124-11.T.bin
Loading ELF file ‘./c7200-adventerprisek9-mz.124-11.T.bin’…
ELF entry point: 0×80008000
C7200 ‘default’: starting simulation (CPU0 PC=0xffffffffbfc00000), JIT enabled.
ROMMON emulation microcode.
Launching IOS image at 0×80008000…
Self decompressing the image : ######################################################################################################################################################################################################################################################################################################################################################################################################################### [OK]
Restricted Rights Legend
and so on.
As I understand, new release works only with uncompressed images.
April 19th, 2007 at 2:45 am
Thanks Chris and Greg again.
April 19th, 2007 at 11:29 am
Nice the optimized things
Had also the problem with the c7200-adventerpricek9-sna-mz.124-6.T6.bin
after reading this topic. I decompress it and worked OK.
The c7200-ik9s-mz.123-10.bin ( one the I use becouse of testing our network) works fine compressed. But is a bit smaller
Tried some options but did not made any change to the problem.
I’m very happy with Dynamips and use it a lot
Good work.
April 19th, 2007 at 6:34 pm
1000 Thanks!!!
April 19th, 2007 at 7:59 pm
Hi,
I observed, that version 0.2.7-rc2 doesn’t like compressed ios images. Testing all platforms only 3620 be able to correctly run the compressed ios. The previous version 0.2.7-rc1 on all platforms (beyond 2600) correctly run compressed ios image.
This is my test:
Cisco 7200
rc2 not working:
dynamips-wxp c7200-adventerprisek9-mz.124-11.T.bin –t npe-400 –p 1:PA-4T+
rc2 working:
dynamips c7200-adventerprisek9-mz.124-11.T.extracted.bin –t npe-400 –p 1:PA-4T+
rc1 all working:
dynamips-old c7200-adventerprisek9-mz.124-11.T.bin –t npe-400 –p 1:PA-4T+
dynamips-old c7200-adventerprisek9-mz.124-11.T.extracted.bin –t npe-400 –p 1:PA-4T+
Cisco 3725
rc2 not working:
dynamips c3725-adventerprisek9-mz.124-7.bin -P 3725 -p 1:NM-4T
dynamips c3725-adventerprisek9-mz.124-12.bin -P 3725 -p 1:NM-4T
rc2 working:
dynamips c3725-adventerprisek9-mz.124-7.extracted.bin -P 3725 -p 1:NM-4T
dynamips c3725-adventerprisek9-mz.124-12.extracted.bin -P 3725 -p 1:NM-4T
rc1 all working:
dynamips-old c3725-adventerprisek9-mz.124-7.bin -P 3725 -p 1:NM-4T
dynamips-old c3725-adventerprisek9-mz.124-12.bin -P 3725 -p 1:NM-4T
dynamips-old c3725-adventerprisek9-mz.124-7.extracted.bin -P 3725 -p 1:NM-4T
dynamips-old c3725-adventerprisek9-mz.124-12.extracted.bin -P 3725 -p 1:NM-4T
Cisco 3745
rc2 not working:
dynamips c3745-adventerprisek9_ivs-mz.124-9.T.bin -P 3745 -p 1:NM-4T
rc2 working:
dynamips c3745-adventerprisek9_ivs-mz.124-9.T.extracted.bin -P 3745 -p 1:NM-4T
rc1 all working:
dynamips-old c3745-adventerprisek9_ivs-mz.124-9.T.bin -P 3745-p 1:NM-4T
dynamips-old c3745-adventerprisek9_ivs-mz.124-9.T.extracted.bin -P 3745 -p 1:NM-4T
Cisco 3620:
rc2 working:
dynamips c3620-is-mz.122-40.bin -P 3600 -t 3620 -p 0:NM-1FE-TX -p 1:NM-4T
dynamips c3620-ik9o3s6-mz.123-17a.bin -P 3600 -t 3620 -p 0:NM-1FE-TX -p 1:NM-4T
rc1 working:
dynamips-old c3620-is-mz.122-40.bin -P 3600 -t 3620 -p 0:NM-1FE-TX -p 1:NM-4T
dynamips-old c3620-ik9o3s6-mz.123-17a.bin -P 3600 -t 3620 -p 0:NM-1FE-TX -p 1:NM-4T
Cisco 3640:
rc2 not working:
dynamips c3640-jk9o3s-mz.124-5a.bin -P 3600 -t 3640 -p 0:NM-1FE-TX -p 1:NM-4T
dynamips c3640-jk9o3s-mz.124-5a.extracted.bin -P 3600 -t 3640 -p 0:NM-1FE-TX -p 1:NM-4T
dynamips c3640-ik9o3s-mz.124-12.bin -P 3600 -t 3640 -p 0:NM-1FE-TX -p 1:NM-4T
Cisco Router Simulation Platform (version 0.2.7-RC2-x86)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Apr 15 2007 23:39:15
IOS image file: c3640-ik9o3s-mz.124-12.bin
CPU0: carved JIT exec zone of 16 Mb into 512 pages of 32 Kb.
NVRAM is empty, setting config register to 0×2142
C3600 instance ‘default’ (id 0):
VM Status : 0
RAM size : 128 Mb
NVRAM size : 128 Kb
Chassis : 3640
IOS image : c3640-ik9o3s-mz.124-12.bin
Loading ELF file ‘c3640-ik9o3s-mz.124-12.bin’…
ELF entry point: 0×80008000
C3600 ‘default’: starting simulation (CPU0 PC=0xffffffffbfc00000), JIT enabled.
ROMMON emulation microcode.
Launching IOS image at 0×80008000…
Self decompressing the image : ########################################################################################################################################################### [OK]
% No memory map for code execution at 0×0
% Unable to create instruction block for vaddr=0×0
insn_page_compile: unable to create JIT block.
VM ‘default’: unable to compile block for CPU0 PC=0×0
rc2 working:
dynamips c3640-ik9o3s-mz.124-12.extracted.bin -P 3600 -t 3640 -p 0:NM-1FE-TX -p 1:NM-4T
rc1 all working:
dynamips-old c3640-jk9o3s-mz.124-5a.bin -P 3600 -t 3640 -p 0:NM-1FE-TX -p 1:NM-4T
dynamips-old c3640-ik9o3s-mz.124-12.bin -P 3600 -t 3640 -p 0:NM-1FE-TX -p 1:NM-4T
dynamips-old c3640-jk9o3s-mz.124-5a.extracted.bin -P 3600 -t 3640 -p 0:NM-1FE-TX -p 1:NM-4T
dynamips-old c3640-ik9o3s-mz.124-12.extracted.bin -P 3600 -t 3640 -p 0:NM-1FE-TX -p 1:NM-4T
Cisco 3660:
rc2 not working:
dynamips c3660-jk9o3s-mz.124-5a.bin –idle-pc=0×606508d8 -P 3600 -t 3660 -p 0:Leopard-2FE -p 1:NM-4T
rc2 working:
dynamips c3660-jk9o3s-mz.124-5a.extracted.bin –idle-pc=0×606508d8 -P 3600 -t 3660 -p 0:Leopard-2FE -p 1:NM-4T
rc1 all working:
dynamips-old c3660-jk9o3s-mz.124-5a.bin –idle-pc=0×606508d8 -P 3600 -t 3660 -p 0:Leopard-2FE -p 1:NM-4T
dynamips-old c3660-jk9o3s-mz.124-5a.extracted.bin –idle-pc=0×606508d8 -P 3600 -t 3660 -p 0:Leopard-2FE -p 1:NM-4T
Cisco 2691:
rc2 not working:
dynamips c2691-adventerprisek9-mz.124-5a.bin -P 2691 -p 1:NM-4T
rc2 working:
dynamips c2691-adventerprisek9-mz.124-5a.extracted.bin -P 2691 -p 1:NM-4T
rc1 all working:
dynamips-old c2691-adventerprisek9-mz.124-5a.bin -P 2691 -p 1:NM-4T
Cisco 2600
Compressed image newer work.
All test with default, no files.
April 23rd, 2007 at 4:43 pm
Hi,
can you explain, what does it meen NOT WORKING (For example:npe-g2 (NOT WORKING)) ? Not working at all or working with bugs?
April 23rd, 2007 at 9:44 pm
i am join to was jancyk says …i probe only the 3640 image (c3640-js-mz.123-14.T7.bin, with idlepc = 0×605209b0)
we cannot establish the connection on VM
i come from Hungary
simple run, without any config, and i observe this …
“% No memory map for code execution at 0×0
% Unable to create instruction block for vaddr=0×0
insn_page_compile: unable to create JIT block.
VM ‘default’: unable to compile block for CPU0 PC=0×0″
Alexander, this is a not working
and cannot configure anything … sorry my poor english
regards
April 23rd, 2007 at 9:57 pm
Hi,
Not Working mean - working with bugs - looping.
April 24th, 2007 at 8:49 pm
Hi, I have a strange problem and didn’t found any solution. I’m running about 12 routers and dynamips has problem with opening files.
memzone_open_file: open: Too many open files
dev_create_ghost_ram: mmap: Too many open files
RAM_ghost: unable to create device.
C3600 instance ‘BB3′ (id 12):
VM Status : 0
RAM size : 128 Mb
NVRAM size : 128 Kb
Chassis : 3640
IOS image : c3640-jk9o3s-mz.124-13a.image
load_elf_image: open: Too many open files
C3600 ‘BB3′: failed to load Cisco IOS image ‘c3640-jk9o3s-mz.124-13a.image’.
Is this a dynamips, OS (win xp) or cygwin problem? I’m using cygwin from cygwin.com and dynamips compiled from source. Thanks for any advise.
April 27th, 2007 at 12:50 pm
Roman> Can you possibly email me your .net file (paquette_mark_at_hotmail.com, where the _at_ is to be replaced by @ symbol), or batch file, whichever you’re using and I’ll download the IOS myself and see if I suffer a similar issue. For me, and this may be unrelated, on a multi-dual-core-processor server, run dynamips (under DynaGen control) in a seperate instance per 4 routers (as I’ve found this to work well) … and I use IceAffinity to launch each with a seperate processor affinity (leaving processor 0 free for system work).
I don’t know of any file-open limitation you would encounter running DynaMIPS … I can’t imagine any of us even hitting a file-open OS limitation although for sure we could run out of memory (inc. swap space) by mass-opening every document on our HDs.
Lastly … I have not bothered running the latest DynaMIPS because of the comments I’ve read (and the prior version is working for me), so I can’t say if it’s a ‘new’ DynaMIPS issue … have you tried going back to RC1?
April 28th, 2007 at 8:33 pm
Mark, thank for help, but I solved it by using dynamips with Linux. What is interesting, overall performance is much better then under win. So I’m happy now, this problem forced me to install Linux:)
May 11th, 2007 at 4:55 am
under the freebsd6.2
why dynamips version
md# dynamips –v
Cisco 7200 Simulation Platform (version 0.2.5-x86)
unable to add NM binding for slot 0-3
July 22nd, 2007 at 2:57 pm
i get this error:
*** TLB (Load/Fetch) Exception ***
PC = 0×80009b64, Cause = 0×00008008, Status Reg = 0×00408103
i user acer laptop with vista and 512mb ram
ios version is : c1700-advsecurityk9-mz.124-7.bin
when i want to telnet R1 i get this error
Im looking for help
Thank you