Skip to content

Commit 484b0e3

Browse files
author
Elena Crenguta Lindqvist
committed
.,ljklj
1 parent 08d4ae5 commit 484b0e3

6 files changed

+118
-24
lines changed

itnot/index.html

Lines changed: 118 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
<div class="slides">
2727

2828
<!–– Slide0 ––>
29-
<section>In the NIC of time: Enabling high-performance edge applications with OpenStack, OVS, and SmartNICs
29+
<section><p><b>In the NIC of time</b></p>
30+
<p>Enabling high-performance edge applications with OpenStack, OVS, and SmartNICs<p/>
3031
<aside class="notes">
3132
Thank you, Daniel, for the (nice? warm?) introduction.
3233
</aside>
@@ -35,8 +36,8 @@
3536
<section>
3637
<img src="pics/slide1.png" width=70% height=70%></th>
3738
<aside class="notes">
38-
So! Hello everyone, my name is Elena "I won't pronounce" Lindqvist and I am here to tell you about using smartNICs with OpenStack.
39-
I work at Ericsson as a systems manager. That's *systems* manager, so ... -advance to next slide-
39+
<p>So! Hello everyone, my name is Elena "I won't pronounce" Lindqvist and I am here to tell you about using smartNICs with OpenStack.</p>p>
40+
<p>I work at Ericsson as a systems manager. That's *systems* manager, so ... </p>p>
4041
</aside>
4142
</section>
4243
<!–– Slide2 ––>
@@ -84,9 +85,11 @@
8485
</section>
8586
<!–– Slide6 ––>
8687
<section>
88+
<tr>
89+
<th><img src="pics/slide6_openstack-logo.png" width=34% height=34%></th>
90+
</tr>
8791
<tr>
8892
<th><img src="pics/slide6_nfv.jpeg" width=50% height=50%></th>
89-
<th><img src="pics/slide6_openstack-logo.png" width=44% height=44%></th>
9093
</tr>
9194

9295
<aside class="notes">
@@ -126,16 +129,13 @@
126129
<!–– Slide8 ––>
127130
<section>
128131
<tr>
129-
<th><img src="pics/slide8_intel.png" width=44% height=44%></th>
130-
<th><img src="pics/slide8_mellanox.jpg" width=25% height=25%></th>
132+
<th><img src="pics/slide8_intel.png" width=24% height=24%></th>
133+
<th><img src="pics/slide8_mellanox.jpg" width=45% height=45%></th>
131134
</tr>
132-
<tr>
133135
<tr>
134136
<th><img src="pics/slide8_Broadcom.jpg" width=44% height=44%></th>
135-
</tr>
136-
<tr>
137-
<th><img src="pics/slide8_netronome.png" width=44% height=44%></th>
138-
</tr>
137+
<th><img src="pics/slide8_netronome.png" width=45% height=45%></th>
138+
</tr>
139139
<aside class="notes">
140140
There are quite a few types of smartNICs, ranging from thousands to a few hundred dollars(some you can buy on eBay).
141141

@@ -153,9 +153,12 @@
153153

154154
<!–– Slide9 ––>
155155
<section>
156-
<tr>
157-
<p>Is it a bird? is it a plane? It's SmartNIC !</p>
158-
</tr>
156+
<tr>
157+
158+
<p>Is it a bird? is it a plane?</p>
159+
<p> It's SmartNIC !</p>
160+
</tr>
161+
159162
<aside class="notes">
160163
Is it a bird? is it a plane? It's SmartNIC !
161164

@@ -169,21 +172,57 @@
169172

170173
If you use two smartNICs, do you want two separate ovs controllers in your compute? will OpenStack even support that?
171174

175+
</aside>
176+
</section>
177+
178+
<!–– Slide9 ––>
179+
<section>
180+
<tr>
181+
<p>What is this smartNIC, anyway?</p>
182+
<p>Is it an embedded linux, is it a linux mini server?</p>
183+
184+
</tr>
185+
<aside class="notes">
186+
172187
What is this smartNIC, anyway? Is it an embedded linux, is it a linux mini server?
173188
Would you want the possibility to say, in one go, configure all your smartNICs to PXE boot, so you can load a new linux on them. Then you need something like IPMI, we're talking rather something like a linux server here than an embedded linux.
174189

175190
What security concerns are raised with introducing a smartNIC with linux running on it. I'm looking at you, Kim!
176191

