<story><title>BPF at Facebook and beyond</title><url>https://lwn.net/SubscriberLink/801871/c81eb8656543805f/</url></story><parent_chain></parent_chain><comment><author>bdd</author><text>Excuse me while I shill for my employer but we&amp;#x27;re indeed big fans of BPF at Facebook.&lt;p&gt;Our L4 load balancer is implemented entirely in BPF byte code emitting C++ and relies on XDP for &amp;quot;blazing fast&amp;quot; (comms approved totally scientific replacement for gbps and pps figures...) packet forwarding. It&amp;#x27;s open source and was discussed here at HN before &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=17199921&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=17199921&lt;/a&gt;.&lt;p&gt;We discussed how we use eBPF for traffic shaping in our internal networks at Linux Plumber&amp;#x27;s Conference &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;vger.kernel.org&amp;#x2F;lpc-bpf2018.html#session-9&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;vger.kernel.org&amp;#x2F;lpc-bpf2018.html#session-9&lt;/a&gt;&lt;p&gt;We presented how we enforce network traffic encryption, catch and terminate cleartext communication, again, you guessed, with BPF at Networking@Scale &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;atscaleconference.com&amp;#x2F;events&amp;#x2F;networking-scale-3&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;atscaleconference.com&amp;#x2F;events&amp;#x2F;networking-scale-3&amp;#x2F;&lt;/a&gt; (video coming soon, I think.)&lt;p&gt;Firewalls with BPF? Sure we have &amp;#x27;em. &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;vger.kernel.org&amp;#x2F;lpc_net2018_talks&amp;#x2F;ebpf-firewall-LPC.pdf&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;vger.kernel.org&amp;#x2F;lpc_net2018_talks&amp;#x2F;ebpf-firewall-LPC.p...&lt;/a&gt;&lt;p&gt;In addition to all these nice applications we heavily rely on fleet wide tooling constructed with eBPF to monitor:&lt;p&gt;&lt;pre&gt;&lt;code&gt;  - performance (why is it slow? why does it allocate this much?)
  - correctness (collect evidence it&amp;#x27;s doing its job like counters and logs. this should never happen, catch if it does!)
&lt;/code&gt;&lt;/pre&gt;
...in our systems.</text></comment>
<story><title>BPF at Facebook and beyond</title><url>https://lwn.net/SubscriberLink/801871/c81eb8656543805f/</url></story><parent_chain></parent_chain><comment><author>saagarjha</author><text>&amp;gt; Facebook, he began, has an upstream-first philosophy, taken to an extreme; the company tries not to carry any out-of-tree patches at all. All work done at Facebook is meant to go upstream as soon as it practically can. The company also runs recent kernels, upgrading whenever possible.&lt;p&gt;I was chatting to a Facebook engineer on their use of BPF this summer and heard the same thing, which was surprising to me. There seem to be a number of companies that take advantage of Linux being licensed under GPL and keep their own forks&amp;#x2F;patches of the kernel that they use internally (anecdotally, I’ve heard Google does this), and the they stay on some old version, which apparently Facebook doesn’t do.</text></comment>