ImageStream Linux Version 4.2.12-48 is now available as a general availability (GA)
release for all ImageStream routers except the Envoy.
This software release is provided at no charge to all ImageStream customers.
Version 4.2.12-48 is a maintenance release that is recommended for all customers
who wish to run the latest GA release on routers other than the Envoy.
This release note documents commands and features added between version 4.2.11-59
and version 4.2.12-48.
The following bugs have been fixed in Version 4.2.12:
Quagga BGP Assertion Failure
Version 4.2.12 fixes an assertion failure crash with bgpd when processing 32-bit ASNs
larger than 100,000.
ATM Autosensing PPP Fix
Version 4.2.12 fixes a problem with "encapsulation aal5autoppp" dropping PPP frames
without LLC/SNAP headers. Release 18 fixes an Autosense PPP problem when switching from
PPPoA without LLC/SNAP headers to PPPoE with LLC/SNAP headers on a PVC.
PCI 440 T1/E1/SSI Fixes
Version 4.2.12 fixes some firmware and driver problems related to the 440 T1/E1/SSI cards.
PCI 530 DS3/E3 Fixes
Version 4.2.12-30 fixes a transmit timed out race condition in the 530-DE driver.
New Features in Version 4.2.12
Add-on package support framework
Version 4.2.12 adds a basic framework for adding extra software packages to the router's
primary flash drive or a secondary flash or hard drive. ImageStream currently has several
add-on packages available for beta testing including Asterisk, Apache Web Server, Wireshark,
Squid Web Cache, and Snort Intrusion Detection.
Detailed revision history:
Workaround a major bug in Quagga causing zebra to sometimes lose track of
connected interface routes. This bug would affect many aspects of dynamic
routing including ignoring directly BGP peers and not announcing connected
routes via OSPF or RIP.
Serial console: replace mgetty with agetty to allow use of cables without
Increase image-based ramdisk size to allow updating to 4.4
distributions via image.
dhcprelay: Bind to the first client IP address and use this address
as the "gateway" IP reported to the server
Add daemon keepalives to quagga daemons.
Backport certain kernel support functions to allow eth_header user chain
to function under 4.2.
Add support for the Envoy.
Add new policy-based QoS system backported from the 4.4 series.
Quagga BGPd: Add BGP scan timer load check to avoid a condition where the
workqueue is never able to be depleted due to lack of CPU time. This could
occur when a BGP session was cleared or dropped at the same time as the
BGP scan timer expired causing bgpd to run at 100% usage indefinitely if
the router had multiple full BGP feeds.
Configmgr: Fix a bug which caused RADIUS information to be ignored for
Virtual Template interfaces other than the first.
Bridging: Use 1024 bytes instead of 1900 for the command length as bash can
fail at around 1890+.
530-TEJ: Fix an Rx overflow problem that could cause a port to stop receiving
data in channelized mode when the T1/E1 loses signal and comes back.
Fix problems with bridges not removing IP addresses properly.
Fix shutdown problems with bridges, Ethernet, VLANs and tunnels.
- If an interface was marked as shutdown when Inetics loaded the interface
could not be brought up without changing a parameter on the interface.
Fix dhcprelay crash with malformed options.
Add RADIUS login support.
Configmgr bugfix: Allow PPPoE server mode to run on bridge interfaces (bvi).
440: Revert back to previous firmware due to problems with T1 card
Allow multiple ip helper commands (DHCP Relay)
Fix a BGP MD5 problem with listener sockets not getting the MD5 password
Add Quagga 0.99.15 with many bugfixes for BGP and OSPF.
PPP: Don't initiate IPV6CP by default but respond if the other end request
Also clean up include files to allow compilation under 4.2
530-DE: Fix a race condition bug which caused the driver to detect a
timeout when none had really occurred.
This race was much more likely to occur when a substantial amount of traffic
is transmitted from a userspace thread such as OpenVPN rather than forwarded
from another card in interrupt context.
Update Apache package from 4.4.0 to support PAM authentication.
DHCP server: Fix a segmentation fault problem with the recent
configmgr: DHCP Server: Added command option "shared-network " to the
"ip dhcp pool" command. In order to run multiple pools on a single
interface this parameter is required to properly configure the DHCP server.
All dhcp pools which will run on the same interface must specify the same
shared network name parameter.
ip dhcp pool [ shared-network ]
Example: ip dhcp pool 0 shared-network OnEthernet1
POS/OC3: Fix a problem with the Rx path when more than one card is present.
Kernel: Fix a problem with USB EHCI handoff for the upcoming Gateway
dhcp server: Allow multiple subnets per interface via automatic shared
network support for subnets on the same interface.
1104-O3 Revert driver for OC3 card back to the pre-OC12 merge and create
complately separate main driver code for the OC3 and OC12 cards. This is
a temporary fix for transmit timeout problems with the OC3 card with the
new main driver which has OC12 support.
Add snmpset utility.
Add IPTraf and IFTop traffic viewing utilities to stats.
Fix image-based updates on routers that do not boot from /dev/hda.
OpenSSH: Update to 5.2p1
OpenSSL: Update to 0.9.8k
Quagga; Fixed a bug with BGP which could cause an assertion failure crash if a 32-bit
ASN larger than 100,000 was received.
ATM: Fix a problem with autoppp not re-enabling LLC/SNAP headers after switching
from PPPoA without SNAP to PPPoE with SNAP.
Added pcnet32 net driver and BusLogic SCSI driver for VMs.
Change Apache defaults to user/group webmaster/webmaster for Apache 2.2.8.
440: Fix E1 unstructured mode -- wasn't working.
530-DE: The hardware reset routine is now called from tasklet which allows
it to be called from the poll routine's stuck transmit queue detection.
Raise the minimum flash drive requirement to 64 MB. The base software packages will
exceed the available space on certain 32 MB flash drives.
530-DE: Add simple check to xmit routine to be sure we're not overwriting the
chip's current tx descriptor. Add hardware reset routine to allow the Inetics
watchdog timer to reset the port.
440: Firmware fixes from Andrew.
Add frox ftp file caching support to squid.
USB: Backport 2.6's Workaround for flaky usb devices for compatability with particular
USB 1.0 devices.
Addon packages: fix a menuEngine path problem in the init scripts caused by moving the
addons to their own menu directory.
1004-O3: Fix a problem with the driver not being loaded correctly (bzip vs gzip) and
re-enable the hardware watchdog for the OC3 card which had been disabled in the
dhcprelay: fix a memory leak when adding agent/circuit id options.
kernel: fix for dev_get_by_name calls to replace the passed in name with the actual
device name so programs doing an SIOCGIFADDR ioctl will get the address for
Fix adsl stop script so it properly terminates the adsl-connect script.
MRRU now set to 1524 instead of 1500 to properly handle multilink on a single link.
Fix ADSL routes so they are added to the correct config files. Also set mrru
to 1500 when using multilink with ADSL.
MLPPP: Return 0 instead of 1 from mlppp_xmit() if we fail to transmit on a slave
to avoid double-freeing the skb.
RADIUS: Fix NULL pointer dereference if no gateway is sent for the Framed-Route option.
ATM: Fix encapsulation aal5autoppp so that it will properly sense frames without SNAP
headers. Previously we required SNAP headers to autosense. Now we also switch our
transmit mode between SNAP and MUX PPP to match the frames being received.
Fix menus for addon packages. Moved them to a separate add-on package
menu as well. Some packages like wireshark and asterisk had the wrong
.menuTitles which were copied from the Web administration package.
Start of 4.2.12 from 4.2.12-pre-31
Revision history from 4.2.12-pre:
Added quagga 0.99.10 with bgp md5 working.
Added RealTek 8168 10/100/1000 Ethernet support for the Gateway.
440: Added a global 5 second delay in sand_probe() for old firmaware after wait_cnt is
decremented to 0.
440: Update to June 30 drivers which fixes a stuck transmitter bug and an initialization
problem on cards with older firmware.
Added an updated forcedeth.o (Nvidia Nforce) ethernet module for the GE1000.
Recompile sand release 66.
Add support for multiple pppoe adsl sessions - one per interface now.
Added base add-on package/config scripts for snort.
Install latest vconfig recompiled without c++ dependancy.
Install current libstdc++ library from gcc 3.3.4 required by Squid, Snort and
our upcoming configmgr.
Fix an openvpn server mode script logic bug that logged the username of authentication
requests to a temporary file even when debugging was disabled (default).
Added Asterisk support (version 126.96.36.199).
Added 440 driver with more statistics available from 440ctl.
Added new 440 reset code.
Fix Bonder reload problem. It wouldn't change the ARPHRD device type on reload
because the interface needed to be ifconfig'd down first.
Add split horizon bridging support. Add latest tcpdump version 3.9.5 and gulp
for high-speed packet capture.
Add Intel IDE chipset support and DMA support for generic IDE drivers.
Modify linuxrc to support hdb, hdc, hdd, hde, hdf, hdg, hgh.
Add ext3 support for addon packages.
dhcp-relay is now tracked by the configmgr persistent run command api to restart
the daemon if it dies.
Fixed a NULL pointer dereference in the new dhcp server ip exclude code.
Remove extra powercode packages.
Opencalea: Add syslog debugging to tap and lea_collection. Add statistics file to both
programs as well. tap is in /tmp/tap_%d.status (pid) and lea_collection is
Fix ADSL ip address dhcp problem - wasn't working!
Added DHCP server fix from 4.2.12-pre.
First release of 4.2.12-pre from 4.2.11-53