RIP $100 {awarded}



  • Although I realize this is already on the schedule, I donate to open source projects that make my life and job easier, and since I prefer incentive based donations, I would like to reward a developer to fast track the addition RIP to pfSense.  Please post here and pm me when completed.
    Thank you,
    -Internet Professionals, LLC
    -Pete
    -pc@ipro.net



  • @pcatiprodotnet:

    Although I realize this is already on the schedule, I donate to open source projects that make my life and job easier, and since I prefer incentive based donations, I would like to reward a developer to fast track the addition RIP to pfSense.  Please post here and pm me when completed.
    Thank you,
    -Internet Professionals, LLC
    -Pete
    -pc@ipro.net

    Pete, what are the exact specifications you want?  Just advertising stuff from the kernel routing table?  Learning routes from the network presumably.  Any more controls on it?  Or just a basic wrapper around routed(8)?  As you know, this can't make 1.0, I think it can be made as a package (although at some point I'll probably want to move it into core to sit side by side with olsr) and will go that route (unless your machines are embedded).  Let me know what platform this needs to run on.  Thanks

    –Bill



  • " what are the exact specifications you want? "
    I'll need to discuss this with our Net Admin, will post more specifics soon.
    -Pete



  • @pcatiprodotnet:

    " what are the exact specifications you want? "
    I'll need to discuss this with our Net Admin, will post more specifics tomorrow.
    -Pete

    Thanks.  I'll start working on this, this evening and put in the "obvious" stuff (and stuff I'd want personally) to get ahead of this.  Anything else you add, I should be able to add to it w/out much problem.

    Here's the FreeBSD man page on their routed(8):
    http://www.freebsd.org/cgi/man.cgi?query=routed&apropos=0&sektion=0&manpath=FreeBSD+6.0-RELEASE+and+Ports&format=html

    –Bill



  • I apologize for the delay.  The past few days, we've been spending any spare time concentrating on setting up a pfSense OLSR mesh; but, deployment has been taking longer than it normally should because our manager wanted us to start deploying olsr this week even though olsr is not quite finished (we've still got two remaining unresolved issues from the olsr bounty that Scott is working on).  I plan to compose & post the specifics about the RIP bounty as soon as time permits.
    Thank you,



  • @pcatiprodotnet:

    I apologize for the delay.  The past few days, we've been spending any spare time concentrating on setting up a pfSense OLSR mesh; but, deployment has been taking longer than it normally should because our manager wanted us to start deploying olsr this week even though olsr is not quite finished (we've still got two remaining unresolved issues from the olsr bounty that Scott is working on).  I plan to compose & post the specifics about the RIP bounty as soon as time permits.
    Thank you,

    OK.  I spent a few hours on this on Sunday.  Due to some limitations in the package manager backend code, I won't be able to make this package quite as flexible as I was hoping (individual settings per interface), it'll look a little more like the OLSR setup.

    I can easily enable/disable interfaces, but all settings (rip 1 vs rip 2, authentication, etc) will have to be global for the box (for now).  Let me know if that's going to pose a problem, if not, I'll continue on with this and should have something for you to look at in the next day or two.

    –Bill



  • Global settings are ok with me.
    Thanks,
    -Pete



  • OK, it's not complete and not yet in the package XML, but I just committed a RIP package
    http://cvstrac.pfsense.com/chngview?cn=12526

    I'm not sure I caught whether the machine you'd run this on is a full install or embedded.  If it's full, then all that should be needed for you to be able to test is to get the package info moved into the package XML.

    –Bill



  • Hi Bill,
    I run imbedded CF versions.  If you prefer, I'll attempt to find some free time at work one day and do a full install on an extra pc and test.  As far as what RIP features we desire, we'll be happy if pfSense is simply capable of fully & correctly communicating with other RIP enabled routers/devices (such as RIP versions: V1, V2 broadcast & V2 Multicast).
    Thank you,
    -Pete



  • @pcatiprodotnet:

    Hi Bill,
    I run imbedded CF versions.  If you prefer, I'll attempt to find some free time at work one day and do a full install on an extra pc and test.  As far as what RIP features we desire, we'll be happy if pfSense is simply capable of fully & correctly communicating with other RIP enabled routers/devices (RIP versions: V1, V2 broadcast, & V2 Multicast).
    Thank you,
    -Pete

    It'd be easier if you can test with a full install.  I've got no problem giving you a patch for embedded later once we've established that it works well.  routed is already installed on all the embedded platforms so it's a matter of copying two files over and making a small change to fbegin.inc to enable it (I think - I haven't spent alot of time trying to make this work on embedded, so I may be missing a step, but OLSR is implemented as a package, so this should just hook in the same way).

    –Bill



  • I haven't the time to personally test this any time soon.  If anyone interested could test this pfSense RIP with even your home router (assuming it has RIP), I can go ahead and award this bounty.
    Thanks, -pc



  • Do other devs count?  I would love to help Bill get some loving, too ;)



  • Of course!
    Thanks, -pc



  • @pcatiprodotnet:

    Of course!
    Thanks, -pc

    Thanks, I'll work on wrapping this up this weekend then.  Just been waiting for you to have time to be able to test ;)

    –Bill



  • @billm:

    @pcatiprodotnet:

    Of course!
    Thanks, -pc

    Thanks, I'll work on wrapping this up this weekend then.  Just been waiting for you to have time to be able to test ;)

    –Bill

    OK, routed package posted.  It has the following features:
    Supports RIP v1 and RIP v2
    Allows you to choose which interface to run RIP on (the version is global, can't choose per interface)
    Allows you to set a RIP v2 password (this will apply to all RIP enabled interfaces)

    Some of the items I wanted to add (individual settings per interface) weren't an option with our current package code.  It was my understanding this wasn't a requirement.  If the package is considered acceptable, I'd be willing to create a patch to enable this functionality on an embedded install (packages only work on full installs).

    –Bill



  • this a nice package!



  • @tunge2:

    this a nice package!

    Working for you tunge2 ?

    –Bill



  • it installs and starts for me. 
    root  77143  0.0  0.8  1356  956  ??  Ss  11:54PM  0:00.30 /sbin/routed

    I also see packets on the wire:

    [buraglio@precious:~ ] sudo tcpdump -i en1 -vvv -s 1500 port 520                                                                            <3045>
    tcpdump: listening on en1, link-type EN10MB (Ethernet), capture size 1500 bytes
    00:00:48.897769 IP (tos 0x0, ttl  1, id 11754, offset 0, flags [none], length: 92) 192.168.209.1.router > rip2-routers.mcast.net.router: [udp sum ok]
            RIPv2, Response, length: 64, routes: 3
              Simple Text Authentication data: password
              AFI: IPv4:  192.168.209.0/27, tag 0x0000, metric: 1, next-hop: self
              AFI: IPv4: dhcp-74-136-192-0.insightbb.com/19, tag 0x0000, metric: 1, next-hop: self
            0x0000:  0202 0000 ffff 0002 7061 7373 776f 7264
            0x0010:  0000 0000 0000 0000 0002 0000 c0a8 d100
            0x0020:  ffff ffe0 0000 0000 0000 0001 0002 0000
            0x0030:  4a88 c000 ffff e000 0000 0000 0000 0001
    00:01:18.899978 IP (tos 0x0, ttl  1, id 725, offset 0, flags [none], length: 92) 192.168.209.1.router > rip2-routers.mcast.net.router: [udp sum ok]
            RIPv2, Response, length: 64, routes: 3
              Simple Text Authentication data: password
              AFI: IPv4:  192.168.209.0/27, tag 0x0000, metric: 1, next-hop: self
              AFI: IPv4: dhcp-74-136-192-0.insightbb.com/19, tag 0x0000, metric: 1, next-hop: self
            0x0000:  0202 0000 ffff 0002 7061 7373 776f 7264
            0x0010:  0000 0000 0000 0000 0002 0000 c0a8 d100
            0x0020:  ffff ffe0 0000 0000 0000 0001 0002 0000
            0x0030:  4a88 c000 ffff e000 0000 0000 0000 0001

    It starts and stops from the gui. 
    I'll bounce the box and hopefully get another RIP enabled device on tomorrow.

    nb



  • Ship it!

    j/k



  • Sorry for the delay, I finally got around to bouncing this box that's running routed and found that it was not running after a restart.  /usr/local/etc/rc.d/ did not have a startup script for routed which would pobably explain it.  I reinstalled the pkg which of course restarted the service but there was still no startup script so I don't expect it to be running after a restart. 
    So if it operates as I'm reading it should a simple startup script should start it and begin forwarding packets among the connected nets (since the box is acting as a router).  I don't have anything else that runs rip close by that I can test with to see but as I saw before it's at least talking as I'd expect it to.

    This worked at the most basic level (starting and stopping the service) on my box:

    –snip

    #!/bin/sh

    rc_start() {
            /sbin/routed
    }

    rc_stop() {
            /usr/bin/killall routed
    }

    case $1 in
            start)
                    rc_start
                    ;;
            stop)
                    rc_stop
                    ;;
            restart)
                    rc_stop
                    rc_start
                    ;;
    esac

    ---snip

    --nb



  • Gah, thanks, I'll get that added.

    –Bill



  • @billm:

    Gah, thanks, I'll get that added.

    –Bill

    Bah, this showed a bug in package startup, thanks, fixed now in HEAD.  Waiting on Scott to sync the change back to RELENG_1 (although now we've gotta check the known working packages to make sure I didn't just break them…doh!)

    --Bill



  • Has anyone verifed RIP as working and communicating routes with other RIP devices yet?
    Thanks, -pc



  • @pcatiprodotnet:

    Has anyone verifed RIP as working and communicating routes with other RIP devices yet?
    Thanks, -pc

    Not that I'm aware of.

    –Bill



  • Can someone please verify that this pacakge works so we can close out this bounty?  Thanks!



  • Since nobody is interested in providing feedback on this package, I've pulled it from RELENG_1.  If there's not feedback on it during our next beta cycle it won't make it into 1.1 either.

    –Bill



  • Hi all

    have installed this package in 3 pf in my test lab, and configured with RIP v2, all the pfs work in routing mode, without NAT, But when i go to Diagnostics -> Routes, there is nothing.  I have to do something else, to get this package working?



  • @diegoc:

    Hi all

    have installed this package in 3 pf in my test lab, and configured with RIP v2, all the pfs work in routing mode, without NAT, But when i go to Diagnostics -> Routes, there is nothing.  I have to do something else, to get this package working?

    I bet Diagnostics->Routes only shows static routes (as it's part of core).  I'll check that out tonight and see if it makes sense to modify that screen to show dynamic routes (probably) or if it's something that needs to be added to the package specifically.

    –Bill



  • Works fine here between a RELENG_1 (1.0RC3) and a HEAD box (CVS current).  I see the advertised routes from each box under Diagnostics->Routes

    –Bill



  • @billm:

    Works fine here between a RELENG_1 (1.0RC3) and a HEAD box (CVS current).  I see the advertised routes from each box under Diagnostics->Routes

    –Bill

    OK, wild guess here, you probably are using RIP v1 not v2.  dsh@ and I did find some more bugs in this package and I spent some time reworking it tonight.  Please reinstall the package and re-save and let me know how it works.  If we can get this package tested and confirmed in the next couple days, I'll mark it stable and include it in 1.0.  Thanks

    –Bill



  • Hi

    Working with RIP v2 on all the pf RC2 routers, but without resoults on Diagnostics -> Routes



  • @diegoc:

    Hi

    Working with RIP v2 on all the pf RC2 routers, but without resoults on Diagnostics -> Routes

    This is really wierd as all routes show up for me in Diagnostics -> Routes.  In fact, that screen is just an out put of netstat -rn with very very little processing (splitting and dumping into HTML tables only).  You sure it's running? :)

    –Bill



  • I think is running,
    at least with ps -A can see the process:

    30185  ??  Ss     0:00.61 /sbin/routed

    to be sure,
    How can i see the routing table on each pf?



  • netstat -rn from a command prompt.



  • Working now,
    i have reinstalled the package and upgraded to version 1.1.

    Thanks

    Diego



  • @diegoc:

    Working now,
    i have reinstalled the package and upgraded to version 1.1.

    Thanks

    Diego

    Thanks, updated package status to "Stable" and marked as requiring only pfSense 1.0.

    pcatiprodotnet: I'd like to claim this bounty.  If you need this on embedded I can create a custom firmware update for it (it's only two files and a modification to one core file).

    –Bill



  • Great work Bill.  Please inform me of your paypal email address.  I do exclusively use imbedded, but I don't need it right away; so, I can probably wait until it's included in the official imbedded releases.  Thank you!



  • This bounty completed and paid via paypal with details below…

    "
    Transaction Details

    Payment Sent (ID #4R549712AJ724264S)

    Original Transaction
    Date Type Status Details Amount
    Sep. 14, 2006 Payment To [Bill] M… Completed ... -$100.00 USD

    Related Transaction
    Date Type Status Details Amount
    Sep. 14, 2006 Add Funds from a Bank Account Completed Details $100.00 USD

    Name:
    [Bill] M…
    Email:
    [hidden]

    Total Amount:
    -$100.00 USD

    Date:
    Sep. 14, 2006
    Time:
    18:42:17 PDT
    Status:
    Completed

    Subject:
    Payment for "pfSense RIP Bounty".
    Note:
    Thanks Bill!

    Shipping Address:
    No Address Provided

    Funding Type:
    Instant Transfer
    Funding Source:
    $100.00 USD - Checking (Confirmed) XXXXXXXXXX
    Back Up Funding Source:
    XXX
    "



  • Awesome, thanks!



  • Received, thanks!

    –Bill


Locked