Bring MPLS Network at Your Home Lab

April 5, 2009

Install Olive in FreeBSD 7.1

Filed under: Juniper, Other

Finally….. after Upgrading to FreeBSD 7.1 Release Olive working properly. Multicast can working now emoticon

Why  choose FreeBSD ?

1. It’s suit for my old PC, I hope i can get better PC   emoticon

2. FreeBSD is my 2nd Operating System

3. I can connecting Olive with GNS3emoticon which i couldn’t do it in  windows

Basically I am reffering this installation from http://juniper.cluepon.net/index.php/Olive and http://wiki.freebsd.org/qemu. Lets we start I didnt explain how to install FreeBSD. After you install freeBSD you must install QEMU from ports if you install it from binary packge or your Olive will not work properly. You can get ports tree from CVS or portsnap and I use portsnap because I am behind firewall

#portsnap fetch && extract

after finishing get the newest port tree lets install QEMU

#cd /usr/ports/emulator/qemu && fetch

You need to modified  QEMU source code, extract the source code in /usr/ports/distfiles/qemu you need to modified eepro100.c 

#ee qemu-0.10.1/hw/eepro100.c  go to line 1508 you will find this statement

         /* Multicast frame. */
        logout("%p received multicast, len=%d\n", s, size);
        /* TODO: check multicast all bit. */
        assert(!(s->configuration[21] & BIT(3)));
        int mcast_idx = compute_mcast_idx(buf);
        if (!(s->mult[mcast_idx >> 3] & (1 << (mcast_idx & 7)))) {
            return;
        }
        rfd_status |= 0x0002;

there is ‘return’ you must comment out and the statement become 

 /* Multicast frame. */
        logout("%p received multicast, len=%d\n", s, size);
        /* TODO: check multicast all bit. */
        assert(!(s->configuration[21] & BIT(3)));
        int mcast_idx = compute_mcast_idx(buf);
        if (!(s->mult[mcast_idx >> 3] & (1 << (mcast_idx & 7)))) {
            //return;
        }
        rfd_status |= 0x0002;

now tar the entire source and we ready to install it

#cd /usr/ports/emulator/qemu && make NO_CHECKSUM=yes install clean <– dont forget to include kqemu options 

you can change install with package if you want to create binary package 

Now your Olive will work properly even you can interoperability with GNS3 emoticon

I created this bridge in FreeBSD box to connect Olive and GNS3 and use stp that can prevent loops inside the bridge

  ifconfig tap1 create up <– Junos fxp0
  ifconfig tap2 create up <– Junos fxp1
  ifconfig tap3 create up <– to GNS3 R0
  ifconfig tap4 create up <– to GNS3 R1
  ifconfig bridge0 create
  ifconfig bridge0 addm tap1 addm tap2 stp tap2 addm tap3 addm tap4 up

and you can create many more tap device  for me two tap interface for Olive is enough to connect more than 4 cisco router

qemu-system-x86_64 -L . -m 512 -hda olive.img -serial telnet::4001,server  -localtime \
-net nic,vlan=1,macaddr=00:aa:00:77:77:07,model=i82559er -net tap,vlan=1,ifname=tap1 \
-net nic,vlan=1,macaddr=00:aa:00:77:77:70,model=i82559er -net tap,vlan=1,ifname=tap2

 

 GOOD LUCK……

5 Comments »

The URI to TrackBack this entry is: http://sioduy.blogsome.com/2009/04/05/install-olive-in-freebsd-71/trackback/

  1. siip mas

    Comment by alan — April 6, 2009 @ 2:10 pm

  2. mas
    di freeB gak ada perintah extract
    CMIIW

    Comment by alan — April 15, 2009 @ 10:52 am

  3. Achmad, u can do some step by step configuration ?

    Comment by Dynospectrum — May 27, 2009 @ 6:02 pm

  4. Any chance to can contact me via email, I need help to install Olive in VMware?

    Thanks

    Comment by Rhodan — June 23, 2009 @ 1:33 am

  5. one question i can install debian/kfreebsd on my pc and do the same process for gns3 and qemu multicast, i ask you because i see the kernel and is freebsd 7.1 i think is the same rutine.

    peace bro

    Comment by Dynospectrum — August 26, 2009 @ 9:52 pm

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.






















Get free blog up and running in minutes with Blogsome
Theme designed by Hadley Wickham