2. Software Engineering
Software engineering is all about the right combination of proper design, rigorous testing, and solid control. To that end, DNI's software team has developed a solid platform addressing various products ranging from home gateway routers all the way to enterprise-class switches. Over the course of many years, DNI's software platform has gained the trust of tier-1 customers playing in the enterprise arena, and serves as the cornerstone that powers many end-customers’ network.
2.1 Core Competency
Below is a pictorial representation of DNI's primary
software building blocks.
DNI
Software Building Blocks
|
 |
The software stack has gone through a natural evolution as time has progressed. DNI's software development team has ported the stack to various hardware devices, as well as having it run on different RTOS platforms. With each evolutionary step, feature and stability enhancements are added so that the end-user may enjoy products that are more robust and feature-rich.
Bug-tracking is accomplished by employing the Mantis
system. This allows software engineers to work together
and track bugs. Revision control is another important
aspect of software management. To address this issue,
CVS is used by the engineers to ensure that proper
revision control procedures are followed.
top
2.2 Features
The breadth of DNI's product line is quite formidable, so the software stack must be easily portable across a wide range of products. Below is a feature list of various products.
SOHO Routers
- Protocols
- NAT, UPnP, DNS, DDNS, RIPv1/2, SNMPv1/2/3, PPP,
PPPoE, DHCP, PPTP, L2TP, and etc
- Security
– SPI, Firewall, ACL, IPSec, SSL
- Performance
– Designed and implemented NAT TCP forwarding cache
function - a nearly two-fold boost of the throughput
- IPv6
– Dual stack with pass through capability
– DHCPv6-PD, RA/ND
–Supported ISPs - NTT East/West, Niffty, OCN, 4th
Media, On demand TV
802.11 Features
- Dynamic ability
– Port Atheros WiFi releases from VxWorks to Nucleus
– Enhance MadWiFi features including WPA-PSK, WMM,
Atheros AR, XR, Super/Turbo mode
- Security
– WPA2 (802.11i) with PEAP, MS-CHAP, TLS, TTLS, TKIP,
AES authentication
– 802.1x with PEAP, MS-CHAP, MD5, WEP, TLS, TTLS
authentication
– Multiple SSID mapping to Ethernet VLANs
- QoS
– WME (802.11e)
- Radio Diagnostics
– Transmit orthogonal mode
– Receiving orthogonal mode
– Packet exchange mode
– DFS/TPC (802.11h)
– Worldwide roaming
VoIP Features
- Call features
– Three-way conference, Call transfer, Call forwarding,
Call waiting, Caller ID blocking, Selective call
rejection/acceptance, Call prefix blocking, Hot line
delay, Universal ring pattern and tone table
- SIP
– RFC 3261 - Session Initiation Protocol
– RFC 3264 - An Offer/Answer Model with the Session
Description Notification
– RFC 3265 - SIP - Specific Event Notification
– RFC 2976 - The SIP INFO Method
– RFC 3420 - Internet Media Type message/sipfrag
– RFC 3428 - SIP Extension for instant Messaging
– RFC 3515 - The SIP Refer Method
– Draft-ietf-mmusic-sdp-new-14
– Draft-ietf-sip-cc-transfer-05
– Draft-ietf-sip-sip-replaces-04
– Draft-ietf-sip-referredby-03
– Draft-ietf-sip-session-timer-11
– Draft-ietf-sipping-realtimefax-01
Management Switches
- L3 Routing
– IP Static Routes, IP RIP1, RIP2, OSPFv2, ARP Proxy,
Protocol Independent Multicast, Distance-Vector Multicast
Routing Protocol,VRRP
- L2 Management Features
– SNMP v1 & v2c
– Web-based Management
– Telnet & Console Configuration
– 802.1Q VLAN
– 802.1P Priority
– Port Mirroring
– GVRP, GMRP
– IGMP Snooping v1 & v2
– 802.1D STP
– RMON 4 Groups, MIB2, Bridge MIB, P Bridge MIB,
Q Bridge MIB
– Configuration File Upload & Download
– SNTP Protocol
– CLI Management
– SSL Web-based Management
– SSH Telnet
– 802.1X Authentication
– RADIUS Client
– 802.1AD Trunking LACP
– 802.1s Spanning Tree
– 802.1w Rapid Spanning Tree
– DiffServ, IP ToS, TCP/IP Port Based QoS
– SNMP v3
– ACL Access Control List
top
2.3 Design Process
As with all ISO9000-certified organizations, DNI's software team follows strict protocols during the development process. Below is a chart describing the process that we follow.
Software
Development Process
|
 |
In software development, design and coding are only half of the story, as rigorous testing is required to make certain that the code is bug free for system-level testing at SQA. Therefore, a System Test Task Force is in place to test the code with each revision roll. The target is to catch and eliminate fatal flaws before the integration test. In addition, known bugs are identified and prioritized according to their level of severity, so design engineers may go back and devise fixes and workarounds.
top |