Skip to content

Commit e37e328

Browse files
author
Elena Crenguta Lindqvist
committed
sdfd
1 parent 62acfe3 commit e37e328

File tree

1 file changed

+39
-21
lines changed

1 file changed

+39
-21
lines changed

itnot/index.html

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@
2929
<section><p><b>In the NIC of time</b></p>
3030
<p>Enabling high-performance edge applications with OpenStack, OVS, and SmartNICs<p/>
3131
<aside class="notes">
32-
Thank you, Daniel, for the (nice? warm?) introduction.
32+
Thank you, Daniel, for the introduction.
33+
<br><br>How many people heard about smartNICs
34+
<br>XDP?
35+
<br>BPF?
36+
<br>Openstack?
3337
</aside>
3438
</section>
3539
<!–– Slide1 ––>
@@ -64,14 +68,14 @@
6468
</section>
6569
<!–– Slide5 ––>
6670
<section>
67-
<tr>
68-
<th><img src="pics/slide5_erlang.jpg" width=44% height=44%></th>
69-
<th><img src="pics/slide5_bluetooth.png" width=25% height=25%></th>
70-
</tr>
7171
<tr>
7272
<p>
7373
<th>40% of all mobile traffic data</th>
74-
</p>
74+
</p>
75+
76+
</tr>
77+
<tr>
78+
<th><img src="pics/slide5_erlang.jpg" width=25% height=25%></th>
7579
</tr>
7680
<aside class="notes">
7781
If you don't mind, I'd like to tell you a few things about Ericsson. We're NOT making phones! as most of the people think ....
@@ -426,8 +430,12 @@
426430
<aside class="notes">
427431

428432
Another way to achieve high performance would be partially bypassing the Linux kernel, for example using XDP.
429-
XDP (eXpress Data Path) is a component in the kernel that can be used for fast packet processing. It is an eBPF (I'll get back to explaining what eBPF is) based high performance data path merged in the Linux kernel.
430-
XDP (eXpress Data Path) is shipped with the kernel since version 4.8 and it is enabled by default, with CONFIG_BPF_SYSCALL.
433+
<br>
434+
<br>
435+
XDP (eXpress Data Path) is a component in the kernel that can be used for fast packet processing. It is an eBPF (I'll get back to eBPF in a jiffy) based high performance data path merged in the Linux kernel.
436+
<br>
437+
<br>
438+
XDP is shipped with the kernel since version 4.8 and it is enabled by default, with CONFIG_BPF_SYSCALL.
431439

432440
</aside>
433441
</section>
@@ -448,6 +456,8 @@
448456
</font>
449457
<aside class="notes">
450458
To check if XDP it is enabled in the kernel, it's as simple as grepping for it in the kernel config file
459+
<br>
460+
<br>
451461
The Linux kernel configuration item CONFIG_XDP_SOCKETS:
452462
</aside>
453463
</section>
@@ -457,29 +467,37 @@
457467
<img src="pics/kernel-diag-ascii.svg" width=35% height=35%>
458468
</p>
459469
<aside class="notes">
460-
PICTURE OF XDP
461-
462-
So XDP is a hook in the Linux kernel, not a kernel bypass but a bypass of the network stack
463-
XDP operates directly on the packet buffer. (packets are moved into sockets , decision taken 20 years ago, and this is not the fastest way)
464470

471+
So XDP is a hook in the Linux kernel, not a kernel bypass but a bypass of the network stack. It is a programale layer in the kernel network stack.
472+
<br>
473+
XDP operates directly on the packet buffer.
474+
20 or 25 years ago
475+
(packets are moved into sockets , decision taken 20 years ago, and this is not the fastest way)
476+
<br>
477+
<br>
465478
DPDK steals the whole NIC, we dont do that with XDP , not taking the whole NIC.
479+
<br>
466480
a filter on receive but zero copy to user space
467-
468-
481+
<br>
482+
<br>
469483
XDP can be used in two ways:
470-
first mode
484+
<br>
471485
Native mode XDP , a driver hook , before memory allocation , small no of instructions executed before we start processing packets
486+
<br>
472487
limited number of drivers that support XDP
473-
474-
second mode
488+
<br>
489+
<br>
475490
generic mode
491+
<br>
476492
works on any net device , driver independent , but larger number of instructions executed which mean lower performance than native mode, when it comes to packet processing
477-
493+
<br>
494+
<br>
478495
dataplane which is inside the kernel
496+
<br>
479497
control plane in user space which is done from eBPF, userspace load eBPF program , everything goes through the BPF-syscall
480-
481-
the Native way is the way to go
482-
XDP driver hook
498+
<br>
499+
the Native way is the way to go , using the XDP driver hook
500+
<br>
483501

484502

485503
</aside>

0 commit comments

Comments
 (0)