Splitting Light: Season 1 - Episode 8


Splitting light

Season 1 Episode 8

Network bits

If you are no longer interested in the newsletter, please unsubscribe

The Internet is a mesh of connected computers. The equipment that connected these devices are made of chips. But, in the end, how does data move from one chip to another? I was about to learn.

The first generation network chip was configured as a local area network. The new version had more memory and logic. We could use it as a router and that meant we could connect it to other networks in more complex ways.

However before we could do that, because it was a new generation, we had to rewrite part of our existing code. I continued to work on the software that I had started earlier. Once the chip was correctly initialized, I implemented each network feature one after another. Controlling the ports, the VLANs, MAC address support, FDB support and lastly, network security rules. For each of these features, choices had to be made on how much memory of the chip we used and which settings we would set.

Implementing these was quite interesting because the way a chip works with data is completely different than the way you work with it in software. In the software world there are conditions and loops. In the chip world, it was byte masks and byte replacement.

Quickly after that we wrote the software to configure routes on the chip but it was cumbersome to use. Support had to be coded in the information system of both the baremetal team and the cloud team. That would require a lot of work. Isn't there an existing standard to manage routes? There is! It’s called BGP! It’s a protocol to exchange route information between peers.

Unlike for the TCP stack I had written, here we could reuse software. I didn't want to rewrite everything. A few software existed and worked on linux, the operating system we used. These software all used an internal operating system protocol. What if we implemented it?

So I started to type in the code in my editor. I had the operating system source code and a few other tool’s source code as guides. I could not directly use the code but by looking at the memory of the device and comparing state to state, data to data, I could understand the protocol and implement the features we needed. As the number of lines of code grew, the logic of the code was more and more sound.

First testing crafting individual requests by hand, then testing more and more complex workflows. Finally I tested each tool and checked that each action I performed had the result I expected.

This was an amazing achievement for me. It was amazing because I had found a way to make the hardware act like a standard linux. I had done this by implementing a not very documented protocol. In a sense, I had broken a mental wall. If we were smart enough with a small amount of work, we could leverage a disproportionate amount of existing tools. By mimicking an abstraction we would enable the team to make the switch to our hardware faster.

To pair with :

  • Bastion - Cloud Boat
  • Foundation by Isaac Asimov

Vincent Auclair

Connect with me on your favorite network!

Oud metha, Dubai, Dubai 00000
Unsubscribe · Preferences

Symbol Sled

Business, tech, and life by a nerd. New every Tuesday: Splitting Light: The Prism of Growth and Discovery.

Read more from Symbol Sled

Splitting light Season 1 Episode 19 The world, and us If you are no longer interested in the newsletter, please unsubscribe C2 server racks I remember some higher ups of major hardware distributors and manufacturers visiting our office in Paris. Arnaud always kept the pleasure of showing off the lab to them. The small cramped room with its server room behind it. The six engineers and loads of open hardware laying around. He told them this was the full team that worked on the hardware. They...

Splitting light Season 1 Episode 18 C2 Launch If you are no longer interested in the newsletter, please unsubscribe Two years after I had joined the lab, the manufacturing orders for the second generation compute were sent. A few weeks later, they were being racked in the datacenter rooms and shortly after they were released for customer use. C2 chassis Finally, all the hours we had put in, all the hair we had lost, was worth it as the hardware hit production. I intimately knew a lot of the...

Splitting light Season 1 Episode 17 Mission Statement If you are no longer interested in the newsletter, please unsubscribe Our job in the lab was to create new hardware and make it work. Then both dedicated team and cloud team would send an order depending on what they expected to sell, and we would support both throughout the lifetime of the hardware. This was our mission. Keeping this in mind was important. It was important because we could often get distracted from it. The important...