A leading semiconductor manufacturer was looking to implement the 6LoWPAN layer for their power line communication (PLC) chip. The 6LoWPAN layer enabled IPv6, UDP layers and other network applications on these to communicate seamlessly with nodes on the power line communication network.
The 6LoWPAN layer compresses IP and UDP headers, supports auto configuration of IPv6 addresses, has a route discovery protocol and supports mesh routing. This particular system required, a secure joining protocol based on a pre-shared key, EAP-PSK protocol was implemented that allowed secure authentication and distribution of session keys after successful authentication. The fragmentation protocol, allowed larger MTUs than what is natively supported by the lower layer PLC physical layer.
The entire development was done in C programming language, packaged as a library for tasks running on a commercial RTOS. The design was structured as a set of lower modules that had well defined interfaces. These interfaces were dynamically bound, allowing the configuration to be flexible. The dynamic binding also enforced containment of each of the sub-protocols within the 6LoWPAN layer, allowing easier development, testing and maintenance.
As with any protocol implementation, conforming to the standard under all scenarios is a critical requirement. Interoperability with other vendors hinges on this conformance. GoogleTest framework was chosen to exhaustively test the protocol implementation. A large test suite was developed along with the protocol code that enabled the system to tested on a continual basis. Jenkins tool was used in the project to provide continuous build and test support for this project.
Tismo’s strong network protocol expertise was brought to bear on this project, enabling rapid development, testing and release of this product for its client.