We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

FBTFTP: Facebook's open source python3 framework for dynamic TFTP servers.

Formal Metadata

Title
FBTFTP: Facebook's open source python3 framework for dynamic TFTP servers.
Title of Series
Part Number
105
Number of Parts
169
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
FBTFTP: facebook's opensource framework for creating dynamic TFTP servers in Python3. ----- TFTP was first standardized in '81 (same year I was born!) and one of its primary uses is in the early stage of network booting. TFTP is very simple to implement, and one of the reasons it is still in use is that its small footprint allows engineers to fit the code into very low resource, single board computers, system-on-a-chip implementations and mainboard chipsets, in the case of modern hardware. It is therefore a crucial protocol deployed in almost every data center environment. It is used, together with DHCP, to chain load Network Boot Programs (NBPs), like Grub2 and iPXE. They allow machines to bootstrap themselves and install operating systems off of the network, downloading kernels and initrds via HTTP and starting them up. At Facebook, we have been using the standard in.tftpd daemon for years, however, we started to reach its limitations. Limitations that were partially due to our scale and the way TFTP was deployed in our infrastructure, but also to the protocol specifications based on requirements from the 80's. To address those limitations we ended up writing our own framework for creating dynamic TFTP servers in Python3, and we decided to open source it. I will take you thru the framework and the features it offers. I'll discuss the specific problems that motivated us to create it. We will look at practical examples of how touse it, along with a little code, to build your own server that are tailored to your own infra needs.