Convert all asciinema into live players - ensure there is a GIF for older casts, remove the dangling CSS/JS
This commit is contained in:
@ -3,6 +3,8 @@ date: "2021-08-13T15:33:14Z"
|
||||
title: VPP Linux CP - Part2
|
||||
aliases:
|
||||
- /s/articles/2021/08/13/vpp-2.html
|
||||
params:
|
||||
asciinema: true
|
||||
---
|
||||
|
||||
|
||||
@ -254,9 +256,10 @@ for me, and I can configure both sides entirely with `vppctl` commands!
|
||||
|
||||
### Bonus screencast!
|
||||
|
||||
Humor me as I [take the code out](https://asciinema.org/a/430411) for a 5 minute spin :-)
|
||||
Humor me as I take the code out for a six minute screencast [[asciinema](/assets/vpp/430411.cast),
|
||||
[gif](/assets/vpp/430411.gif)] :-)
|
||||
|
||||
<script id="asciicast-430411" src="https://asciinema.org/a/430411.js" async></script>
|
||||
{{< asciinema src="/assets/vpp/430411.cast" >}}
|
||||
|
||||
|
||||
## Credits
|
||||
|
@ -3,6 +3,8 @@ date: "2021-08-25T08:55:14Z"
|
||||
title: VPP Linux CP - Part4
|
||||
aliases:
|
||||
- /s/articles/2021/08/25/vpp-4.html
|
||||
params:
|
||||
asciinema: true
|
||||
---
|
||||
|
||||
|
||||
@ -342,12 +344,13 @@ After this code is in, the operator will only have to create a _LIP_ for any phy
|
||||
can rely on the new Netlink Listener plugin and the use of `ip` in Linux for all the rest. This
|
||||
implementation starts approaching 'vanilla' Linux user experience!
|
||||
|
||||
Here's [a screencast](https://asciinema.org/a/432243) showing me playing around a bit, demonstrating
|
||||
that synchronization works pretty well in both directions, a huge improvement from the
|
||||
[previous screencast](https://asciinema.org/a/430411) in my [second post]({{< ref "2021-08-13-vpp-2" >}}),
|
||||
which was only two weeks ago:
|
||||
Here's a new screencast [[asciinema](/assets/vpp/432243.cast), [gif](/assets/vpp/432243.gif)]
|
||||
showing me playing around a bit, demonstrating that synchronization works pretty well in both
|
||||
directions, a huge improvement from the [[previous asciinema](/assets/vpp/430411.cast),
|
||||
[gif](/assets/vpp/430411.gif)] in my [[second post]({{< ref "2021-08-13-vpp-2"
|
||||
>}})], which was only two weeks ago:
|
||||
|
||||
<script id="asciicast-432243" src="https://asciinema.org/a/432243.js" async></script>
|
||||
{{< asciinema src="/assets/vpp/432243.cast" >}}
|
||||
|
||||
### Further Work
|
||||
|
||||
|
@ -3,9 +3,10 @@ date: "2021-09-02T12:19:14Z"
|
||||
title: VPP Linux CP - Part5
|
||||
aliases:
|
||||
- /s/articles/2021/09/02/vpp-5.html
|
||||
params:
|
||||
asciinema: true
|
||||
---
|
||||
|
||||
|
||||
{{< image width="200px" float="right" src="/assets/vpp/fdio-color.svg" alt="VPP" >}}
|
||||
|
||||
# About this series
|
||||
@ -417,11 +418,13 @@ from the Linux host interfaces works for all 5 interface types (untagged, .1q ta
|
||||
and QinAD) and for both physical and virtual interfaces (like `TenGigabitEthernet3/0/0` and `BondEthernet0`),
|
||||
still works. Great.
|
||||
|
||||
Here's [a screencast](https://asciinema.org/a/432943) showing me playing around a bit with that configuration
|
||||
shown above, demonstrating that RIB and FIB synchronisation works pretty well in both directions, making the
|
||||
combination of these two plugins sufficient to run a VPP router in the _Default Free Zone_, Whoohoo!
|
||||
Here's a screencast [[asciinema](/assets/vpp/432943.cast), [gif](/assets/vpp/432942.gif)] showing me
|
||||
playing around a bit with that configuration shown above, demonstrating that RIB and FIB
|
||||
synchronisation works pretty well in both directions, making the combination of these two plugins
|
||||
sufficient to run a VPP router in the _Default Free Zone_, Whoohoo!
|
||||
|
||||
{{< asciinema src="/assets/vpp/432943.cast" >}}
|
||||
|
||||
<script id="asciicast-432943" src="https://asciinema.org/a/432943.js" async></script>
|
||||
|
||||
### Future work
|
||||
|
||||
|
@ -3,6 +3,8 @@ date: "2024-01-27T10:01:14Z"
|
||||
title: VPP Python API
|
||||
aliases:
|
||||
- /s/articles/2024/01/27/vpp-papi.html
|
||||
params:
|
||||
asciinema: true
|
||||
---
|
||||
|
||||
{{< image width="200px" float="right" src="/assets/vpp/fdio-color.svg" alt="VPP" >}}
|
||||
@ -699,10 +701,10 @@ except KeyboardInterrupt:
|
||||
## Results
|
||||
|
||||
After all of this deep-diving, all that's left is for me to demonstrate the API by means of this
|
||||
little asciinema [[screencast](/assets/vpp-papi/vpp_papi_clean.cast)] - I hope you enjoy it as much
|
||||
as I enjoyed creating it:
|
||||
little screencast [[asciinema](/assets/vpp-papi/vpp_papi_clean.cast),
|
||||
[gif](/assets/vpp-papi/vpp_papi_clean.gif)] - I hope you enjoy it as much as I enjoyed creating it:
|
||||
|
||||
{{< image src="/assets/vpp-papi/vpp_papi_clean.gif" alt="Asciinema" >}}
|
||||
{{< asciinema src="/assets/vpp-papi/vpp_papi_clean.cast" >}}
|
||||
|
||||
Note to self:
|
||||
|
||||
|
@ -3,6 +3,8 @@ date: "2024-04-06T10:17:54Z"
|
||||
title: VPP with loopback-only OSPFv3 - Part 1
|
||||
aliases:
|
||||
- /s/articles/2024/04/07/vpp-ospf.html
|
||||
params:
|
||||
asciinema: true
|
||||
---
|
||||
|
||||
{{< image width="200px" float="right" src="/assets/vpp-ospf/bird-logo.svg" alt="Bird" >}}
|
||||
@ -417,13 +419,14 @@ default via fe80::5054:ff:fef0:1121 dev e0 proto bird metric 32 pref medium
|
||||
|
||||
## Results
|
||||
|
||||
I thought I'd record a little [[asciinema](/assets/vpp-ospf/clean.cast)] that shows the end to end
|
||||
I thought I'd record a little [[asciinema](/assets/vpp-ospf/clean.cast),
|
||||
[gif](/assets/vpp-ospf/clean.gif)] that shows the end to end
|
||||
configuration, starting from an empty dataplane and bird configuration. I'll show _Solution 2_, that
|
||||
is, the solution that doesn't copy the _unnumbered_ interfaces in VPP to Linux.
|
||||
|
||||
Ready? Here I go!
|
||||
|
||||
{{< image src="/assets/vpp-ospf/clean.gif" alt="OSPF IPv4-less VPP" >}}
|
||||
{{< asciinema src="/assets/vpp-ospf/clean.cast" >}}
|
||||
|
||||
|
||||
### To unnumbered or Not To unnumbered
|
||||
|
@ -3,6 +3,8 @@ date: "2024-05-25T12:23:54Z"
|
||||
title: 'Case Study: NAT64'
|
||||
aliases:
|
||||
- /s/articles/2024/05/25/nat64-1.html
|
||||
params:
|
||||
asciinema: true
|
||||
---
|
||||
|
||||
# Introduction
|
||||
@ -398,9 +400,9 @@ down Bird2 alltogether will immediately drain the machine of all traffic, while
|
||||
immediately rerouted.
|
||||
|
||||
If you're curious, here's a few minutes of me playing with failover, while watching YouTube videos
|
||||
concurrently.
|
||||
concurrently [[asciinema](/assets/nat64/nat64.cast), [gif](/assets/nat64/nat64.gif)]:
|
||||
|
||||
{{< image src="/assets/nat64/nat64.gif" alt="Asciinema" >}}
|
||||
{{< asciinema src="/assets/nat64/nat64.cast" >}}
|
||||
|
||||
### What's Next
|
||||
|
||||
|
@ -3,6 +3,8 @@ date: "2024-06-22T09:17:54Z"
|
||||
title: VPP with loopback-only OSPFv3 - Part 2
|
||||
aliases:
|
||||
- /s/articles/2024/06/22/vpp-ospf-2.html
|
||||
params:
|
||||
asciinema: true
|
||||
---
|
||||
|
||||
{{< image width="200px" float="right" src="/assets/vpp-ospf/bird-logo.svg" alt="Bird" >}}
|
||||
@ -608,10 +610,10 @@ Subtle, but super dope.
|
||||
|
||||
The proof is in the pudding, they say. After all of this link draining, reconfiguring and undraining,
|
||||
I gain confidence that this stuff actually works as advertised! I thought it'd be a nice touch to
|
||||
demonstrate a link drain, between Frankfurt and Amsterdam. I recorded a little asciinema
|
||||
[[screencast](/assets/vpp-ospf/rollout.cast)], shown here:
|
||||
demonstrate a link drain, between Frankfurt and Amsterdam. I recorded a little screencast
|
||||
[[asciinema](/assets/vpp-ospf/rollout.cast), [gif](/assets/vpp-ospf/rollout.gif)], shown here:
|
||||
|
||||
{{< image src="/assets/vpp-ospf/rollout.gif" alt="Asciinema" >}}
|
||||
{{< asciinema src="/assets/vpp-ospf/rollout.cast" >}}
|
||||
|
||||
### Returning IPv4 (and IPv6!) addresses
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{"version": 2, "width": 150, "height": 47, "timestamp": 1628890951, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
|
||||
{"version": 2, "width": 150, "height": 47, "theme":{"fg": "#ffffff","bg":"#000000", "palette":"#000000:#990000:#00A600:#999900:#0000B3:#B300B3:#999900:#BFBFBF:#666666:#F60000:#00F600:#F6F600:#0000F6:#F600F6:#00F6F6:#F6F6F6"}, "timestamp": 1628890951, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
|
||||
[0.030413, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
|
||||
[0.030922, "o", "\u001b]7;file://102-main.rfc1918.ipng.nl/Users/pim\u0007"]
|
||||
[0.032409, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[Jpim@102-main ~ % \u001b[K\u001b[?2004h"]
|
||||
|
BIN
static/assets/vpp/430411.gif
(Stored with Git LFS)
Normal file
BIN
static/assets/vpp/430411.gif
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
{"version": 2, "width": 100, "height": 48, "timestamp": 1629889803, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
|
||||
{"version": 2, "width": 100, "height": 48, "theme":{"fg": "#ffffff","bg":"#000000", "palette":"#000000:#990000:#00A600:#999900:#0000B3:#B300B3:#999900:#BFBFBF:#666666:#F60000:#00F600:#F6F600:#0000F6:#F600F6:#00F6F6:#F6F6F6"}, "timestamp": 1629889803, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
|
||||
[0.026584, "o", "Restored session: Wed Aug 25 13:09:17 CEST 2021\r\n"]
|
||||
[0.029542, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
|
||||
[0.02992, "o", "\u001b]7;file://102-main.rfc1918.ipng.nl/Users/pim\u0007"]
|
||||
|
BIN
static/assets/vpp/432243.gif
(Stored with Git LFS)
Normal file
BIN
static/assets/vpp/432243.gif
(Stored with Git LFS)
Normal file
Binary file not shown.
2196
static/assets/vpp/432943.cast
Normal file
2196
static/assets/vpp/432943.cast
Normal file
File diff suppressed because it is too large
Load Diff
BIN
static/assets/vpp/432943.gif
(Stored with Git LFS)
Normal file
BIN
static/assets/vpp/432943.gif
(Stored with Git LFS)
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user