Ovladač netdev pro akcelerační karty COMBO - Tran, Dominik (Vysoké učení technické v Brně. Fakulta informačních technologií, 2018)
Tato práce se zabývá návrhem a implementací ovladače nad FPGA síťovými kartami rodiny COMBO, který by umožnil příjem a odesílání paketů prostřednictvím standardního síťového rozhraní jádra Linux. Sdružení CESNET vyvíjí zařízení typu Protector pro ochranu proti amplifikačním (D)DoS útokům využívající akcelerační karty COMBO pro dosažení vysokého výkonu. Přenos síťových dat mezi kartou a řídicí aplikací je realizován rozhraním SZE2, které umožňuje rychlé zpracování dat mj. díky obcházení síťové vrstvy jádra. Zařízení typu Protector však musí podporovat standardní síťové protokoly, jejichž vlastní implementace přímo nad rozhraním SZE2 by byla velmi náročná. Místo toho se nabízí využití síťové vrstvy v linuxovém jádře, která se pro dosažení vysoké výkonnosti běžně obchází. Vytvořením ovladače síťového zařízení lze využít služeb síťové vrstvy jádra včetně standardních síťových aplikací. Na základě nastudování zejména rozhraní SZE2 a principů vývoje ovladačů byl navržen a následně i úspěšně implementován ovladač síťového zařízení, který byl otestován z pohledu funkčnosti i výkonnosti. Nad rámec zadání byl implementován stejný ovladač nad novějším rozhraním NDP a aplikace pro řízení akcelerované přeposílání paketů.

This thesis deals with the development of the network device driver for the FPGA network COMBO cards, which should enable receiving and sending packets through standard network interface of Linux kernel. CESNET is developing a device called DDoS Protector for protection against an amplification (D)DoS attacks, which uses COMBO cards to achieve high performance. A SZE2 interface is used for high speed transfers of network data between COMBO card and a controlling software application, using technique of bypassing kernel network stack and other methods. DDoS Protector has to support standard network protocols, whose implementation directly on top of the SZE2 is very difficult. Instead, using kernel network stack, which is, by default, bypassed to achieve high performance, is much easier to implement and supports all sorts of protocols. Creation of the network device driver enables us to use kernel network stack and other network applications for COMBO cards. Based on the study of SZE2 interface and driver development, I designed and then successfully implemented network device driver. Driver was tested to ensure standard protocols work. It was also tested from the performance point of view. I have also developed the same type of driver for the newer interface - NDP and an application for an accelerated packet forwarding, both of which are functional and were not part of the thesis specification.
Netdev Driver for Acceleration COMBO Cards
Keywords: CESNET; COMBO; SZE2; NDP; DDoS Protector; ovladač; síťové rozhraní; Linux; směrování; BGP; CESNET; COMBO; SZE2; NDP; DDoS Protector; driver; network interface; Linux; routing; BGP