|
456 | 456 | So XDP is a hook in the Linux kernel, not a kernel bypass but a bypass of the network stack in the linux kernel. It is a programmable layer in the kernel network stack.
|
457 | 457 | <br>
|
458 | 458 | XDP operates at the same level as DPDK, directly on the packet buffers, operating on the packet before it is moved to the socket buffer.
|
459 |
| -The network stack in the kernel was conceived to be slow. There was a decision taken 20 or 25 years go, that packets should be delivered into sockets. |
460 |
| -This is not the fastest way, maybe you don't need to deliver all packets to sockets, think if you need to drop some of these packets for instance. |
461 | 459 | <br>
|
462 | 460 | <br>
|
463 |
| -While DPDK steals the whole NIC from linux kernel, XDP does not still the NIC from the kernel. In XDP we put in a filter per receive queue, make decisions on the packets with zero copy to userspace. This way all the fun features in kernel are available. |
| 461 | +While DPDK steals the whole NIC from linux kernel, XDP does not steal the NIC from the kernel. In XDP we put in a filter per receive queue, make decisions on the packets with zero copy to userspace. This way all the fun features in kernel are available. |
464 | 462 | <br>
|
465 | 463 | <br>
|
466 | 464 | XDP can be used in two modes: native mode, generic (SKB) mode
|
|
514 | 512 | <aside class="notes">
|
515 | 513 | What the heck is eBPF ?
|
516 | 514 | <br><br>BPF stands for "Berkeley Packet Filter" it's a linux kernel technology that is used by e.g. tcpdump and other analysis tools.
|
517 |
| -<br><br>eBPF is used to extract millions of metrics from the kernel and applications for troubleshooting purposes, deep monitoring or troubleshooting/exploring running software. |
| 515 | +<br><br>BPF is used to extract millions of metrics from the kernel and applications for troubleshooting purposes, deep monitoring or troubleshooting/exploring running software. |
518 | 516 | <br><br>BPF is basically a superpower.
|
519 | 517 | <br><br>BPF was initially used for tools like tcpdump but Alexei Starovoitov introduced eBPF (extended BPF) to be used for things like NATing, routing, doing what iptables does for example.
|
520 | 518 | </aside>
|
521 | 519 | </section>
|
522 | 520 |
|
523 | 521 | <!–– SlideX ––>
|
524 | 522 | <section>
|
| 523 | + <p>This is BPF!</p> |
| 524 | + |
525 | 525 | <tr>
|
526 | 526 | <th><img src="pics/bpf2.png" width=99% height=99%></th>
|
527 | 527 | </tr>
|
|
579 | 579 |
|
580 | 580 | </div>
|
581 | 581 | <aside class="notes">
|
582 |
| -Telstra - em linux and python story |
583 |
| -Panasonic - fuel legacy/uefi |
584 |
| -Telefonica - Orange France - HA story |
| 582 | +Telstra - linux and python story<br> |
| 583 | +Panasonic - legacy/uefi<br> |
| 584 | +Telefonica - Orange France - HA story<br> |
585 | 585 |
|
586 | 586 | </aside>
|
587 | 587 | </section>
|
|
605 | 605 | <br>Stacked up "desktop" computers filled with ... air?
|
606 | 606 | <aside class="notes">
|
607 | 607 | <br>Secondly, it's my desire to leave you with a thought.
|
608 |
| -<br>I came to the realization that most of the things we learn are provisional and in consequence they are open to recantation and refutation. I enjoy this path of questioning everything, why do we do things a certain way. |
| 608 | +<br>I came to the realization that most of the things we learn are provisional and in consequence they are open to recantation and refutation. (I have been raised in an eastern europe communist country and been lied to a significant part of my life). |
| 609 | +<br> I enjoy this path of questioning everything, why do we do things a certain way. |
609 | 610 | <br><br>In 2001 my first job was sysadmin working for a big Eastern European Internet Service Provider
|
610 | 611 | <br>Many customers asked to move their web servers and mail servers on our premises.
|
611 | 612 | <br>It was because their services would access directly the big pipe and we had a generator. 2001 Eastern Europe meant lots of power outages ... daily.
|
|
0 commit comments