These are the configurations for the Linksys WRT54GS that is acting as Node GHO's router. The Firmware is OpenWRT, precompiled squashfs snapshot from the OpenWRT website dated 25 May 2005. Once the firmware had loaded the NVRAM was cleared and set to defaults using the ''mtd erase nvram && reboot'' command. This gets rid of any NVRAM variables that aren't used by OpenWRT. The filesystem was then reset using the ''firstboot'' command. The WRT54GS has been set up so that each port on the switch is a separately routeable network interface. Each port has it's own IP address and it's own subnet, separate from the other ports. This is achieved with the ''vlanNports=X Y...'' and ''vlanNhwname=et0'' variables. It is running Quagga/OSPF version 0.98.1 !! IFCONFIG ++++ root@nodegho:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:0F:66:C5:2A:D8 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:566116 errors:0 dropped:0 overruns:0 frame:0 TX packets:529242 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:108273473 (103.2 MiB) TX bytes:99490914 (94.8 MiB) Interrupt:5 Base address:0x2000 eth1 Link encap:Ethernet HWaddr 00:0F:66:C5:2A:DA inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:2230678 TX packets:225 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:11250 (10.9 KiB) Interrupt:4 Base address:0x1000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:92 errors:0 dropped:0 overruns:0 frame:0 TX packets:92 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:10158 (9.9 KiB) TX bytes:10158 (9.9 KiB) vlan0 Link encap:Ethernet HWaddr 00:0F:66:C5:2A:D8 inet addr:10.10.129.1 Bcast:10.10.129.15 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:204323 errors:0 dropped:0 overruns:0 frame:0 TX packets:264039 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:41708299 (39.7 MiB) TX bytes:48395231 (46.1 MiB) vlan1 Link encap:Ethernet HWaddr 00:0F:66:C5:2A:D8 inet addr:10.10.130.177 Bcast:10.10.130.191 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:218776 errors:0 dropped:0 overruns:0 frame:0 TX packets:111202 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:23721101 (22.6 MiB) TX bytes:20042223 (19.1 MiB) vlan2 Link encap:Ethernet HWaddr 00:0F:66:C5:2A:D8 inet addr:10.10.131.65 Bcast:10.10.131.79 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:143017 errors:0 dropped:0 overruns:0 frame:0 TX packets:119278 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:32653985 (31.1 MiB) TX bytes:28231018 (26.9 MiB) vlan3 Link encap:Ethernet HWaddr 00:0F:66:C5:2A:D8 inet addr:10.10.131.81 Bcast:10.10.131.95 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:17368 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:1411800 (1.3 MiB) vlan4 Link encap:Ethernet HWaddr 00:0F:66:C5:2A:D8 inet addr:10.10.131.97 Bcast:10.10.131.111 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:17355 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:1410642 (1.3 MiB) root@nodegho:~# ++++ !! NVRAM VARIABLES ++++ aa0=3 ag0=255 boardflags2=0 boardflags=0x0388 boardnum=42 boardrev=0x10 boardtype=0x0101 boot_ver=v3.1 boot_wait=on ccode=0 cctl=0 clkfreq=200 dl_ram_addr=a0001000 et0macaddr=00:0F:66:C5:2A:D8 et0mdcport=0 et0phyaddr=30 gpio2=adm_eecs gpio3=adm_eesk gpio5=adm_eedi gpio6=adm_rc il0macaddr=00:0f:66:c5:2a:da lan_dns=192.168.1.2 lan_gateway= lan_ifname=eth1 lan_ifnames= lan_ipaddr=192.168.1.1 lan_netmask=255.255.255.0 lan_proto=static os_flash_addr=bfc40000 os_ram_addr=80001000 pa0b0=0x170c pa0b1=0xfa24 pa0b2=0xfe70 pa0itssit=62 pa0maxpwr=0x48 pmon_ver=CFE 2004.1.30.0 port0_ifname=vlan0 port0_ipaddr=10.10.129.1 port0_netmask=255.255.255.240 port0_proto=static port1_ifname=vlan1 port1_ipaddr=10.10.130.177 port1_netmask=255.255.255.240 port1_proto=static port2_ifname=vlan2 port2_ipaddr=10.10.131.65 port2_netmask=255.255.255.240 port2_proto=static port3_ifname=vlan3 port3_ipaddr=10.10.131.81 port3_netmask=255.255.255.240 port3_proto=static port4_ifname=vlan4 port4_ipaddr=10.10.131.97 port4_netmask=255.255.255.240 port4_proto=static scratch=a0180000 sdram_config=0x0022 sdram_init=0x0008 sdram_ncdl=0x22 sdram_refresh=0x0000 sromrev=2 vlan0hwname=et0 vlan0ports=0 5 vlan1hwname=et0 vlan1ports=1 5 vlan2hwname=et0 vlan2ports=2 5 vlan3hwname=et0 vlan3ports=3 5 vlan4hwname=et0 vlan4ports=4 5* wan_hostname=nodegho watchdog=5000 wifi_ifname=eth1 wifi_ipaddr= wifi_netmask= wifi_proto=none wl0_afterburner=auto wl0_antdiv=-1 wl0_ap_isolate=0 wl0_auth=0 wl0_auth_mode=open wl0_bcn=100 wl0_channel=6 wl0_closed=0 wl0_corerev=7 wl0_country= wl0_country_code=AU wl0_crypto=tkip wl0_dtim=1 wl0_frag=2346 wl0_frameburst=off wl0_gmode=6 wl0_gmode_protection=auto wl0_hwaddr=00:0F:66:C5:2A:DA wl0_ifname=eth1 wl0_infra=1 wl0_key1= wl0_key2= wl0_key3= wl0_key4= wl0_key=1 wl0_lazywds=0 wl0_maclist= wl0_macmode=disabled wl0_mode=ap wl0_net_mode=mixed wl0_phytype=g wl0_phytypes=g wl0_plcphdr=long wl0_radio=1 wl0_radioids=BCM2050 wl0_radius_ipaddr= wl0_radius_key= wl0_radius_port=1812 wl0_rate=0 wl0_rateset=default wl0_rts=2347 wl0_ssid=snarf wl0_unit=0 wl0_wds= wl0_wep=disabled wl0_wpa_gtk_rekey=3600 wl0_wpa_psk= wl0gpio2=0 wl0gpio3=0 wl0id=0x4320 wl_country_code=AU ++++ !! INSTALLED PACKAGES ++++ http://openwrt.org/downloads/experimental/bin/packages/ntpclient_2003_194-1_mipsel.ipk http://openwrt.org/downloads/experimental/bin/packages/quagga_0.98.3-1_mipsel.ipk http://openwrt.org/downloads/experimental/bin/packages/quagga-ospfd_0.98.3-1_mipsel.ipk http://openwrt.org/downloads/experimental/bin/packages/quagga-zebra_0.98.3-1_mipsel.ipk http://openwrt.org/downloads/experimental/bin/packages/kmod-sched_2.4.30-1_mipsel.ipk http://openwrt.org/downloads/experimental/bin/packages/tc_2.6.9-1_mipsel.ipk http://openwrt.org/downloads/experimental/bin/packages/libpthread_0.9.27-1_mipsel.ipk http://reseaucitoyen.be/diskless/openwrt/feeds/stable/libcpp_5.0.5-1_mipsel.ipk http://reseaucitoyen.be/diskless/openwrt/feeds/stable/iperf_1.7.0-1_mipsel.ipk ++++ !! /etc/quagga/ospfd.conf ++++ hostname nodegho password **** enable password **** log syslog ! interface eth1 ! interface vlan0 ! interface vlan1 ! interface vlan2 ! interface vlan3 ! interface vlan4 ! ! router ospf ospf router-id 10.10.129.1 network 10.10.129.0/28 area 0.0.0.0 network 10.10.130.176/28 area 0.0.0.0 network 10.10.131.64/28 area 0.0.0.0 network 10.10.131.80/28 area 0.0.0.0 network 10.10.131.96/28 area 0.0.0.0 passive-interface eth1 ! ++++ Note that there is no need for a ''redistribute'' statement here as all connected networks have already been declared with ''network'' statements. The internal wireless interface, eth1, has been prevented from participating in OSPF with the ''passive-interface'' statement. !! /etc/init.d/S40network (network initialisation script) ++++ #!/bin/sh . /etc/functions.sh case "$1" in start|restart) # ifup lan # ifup wan ifup port0 ifup port1 ifup port2 ifup port3 ifup port4 ifup wifi wifi up ifup lan wlc eth1 qtxpwr 12 #internal wireless to low power for route in $(nvram get static_route); do { eval "set $(echo $route | sed 's/:/ /g')" $DEBUG route add -net $1 netmask $2 gw $3 metric $4 dev $5 } done ;; esac ++++