From 7a7cc84bc77b24d2f4d06fd6ee797bbaed0693f9 Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Sun, 18 Mar 2007 23:00:11 +0000 Subject: enable rip daemon in base --- usr/local/pkg/routed/routed.inc | 110 ++++++++++++++++++++++++++++++++++++++ usr/local/pkg/routed/routed.xml | 114 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 224 insertions(+) create mode 100644 usr/local/pkg/routed/routed.inc create mode 100644 usr/local/pkg/routed/routed.xml (limited to 'usr') diff --git a/usr/local/pkg/routed/routed.inc b/usr/local/pkg/routed/routed.inc new file mode 100644 index 0000000..59967e8 --- /dev/null +++ b/usr/local/pkg/routed/routed.inc @@ -0,0 +1,110 @@ + $ifname) { + if (in_array($ifname, $ifarr)) { + $gw .= setup_etc_gateways($ifname, 'enable'); + } else { + $gw .= setup_etc_gateways($ifname, 'disable'); + } + } + } else { + /* setup for all interfaces */ + $gw = setup_etc_gateways(); + } + $fd = fopen("/etc/gateways", "w"); + fwrite($fd, $gw); + fclose($fd); + restart_routed(); + } else { + stop_routed(); + } +} + +function setup_etc_gateways($iface="", $mode="") { + global $config; + + if ($iface != "") { + $realif=convert_friendly_interface_to_real_interface_name(strtoupper($iface)); + $ret = "if={$realif} "; + } + + switch($mode) { + case "enable": + if ($config['installedpackages']['routed']['config'][0]['ripversion'] == "2") { + $ret .= "ripv2 "; + $passwd = $config['installedpackages']['routed']['config'][0]['passwd']; + if ($passwd != "") { + $ret .= "passwd={$passwd} "; + } + } + break; + case "disable": + $ret .= "no_rip "; + break; + + default: + break; + + } + $ret .= "\n"; + + return $ret; +} + +function start_routed() { + mwexec("/sbin/routed"); +} + +function stop_routed() { + mwexec("killall routed"); +} + +function restart_routed() { + stop_routed(); + start_routed(); +} + +?> diff --git a/usr/local/pkg/routed/routed.xml b/usr/local/pkg/routed/routed.xml new file mode 100644 index 0000000..7dd12ef --- /dev/null +++ b/usr/local/pkg/routed/routed.xml @@ -0,0 +1,114 @@ + + + + /* $Id$ */ + /* + part of pfSense (http://www.pfsense.org/) + + Copyright (C) 2006 Bill Marquette - bill.marquette@gmail.com. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + */ + + routed + 1.1 + Services: RIP + routed.inc + + + http://www.pfsense.org/packages/config/routed/routed.inc + + + + + RIP +
Services
+ routed.xml + pkg_edit.php?xml=routed.xml&id=0 +
+ + + ROUTED Settings + /pkg_edit.php?xml=routed.xml + + + + + ['installedpackages']['routed']['config'] + + + + Enable RIP + enable + Enables the Routing Information Protocol daemon + checkbox + iface_array,ripversion,passwd + + + Interfaces + iface_array + lan + true + 3 + interfaces_selection + Select the interfaces that RIP will bind to. You can use the CTRL or COMMAND key to select multiple interfaces. + + + + RIP Version + ripversion + select + 2 + + + + + Select which RIP version the daemon will listen/advertise using. + + + + RIPv2 password + passwd + Specify a RIPv2 password. This password will be sent + in the clear on all RIPv2 responses received and sent. + + input + + + pkg_edit.php?xml=routed.xml&id=0 + + + + + + conf_mount_rw(); + setup_routed(); + conf_mount_ro(); + + + + + +
-- cgit v1.1