Work Packages
Last edited: 2011-10-08
In this page we collected work packages, also called "tasks" for the White Rabbit project. We plan to keep this up to date over time, but we can't guarantee this.
The tasks with owner AFA are available for adoption. We welcome volunteers and please don't be shy: raise your hands and ask for more detailed information about any task you want to be involved in.
Hardware Tasks
Owner | Short description | Comments |
---|---|---|
SevenSol | Debugged V3 PCB | V3 of the switch is already working (4 prototypes) but some manual patches are in place |
SevenSol | Make mini backplane | The design is quite advanced at this point |
SevenSol | Mechanical and thermal desing for 19-inch backplane | |
Greg and Tom | Work on a backplane that can support copper | The copper backplane will be ready later than the initial fiber-only one |
Tom | Complete 5-channel DIO FMC | |
Tom | Quick 8-port mini backplane for V3 | The quick prototype is useful for early developers |
Gateware Tasks
Owner | Short description | Comments |
---|---|---|
Greg D | Finish WRPC | |
Greg D | Integrate Wesley's WB interconnect | The current interconnect is single-master |
Tom | Complete VHDL for V3 | |
Tom | Write sFlow gateware support | |
Tom | Integrate onewire and other peripherals in SPEC | We need onewire to build a unique MAC address for the node |
Maciej | FEC decoder | |
Maciej | RSTP support | |
MAciej | Cut-through support | |
Mathias | Complete one WR node as a prototype | |
Wesley | ARP and DHCP | |
Wesley | Memory-mapped JTAG for LM32 | |
Wesley | Evaluate etherbone over tcp | |
Pedro | Simulate distributed direct digital synthesis | |
Pedro | Validate hardware designs |
Software Tasks
While the software package is a separate sub-project, we'd better have
all the tasks in this page.
Owner | Short description | Comments |
---|---|---|
Cesar | sFlow software support | |
Alessandro | Clean up barebox for V3 and submit it | The current code works, and barebox maintainers are eager to get patches |
Alessandro | Clean up kernel for V3 | Some of V2 features are still to be ported |
Alessandro | Integration of Integrasys code | Code currently in non-master branches needs to be revised |
Alessandro | Port user-space to V3 and clean it up | |
Alessandro | Integrate mini-ipc in the user space environment | We chose to switch inter-process communication library, just do that! |
Alessandro and Manohar | write a real SPEC driver for the WR node | Current code is hackish, we need something serious |
Marco | Port ptp and wr-ptp under the proposed framework | This is expected to be ready by the end of the year |
Nicolas | Calculate WCET of code paths in the WR node, where feasible | gts is a separate OHWR project |
Federico | Implement WR triggers for the ZIO framework | zio is a separate OHWR project, building a framework for I/O and triggers |
Integrasys | RTU: 802.1Q compliant learning and filtering | |
Integrasys | RTU: support both shared and independent VLAN learning | |
Integrasys | Spanning Tree Protocol for standard traffic and high-prio traffic | |
Integrasys | MRP protocol (and MMRP and MVRP) | |
Integrasys | Complete SNMP implementation | |
Integrasys | Add 802.1Q MIB and possible PTP MIB | |
Integrasys | Command line interface for management | |
AFA | Find a way to change Alpha during network lifetime, if cables change. | We shouldn't require cables and optical wires to remain the same for the whole lifetime of the network (the whole network) |
AFA | Write procedures for both network-boot and flash boot for people without UART | Developers are usually sticking to one method or the other, and bot heavily depend on the serial port to be available |
AFA | implement flash partitioning as proposed in the wr-switch-sw pacakge | The line is drawn, but the details still have to be sorted out in face of real code |
AFA | document (and possibly implement) a way for custom applications to be fired | We imagine our clients want to put own stuff on the switch, possibly. They should be able to just drope the binary in the filesystem and have it work. |
AFA | Sync Linux time to the underlying PTP time (both on the switch and the node) | While not really mandatory, it would be good to have a clocksource driven by WR |
AFA | Audit how the V3 boot system performs in presence of bad blocks | We rely on unreliable NAND, so some serious audit is needed before mass production. If needed, we may switch to different filesystem or other fault-tolerant mechanisms |
Switch/WR Testing
The list of these tests is partly based on the document by Cesar:
Test
Methodology
Also, note that the wr-switch-sw project already has some initial code for testing, assuming a normal Linux host (either PC or ARM -- i.e. a switch) is used to send test frames.
Owner | Short description | Comments |
---|---|---|
Integrasys | set up testing framework (incl. physical network) for 802.1Q | |
Integrasys | arrange testing framework for STP, MMRP, MVRP | |
Integrasys | test remote management | |
Maciej | make gateware for frame flooding and collecting stats | This is an alterative to using Linux as frame source, but not all statistics can be calculated at switch level, so some user-space support is needed as well |
AFA | stress-test the wr-switch-sw package | |
AFA | Throughput, latency and frame loss tests (RFC 2544, 26.[123]) | |
AFA | Test back-to-back frames (RFC 2544, 26.3) | |
AFA | Test system recovery after poweroff or panic (RFC 2544, 26.4) | |
AFA | Test fully meshed and partially mexhed traffic (RFC2889, 5.[12]) | |
AFA | Test multiple devices in backbone configuration (RFC2889, 5.3) | |
AFA | Test throughput with unidirectional traffic (RFC2889, 5.3) | |
AFA | Test maximum forward rate (RFC2889, 5.4) | |
AFA | Test RTU capacity and learning rate (RFC2889, 5.[56]) | |
AFA | Testi switch-over time in case of port failure | We need to verify switch over preformance under stress, both for STP and PTP |
AFA | PTP (and WR-PTP) compliance tests | |
AFA | Test hight priority forwarding with normal traffic |
Documentation and Specification
Owner | Short description | Comments |
---|---|---|
Alessandro | document the user-space side of the switch (hal etc) | |
Wesley | etherbone specification and manual | |
Javier | plans and requirements for Distributed direct digital synthesis | |
Alessandro and Manohar | self-describing wishbone | |
AFA | Document how to install DHCP and TFTP on the host for easier network boot | Some users may want to develop on the switch but don't have an own network where services are already running for custom development (where DHCP is there, it is usually is site-driven, not developer-driven) |
AFA | Document how to build an lm32 compiler from sources and try it out | We currently depend on precompiled binaries, which is not nice |