Add the ability to set any mode/lb on bonds
This requires a schema change, adding 'mode' and 'load-balance' fields, a semantic invariant that 'load-balance' can only be set in the case of LACP and XOR bonds, a mapper from the mode/lb strings, ie. "round-robin" to their VPP numeric counterparts, a bunch of unit tests. Then in the reconciler, changing bonds (__bond_has_diff()) will invalidate any LCP or sub-interfaces built on them, so those will have to be pruned. create_bondethernet() will now create (or re-create) the bond with the correct flags. Unit-tests, YAML tests and the integration test all pass. Updated config-guide.
This commit is contained in:
		@@ -1,6 +1,8 @@
 | 
			
		||||
bondethernets:
 | 
			
		||||
  BondEthernet0:
 | 
			
		||||
    interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
 | 
			
		||||
    mode: lacp
 | 
			
		||||
    load-balance: l2
 | 
			
		||||
 | 
			
		||||
interfaces:
 | 
			
		||||
  GigabitEthernet3/0/0:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user