Updated
Jul 30th, 2012
First Posted
Jul 30th, 2012

Upgrading an Appliance from v4 to v5

General Notes

Appliances running ET/BWMGR v4.27 or earlier cannot be upgraded using the Auto-Update tool. Installing requires a full re-install of the OS and software from the USB Appliance Installer. Note: It is not required that you overwrite your main hard drive. We strongly advise that you install v5 to a fresh hard drive, and keep your old drive for reference as you migrate to the new version.

Importing Rules and Profiles

If you wish to do a complete fresh installation without importing rules, skip to the Installation section of this document.

Profiles

If your v4 ruleset used profiles, then the first thing you will want to do on your V5 installation is to re-create your profiles, using the same names and settings when possible. If your v4 profiles used the Time of Day (TOD) settings, you will need to familiarize yourself with the new v5 TOD profiles before adding your profiles, as the feature has changed significantly.

Rules

You may import your old configuration before installing, while you are still running from USB. If you have a newer v5 system (for example, if you are upgrading from a FreeBSD 7.0 system running ET/BWMGR v5.0beta,) then your ruleset should work with little to no adjustments. However, if you have an older machine older than ET/BWMGR v4.27, then rule syntax and behavior may have changed, and the upgrade may be an opportunity to update your bandwidth management strategy by creating a new ruleset. Copy the file /etc/rc.bwmgr from your old v4 machine (via FTP or just cut and paste from a telnet/SSH session), and save as /etc/rc.bwmgr.v4. Edit this file, and make the following changes.
• Remove any lines that have to do with setsniffing, maxbuffer, or that run non-bwmgr commands, such as rm /var/run/bwmgrd, or starting bwmgrd itself (bwmgrd is run by cron in v5). • Remove the line that starts the BWMGR: /usr/bwmgr/utils/bwmgr start license • It's also a good idea to remove any interface-specific settings (any lines that contain -ifac,) although you can keep the "-ifac -o" to preserve your outside interface, if that's not changing. • Change all instances of "nameaddr" to "site" • Change all instances of "pass-thru" to "passthru" • Change all instances of "-tmo" to "-ruletmo" • Remove all "-wdwthresh" rule settings • Remove all time-based settings: "-timeon" and "-timeoff" and their respective values
Save the edited file as /etc/rc.bwmgr.v5.

Installing the new version

Once you have booted from the USB drive, and set up your passwords and network settings, it's time to build the disk and install the OS and software. Here is an example installation on an ET/R2400. We are installing to the hard drive named "ad8" in this example, but we include the commands to list the available hard drives, as they may be different depending on your appliance or hardware. Please note that this operation will completely erase and re-partition the target drive.

List Available Disks

# diskutil list ada0 [76319 MB] WDC WD800AAJS-00B4A0 01.03A01 da0 (Root): [3741 MB] USB Kingston DT 100 G2

Build the Disk

# diskutil build ada0 This will completely erase the contents of ada0. Enter 'yes' to continue: yes Erasing ada0 ... 100+0 records in 100+0 records out 104857600 bytes transferred in 0.964744 secs (108689549 bytes/sec) formatting ada0

Install

# diskutil install ada0 full Mounting disk ada0 Starting transfer: install to ada0 unmounting /ada0/usr unmounting /ada0/var unmounting /ada0 Finished transfer of install to ada0

Finishing Up

Once the install is finished, you may "halt" the appliance. Wait a few moments for any USB activity to cease, and then remove the USB drive and press any key to reboot.
# halt
Once you've booted from the hard drive, and are ready to request a v5 license, use the bwmgr_license command. Once you have your new license and have started, you can then add your ruleset (there are limits to the number of rules when running in Test Mode.) You can simply run the rules like so:
# sh /etc/rc.bwmgr.v5
Add Comment

Next: bwmgr_license