\n
Because we had previously used existing software to implement BGP we wondered if we could just interface existing software to plug the feature gaps we had. So we talked to the people that managed the hardware and the people that handled the network to gather more knowledge and understand the missing features.
\nTo understand some of the requirements, you have to understand how a server works. There are multiple pieces of software on a server. To turn it on, restart it, turn it off and monitor different pieces of the server there is what is commonly called a BMC. Each constructor has its variant in the naming and features but if you boil it down it’s the same. There is a, mostly, common protocol to talk to these via a network and it’s called IPMI. So it was one of our requirements to implement the protocol. Unfortunately, the BMC for our server was not wired to any IP network. We talked to it via an I2C bus. Changing the design would be too expensive however, we could sidecar some software to make it work.
\nWe took the open source ipmitool software and patched some parts of the code to implement a new kind of manufacturer. The software talked standard IPMI and we just translated on the fly the instruction to I2C commands to send to the correct BMC. Once it worked we added the temperature readings, the watts consumptions, and other information that was commonly used.
\nTwo other pieces of required software were required for the network management side. The first one was to discover the devices connected to the network. It’s a specific protocol called LLDP. The protocol works the following way, each element in the network mesh periodically emits a specific packet that is loaded with information. It has the MAC addresses, the model of the machine as well as specific capabilities of the device plugged. If you combine this one with a default operating system that has the software running you can do some auto discovery of your network.
\nTo handle these packets we had to configure the chip to capture them and handle them software wise. There was existing open source software that handled the protocol and so we did the same job as we did for ipmitool or the BGP. I set up the different bits of configuration to relay the capture packets to LLDPd while doing the minimum amount of customization. I added the sidecar.
\nLastly, in a similar fashion, because we were using L3 networks to communicate with the servers and because of how the internal network was laid out at Scaleway we wanted to be able to send the DHCP request to a distant host. On most network equipment vendors there was a feature called relay which is a feature of the protocol. What did we do? Like the rest, we interfaced it. Just by configuring some bits and transiting some packets in a specific way we had it working.
\nUsing open source software enabled us to do the features more quickly and also, more importantly be compliant with the standards.
\n
\nTo pair with :
\n\n | \n | \n |
\n | Oud metha, Dubai, Dubai 00000 | \n\n |
|
Business, tech, and life by a nerd. New every Tuesday: Splitting Light: The Prism of Growth and Discovery.
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...