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
|
title: VPP Linux CP - Part2
|
||||||
aliases:
|
aliases:
|
||||||
- /s/articles/2021/08/13/vpp-2.html
|
- /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!
|
### 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
|
## Credits
|
||||||
|
@ -3,6 +3,8 @@ date: "2021-08-25T08:55:14Z"
|
|||||||
title: VPP Linux CP - Part4
|
title: VPP Linux CP - Part4
|
||||||
aliases:
|
aliases:
|
||||||
- /s/articles/2021/08/25/vpp-4.html
|
- /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
|
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!
|
implementation starts approaching 'vanilla' Linux user experience!
|
||||||
|
|
||||||
Here's [a screencast](https://asciinema.org/a/432243) showing me playing around a bit, demonstrating
|
Here's a new screencast [[asciinema](/assets/vpp/432243.cast), [gif](/assets/vpp/432243.gif)]
|
||||||
that synchronization works pretty well in both directions, a huge improvement from the
|
showing me playing around a bit, demonstrating that synchronization works pretty well in both
|
||||||
[previous screencast](https://asciinema.org/a/430411) in my [second post]({{< ref "2021-08-13-vpp-2" >}}),
|
directions, a huge improvement from the [[previous asciinema](/assets/vpp/430411.cast),
|
||||||
which was only two weeks ago:
|
[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
|
### Further Work
|
||||||
|
|
||||||
|
@ -3,9 +3,10 @@ date: "2021-09-02T12:19:14Z"
|
|||||||
title: VPP Linux CP - Part5
|
title: VPP Linux CP - Part5
|
||||||
aliases:
|
aliases:
|
||||||
- /s/articles/2021/09/02/vpp-5.html
|
- /s/articles/2021/09/02/vpp-5.html
|
||||||
|
params:
|
||||||
|
asciinema: true
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
{{< image width="200px" float="right" src="/assets/vpp/fdio-color.svg" alt="VPP" >}}
|
{{< image width="200px" float="right" src="/assets/vpp/fdio-color.svg" alt="VPP" >}}
|
||||||
|
|
||||||
# About this series
|
# 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`),
|
and QinAD) and for both physical and virtual interfaces (like `TenGigabitEthernet3/0/0` and `BondEthernet0`),
|
||||||
still works. Great.
|
still works. Great.
|
||||||
|
|
||||||
Here's [a screencast](https://asciinema.org/a/432943) showing me playing around a bit with that configuration
|
Here's a screencast [[asciinema](/assets/vpp/432943.cast), [gif](/assets/vpp/432942.gif)] showing me
|
||||||
shown above, demonstrating that RIB and FIB synchronisation works pretty well in both directions, making the
|
playing around a bit with that configuration shown above, demonstrating that RIB and FIB
|
||||||
combination of these two plugins sufficient to run a VPP router in the _Default Free Zone_, Whoohoo!
|
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
|
### Future work
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@ date: "2024-01-27T10:01:14Z"
|
|||||||
title: VPP Python API
|
title: VPP Python API
|
||||||
aliases:
|
aliases:
|
||||||
- /s/articles/2024/01/27/vpp-papi.html
|
- /s/articles/2024/01/27/vpp-papi.html
|
||||||
|
params:
|
||||||
|
asciinema: true
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< image width="200px" float="right" src="/assets/vpp/fdio-color.svg" alt="VPP" >}}
|
{{< image width="200px" float="right" src="/assets/vpp/fdio-color.svg" alt="VPP" >}}
|
||||||
@ -699,10 +701,10 @@ except KeyboardInterrupt:
|
|||||||
## Results
|
## Results
|
||||||
|
|
||||||
After all of this deep-diving, all that's left is for me to demonstrate the API by means of this
|
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
|
little screencast [[asciinema](/assets/vpp-papi/vpp_papi_clean.cast),
|
||||||
as I enjoyed creating it:
|
[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:
|
Note to self:
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@ date: "2024-04-06T10:17:54Z"
|
|||||||
title: VPP with loopback-only OSPFv3 - Part 1
|
title: VPP with loopback-only OSPFv3 - Part 1
|
||||||
aliases:
|
aliases:
|
||||||
- /s/articles/2024/04/07/vpp-ospf.html
|
- /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" >}}
|
{{< 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
|
## 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
|
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.
|
is, the solution that doesn't copy the _unnumbered_ interfaces in VPP to Linux.
|
||||||
|
|
||||||
Ready? Here I go!
|
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
|
### To unnumbered or Not To unnumbered
|
||||||
|
@ -3,6 +3,8 @@ date: "2024-05-25T12:23:54Z"
|
|||||||
title: 'Case Study: NAT64'
|
title: 'Case Study: NAT64'
|
||||||
aliases:
|
aliases:
|
||||||
- /s/articles/2024/05/25/nat64-1.html
|
- /s/articles/2024/05/25/nat64-1.html
|
||||||
|
params:
|
||||||
|
asciinema: true
|
||||||
---
|
---
|
||||||
|
|
||||||
# Introduction
|
# Introduction
|
||||||
@ -398,9 +400,9 @@ down Bird2 alltogether will immediately drain the machine of all traffic, while
|
|||||||
immediately rerouted.
|
immediately rerouted.
|
||||||
|
|
||||||
If you're curious, here's a few minutes of me playing with failover, while watching YouTube videos
|
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
|
### What's Next
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@ date: "2024-06-22T09:17:54Z"
|
|||||||
title: VPP with loopback-only OSPFv3 - Part 2
|
title: VPP with loopback-only OSPFv3 - Part 2
|
||||||
aliases:
|
aliases:
|
||||||
- /s/articles/2024/06/22/vpp-ospf-2.html
|
- /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" >}}
|
{{< 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,
|
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
|
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
|
demonstrate a link drain, between Frankfurt and Amsterdam. I recorded a little screencast
|
||||||
[[screencast](/assets/vpp-ospf/rollout.cast)], shown here:
|
[[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
|
### 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.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.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"]
|
[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.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.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"]
|
[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