From 8ac9b50d94baa78e6bc0e00004e5f8c45953a9a4 Mon Sep 17 00:00:00 2001 From: Pim van Pelt Date: Wed, 23 Mar 2022 23:28:12 +0000 Subject: [PATCH] Add some clarification to the reconsiliation algorithm --- README.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e649d53..406e8c3 100644 --- a/README.md +++ b/README.md @@ -128,13 +128,22 @@ and finally for all interfaces, they are synchronized with the configuratino (IP ### Pruning -1. Retrieve all LCP interfaces from VPP +1. For any interface that exists in VPP but not in the config: + * Starting with QinQ/QinAD, then Dot1Q/Dot1AD, then (BondEthernets, Tunnels, PHYs) + * Set it admin-state down + * Remove all of its IP addresses +1. Retrieve all LCP interfaces from VPP, and retrieve their interface information * Starting with QinQ/QinAD, then Dot1Q/Dot1AD, then (BondEthernets, Tunnels, PHYs) * Remove those that do not exist in the config - * Remove those that do exist in the config but are on a different phy - * Remove those that do exist in the config but have a different encapsulation + * Remove those that do exist in the config but have a different encapsulation, for example + if `e0.100` exists with dot1q 100, but has moved to dot1ad 1234. + * Remove those that do exist in the config but have mismatched VPP/LCP interface names, + for example if `e0` was paired with interface Te1/0/0 but has moved to interface Te1/0/1. 1. Retrieve all Loopbacks and BVIs from VPP * Remove those that do not exist in the config + * For BVIs, remove those that exist in the config but are associated with a different + bridge-domain, for example if `bvi123` exists in bridge-domain 10, but it has moved to + bridge-domain 123. * Remove all IP addresses that are not in the config 1. Retrieve all Bridge Domains from VPP * Remove those that do not exist in the config @@ -169,7 +178,8 @@ and finally for all interfaces, they are synchronized with the configuratino (IP 1. Tunnels 1. Dot1Q and Dot1AD sub-interfaces 1. Qin1Q and Qin1AD sub-interfaces -1. LCP pairs +1. LCP pairs for Tunnels (TUN type) +1. LCP pairs for PHYs, BondEthernets, Dot1Q/Dot1AD and finally QinQ/QinAD (TAP type) ### Syncing