192+
</aside>
193+
</section>
194+
195+
<!–– Slide9 ––>
196+
<section>
197+
<tr>
198+
<p>When should you use a smartNIC?</p>
199+
</section>
200+
201+
<!–– Slide9 ––>
202+
<section>
203+
<tr>
204+
<p>When should you use a smartNIC?</p>
205+
<p>more than 4CPUs for OVS per compute host</p>
206+
207+
</tr>
208+
<aside class="notes">
209+
177210
When should you use a smartNIC?
178211
(Intel info) If on your host you use more than 4CPUs for OVS, then you should switch to using smartNICs, it makes sense from a business point of view.
179212
(Also, smartNIC is a good idea if you need low latency and don't care so much about migration)
180213
- advance to next slide -
181214
</aside>
182-
</section>
183-
215+
</section>
184216
<!–– Slide10 ––>
185-
<section> Openstack working with SmartNICs
217+
<section> <p>Ironic Neutron Cyborg</p>
218+
<tr>
219+
<th><img src="pics/OpenStack_Project_Ironic_mascot.png" width=25% height=25%></th>
220+
<th><img src="pics/OpenStack_Project_Neutron_mascot.png" width=25% height=25%></th>
221+
<th><img src="pics/OpenStack_Project_Cyborg.png" width=25% height=25%></th>
222+
</tr>
223+
186224
<aside class="notes">
225+
Openstack working with SmartNICs
187226
Now the question is where are we in Openstack when it comes to integrating the wide range of smartNICs appearing on the market?
188227
Work is done in several Openstack projects, like ironic, nova and neutron of course.
189228

@@ -241,11 +280,6 @@
241280

242281
Some smartNIC vendors might use native virtio driver while others use proprietary drivers.
243282

244-
A slide with the dropping traffic from having the same mac
245-
traffic reaches NIC in dut5 but is dropped, same mac?
246-
root@FPA1066GX-DA2:~# ovs-appctl dpif/dump-flows br0
247-
in_port(14),eth(src=68:05:ca:91:36:b5,dst=68:05:ca:91:36:b5),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.1.1,proto=6),tcp(src=1234,dst=5678), packets:0, bytes:0, used:7.340s, actions:drop
248-
249283

250284

251285
https://specs.openstack.org/openstack/nova-specs/specs/pike/implemented/netronome-smartnic-enablement.html
@@ -255,11 +289,71 @@
255289
Neutron integration with SmartNICs - TO BE ADDED
256290
Openstack Cyborg for integrating FPGAs with openstack - TO BE ADDED
257291

258-
259292
- advance to next slide -
260293
</aside>
261294
</section>
262295

296+
<!–– SlideX ––>
297+
<section>
298+
<font size="-2">
299+
<p style="text-align:left;">root@cic-1:~# openstack port create<br>
300+
<p style="text-align:left;">usage: openstack port create [-h] [-f {json,shell,table,value,yaml}]<br>
301+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-c COLUMN] [--max-width <integer>] [--fit-width]<br>
302+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[--print-empty] [--noindent] [--prefix PREFIX]<br>
303+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--network <network> [--description <description>]<br>
304+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--device <device-id>]<br>
305+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--mac-address <mac-address>]<br>
306+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--device-owner <device-owner>]<br>
307+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--vnic-type <vnic-type>] [--host <host-id>]<br>
308+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--dns-name dns-name]</p>
309+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--fixed-ip subnet=<subnet>,ip-address=<ip-address>]<br>
310+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--binding-profile <binding-profile>]<br>
311+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--enable | --disable] [--project <project>]<br>
312+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--project-domain <project-domain>]<br>
313+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--security-group <security-group> | --no-security-group]<br>
314+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--qos-policy <qos-policy>]<br>
315+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--enable-port-security | --disable-port-security]<br>
316+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--allowed-address ip-address=<ip-address>[,mac-address=<mac-address>]]<br>
317+
<p style="text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--tag <tag> | --no-tag]<br>
318+
<br>
319+
<p style="text-align:left;">--vnic-type <vnic-type><br>
320+
<p style="text-align:left;">VNIC type for this port (direct | direct-physical | macvtap | normal | baremetal, default: normal)</p>
321+
322+
323+
324+
325+
326+
327+
328+
329+
330+
331+
332+
333+
334+
335+
<name>
336+
337+
338+
</font>
339+
<aside class="notes">
340+
<p>Test</p>
341+
</aside>
342+
</section>
343+
344+
<!–– SlideX ––>
345+
<section>
346+
<font size="-0.5">
347+
<p>root@FPA1066GX-DA2:~# ovs-appctl dpif/dump-flows br0</p>
348+
<p>in_port(14),eth(src=68:05:ca:91:36:b5,dst=68:05:ca:91:36:b5),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.1.1,proto=6),</p>
349+
<p>tcp(src=1234,dst=5678), packets:0, bytes:0, used:7.340s, actions:<b><font color="red">drop</font></b></p>
350+
</font>
351+
<aside class="notes">
352+
<p>Yeah, I chucked this in just as an example of what it means to play with non-commercial NICs, can you spot the problem?</p>
353+
</aside>
354+
</section>
355+
356+
263357
<!–– Slide11 ––>
264358
<section> Performance
265359
<aside class="notes">
@@ -329,7 +423,7 @@
329423
XDP (eXpress Data Path) is shipped with the kernel since version 4.8 and it is enabled by default, with CONFIG_BPF_SYSCALL.
330424

331425

332-
To check if XDP it is enabled in the kernel, it's as simply as grepping for it in the kernel config file
426+
To check if XDP it is enabled in the kernel, it's as simple as grepping for it in the kernel config file
333427

334428
┌─(ecrehar@elxahkpv4m2:pts/5)────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(~/Downloads)─┐
335429
└─(15:09:%)── grep CONFIG_BPF_SYSCALL /boot/config-4.15.0-46-generic ──(mån,06.03)─┘
22.6 KB
Loading
31.2 KB
Loading
42.8 KB
Loading
18.7 KB
Loading
32.1 KB
Loading

0 commit comments

Comments
 (0)