Re-order the Pruning flow

1. sub-ints have to be removed before their parent, particularly
   bondethernets, because destroying BondEthernet0 will cascade
   destruction of all of its sub-ints. So:
   - first prune_sub_interfaces()
   - then prune_bondethernets()
   - finally prune_phys()
2. for any interface (loop, bvi, sub, phy, bond), prune_addresses()
   before destroying the interface

Update the README with this new flow.
This commit is contained in:
Pim van Pelt
2022-03-25 13:35:14 +00:00
parent 0a31a22e7e
commit a068f25f19
2 changed files with 43 additions and 25 deletions

View File

@ -150,21 +150,21 @@ and finally all objects are synchronized with the configuration (IP addresses, M
* For interfaces that do not exist in the config (either as source or target):
* Return the interface to L3 mode
* Remove tag-rewrite options on if it has encapsulation
1. Retrieve all Tunnels from VPP
* Remove those that do not exist in the config
* Remove all IP addresses that are not in the config
1. Retrieve all sub-interfaces from VPP
* Starting with QinQ/QinAD, then Dot1Q/Dot1AD:
* Remove those that do not exist in the config
* Remove those that do exist in the config but have a different encapsulation
* Remove all IP addresses that are not in the config
1. Retrieve all BondEthernets from VPP
* Remove those that do not exist in the config
* Remove all member interfaces that are not in the config
* Remove all IP addresses that are not in the config
1. Retrieve all Tunnels from VPP
* Remove those that do not exist in the config
1. And finally, for each PHY interface:
* Remove all IP addresses that are not in the config
1. Retrieve all interfaces from VPP
* Starting with QinQ/QinAD, then Dot1Q/Dot1AD, then (BondEthernets, Tunnels):
* Remove those that do not exist in the config
* Remove those that do exist in the config but have a different encapsulation
* Remove all IP addresses that are not in the config
* And finally, for each PHY:
* Remove all IP addresses that are not in the config
* If not in the config, return to default (L3 mode, MTU 9000, admin-state down)
* If not in the config, return to default (L3 mode, MTU 9000, admin-state down)
### Creating