Replace all post_url with Hugo ref blocks
This commit is contained in:
@ -25,7 +25,7 @@ like [FRR](https://frrouting.org/) or [Bird](https://bird.network.cz/) on top of
|
||||
## Running in Production
|
||||
|
||||
In the first articles from this series, I showed the code that needed to be written to implement the
|
||||
**Control Plane** and **Netlink Listener** plugins. In the [penultimate post]({% post_url 2021-09-10-vpp-6 %}),
|
||||
**Control Plane** and **Netlink Listener** plugins. In the [penultimate post]({{< ref "2021-09-10-vpp-6" >}}),
|
||||
I wrote an SNMP Agentx that exposes the VPP interface data to, say, LibreNMS.
|
||||
|
||||
But what are the things one might do to deploy a router end-to-end? That is the topic of this post.
|
||||
@ -33,7 +33,7 @@ But what are the things one might do to deploy a router end-to-end? That is the
|
||||
### A note on hardware
|
||||
|
||||
Before I get into the details, here's some specifications on the router hardware that I use at
|
||||
IPng Networks (AS50869). See more about our network [here]({% post_url 2021-02-27-network %}).
|
||||
IPng Networks (AS50869). See more about our network [here]({{< ref "2021-02-27-network" >}}).
|
||||
|
||||
The chassis is a Supermicro SYS-5018D-FN8T, which includes:
|
||||
* Full IPMI support (power, serial-over-lan and kvm-over-ip with HTML5), on a dedicated network port.
|
||||
@ -318,7 +318,7 @@ See all interfaces? Great. Moving on :)
|
||||
I set a VPP interface configuration (which it'll read and apply any time it starts or restarts,
|
||||
thereby making the configuration persistent across crashes and reboots). Using the `exec`
|
||||
stanza described above, the contents now become, taking as an example, our first router in
|
||||
Lille, France [[details]({% post_url 2021-05-28-lille %})], configured as so:
|
||||
Lille, France [[details]({{< ref "2021-05-28-lille" >}})], configured as so:
|
||||
|
||||
```
|
||||
cat << EOF | sudo tee /etc/vpp/bootstrap.vpp
|
||||
@ -351,9 +351,9 @@ EOF
|
||||
This base-line configuration will:
|
||||
* Ensure all host interfaces are created in namespace `dataplane` which we created earlier
|
||||
* Turn on `lcp-sync`, which copies forward any configuration from VPP into Linux (see
|
||||
[VPP Part 2]({% post_url 2021-08-13-vpp-2 %}))
|
||||
[VPP Part 2]({{< ref "2021-08-13-vpp-2" >}}))
|
||||
* Turn on `lcp-auto-subint`, which automatically creates _LIPs_ (Linux interface pairs)
|
||||
for all sub-interfaces (see [VPP Part 3]({% post_url 2021-08-15-vpp-3 %}))
|
||||
for all sub-interfaces (see [VPP Part 3]({{< ref "2021-08-15-vpp-3" >}}))
|
||||
* Create a loopback interface, give it IPv4/IPv6 addresses, and expose it to Linux
|
||||
* Create one _LIP_ interface for four of the Gigabit and all 6x TenGigabit interfaces
|
||||
* Leave 2 interfaces (`GigabitEthernet7/0/0` and `GigabitEthernet8/0/0`) for later
|
||||
@ -423,7 +423,7 @@ for all of the connected interfaces, while Linux has already added those. Theref
|
||||
avoid the source `RTS_DEVICE`, which means "connected routes", but otherwise offer all
|
||||
routes to the kernel, which in turn propagates these as Netlink messages which are
|
||||
consumed by VPP. A detailed discussion of Bird's configuration semantics is in my
|
||||
[VPP Part 5]({% post_url 2021-09-02-vpp-5 %}) post.
|
||||
[VPP Part 5]({{< ref "2021-09-02-vpp-5" >}}) post.
|
||||
|
||||
### Configuring SSH
|
||||
|
||||
@ -477,7 +477,7 @@ important to note that Linux will only see those packets that were _punted_ by V
|
||||
is to say, those packets which were destined to any IP address configured on the control
|
||||
plane. Any traffic going _through_ VPP will never be seen by Linux! So, I'll have to be
|
||||
clever and count this traffic by polling VPP instead. This was the topic of my previous
|
||||
[VPP Part 6]({% post_url 2021-09-10-vpp-6 %}) about the SNMP Agent. All of that code
|
||||
[VPP Part 6]({{< ref "2021-09-10-vpp-6" >}}) about the SNMP Agent. All of that code
|
||||
was released to [Github](https://github.com/pimvanpelt/vpp-snmp-agent), notably there's
|
||||
a hint there for an `snmpd-dataplane.service` and a `vpp-snmp-agent.service`, including
|
||||
the compiled binary that reads from VPP and feeds this to SNMP.
|
||||
|
Reference in New Issue
Block a user