0116583463
Rename VPPApiDumper() class to Dumper()
Pim van Pelt
2022-04-10 14:55:01 +00:00
da7765569f
Refactor VPPApi
Pim van Pelt
2022-04-10 14:47:37 +00:00
9d60a01879
Add a running log of executed commands in intest.exec
Pim van Pelt
2022-04-10 13:57:00 +00:00
929fa7b546
bugfix: sync max frame size before packet MTU
Pim van Pelt
2022-04-10 10:57:17 +00:00
a7545ac5af
Add ability to manipulate MACs
Pim van Pelt
2022-04-10 09:54:51 +00:00
656f2ce883
Only signal bondethernet diff if mode/lb are actually set in the config
Pim van Pelt
2022-04-09 22:08:32 +00:00
be36cc0ede
Allow BondEthernet to set MAC, and disallow interfaces to set their MAC if they are a bond member
Pim van Pelt
2022-04-09 21:18:26 +00:00
35edcff884
Allow mac to be set up loopbacks, iff not multicast
Pim van Pelt
2022-04-09 20:47:23 +00:00
1e0b99bc0f
Clarify that custom validators only get called iff yamale passes
Pim van Pelt
2022-04-09 20:35:58 +00:00
1230e04c3e
Refactor validators into a list, and add a custom validator function, which is passed the YAML as an argument, and will return (rv,msgs) to signal custom semantic validation results
Pim van Pelt
2022-04-09 20:12:21 +00:00
d6e3496809
Add TAP syntax/semantic validator
Pim van Pelt
2022-04-09 19:56:48 +00:00
92a20d0755
Add a few MAC checks
Pim van Pelt
2022-04-09 14:16:27 +00:00
1a00f14b53
Assert hardware APIs must be made available for testing
Pim van Pelt
2022-04-07 21:39:41 +00:00
b7425a825d
Fix the MTU of BVIs to be consistent with the bridge they're in
Pim van Pelt
2022-04-07 21:19:38 +00:00
8854208b09
Add license for docs, add notes on AP2 for code, add requirement for origin certification
Pim van Pelt
2022-04-07 21:18:05 +00:00
771d1ba62f
Add contributing guide with a few baseline expectations
Pim van Pelt
2022-04-07 20:57:51 +00:00
a8ced1b982
Assert that BVI loopback's mtu is the same as its bridge MTU
Pim van Pelt
2022-04-05 17:54:23 +00:00
8971c325c0
Allow bondethernet members list to be empty, and omitted from the YAML config
Pim van Pelt
2022-04-05 16:08:51 +00:00
2360d28d0a
Add the ability to set any mode/lb on bonds
Pim van Pelt
2022-04-05 15:05:03 +00:00
289138da94
Bundle Yamale schema
Pim van Pelt
2022-04-05 12:40:05 +00:00
fdb732142a
Add bridgedomain settings.
Pim van Pelt
2022-04-05 12:01:13 +00:00
f53f7d5095
Remove linux-cp / lcpng specialcase, the API exposed by lcpng and linux-cp is now identical
Pim van Pelt
2022-04-05 11:08:58 +00:00
b461ef49bb
Add 'state' field to interfaces and sub-interfaces
Pim van Pelt
2022-04-05 11:06:33 +00:00
65de792e35
Implement workaround for endianness issue in linux-cp
Pim van Pelt
2022-04-03 22:24:59 +00:00
a4a91d1f5e
Replace dumper with an actual YAML emitter
Pim van Pelt
2022-04-03 21:37:48 +00:00
53a7935168
Copy the Yamale schema.yaml file into the source-code verbatim. This allows the tool to run without any external (file) dependencies, using the built-in yamale_schema if the -s/--schema flag is not specified
Pim van Pelt
2022-04-03 15:53:00 +00:00
a561dc64b1
Correctly prune addresses from untagged and tagged VXLAN tunnels
Pim van Pelt
2022-04-03 15:40:21 +00:00
6bfb31e3fc
Exclude .exec files
Pim van Pelt
2022-04-03 15:23:31 +00:00
88f4240ddd
Add a sub-interface test for VXLAN tunnels
Pim van Pelt
2022-04-03 15:22:43 +00:00
593ffed772
Clarify the encap is optional
Pim van Pelt
2022-04-03 15:03:10 +00:00
1b13ab7c0c
Add a first piece of explanation on the YAML config structure
Pim van Pelt
2022-04-03 13:41:56 +00:00
ce15b5a6fd
Document 'vppcfg plan' including an example
Pim van Pelt
2022-04-03 13:18:32 +00:00
35e878a42e
Add example output to illustrate the 'vppcfg dump' command
Pim van Pelt
2022-04-03 13:05:48 +00:00
dfd8c8b8a9
Add user guide for 'vppcfg dump' command
Pim van Pelt
2022-04-03 13:01:31 +00:00
eee47c02b1
Explain that 'check' does not use VPP interaction at all
Pim van Pelt
2022-04-03 12:53:14 +00:00
82d78c721c
Clarification on return value
Pim van Pelt
2022-04-03 12:51:15 +00:00
3a4416e8d7
Add a user guide for 'vppcfg check'
Pim van Pelt
2022-04-03 12:48:40 +00:00
2642e94dea
Assert that sub-ints with addresses must have exact-match set
Pim van Pelt
2022-04-03 12:48:09 +00:00
a8ed54308b
Merge from github
Pim van Pelt
2022-04-03 12:04:37 +00:00
ef475a200a
Move docs into their own directory
Pim van Pelt
2022-04-03 12:02:41 +00:00
c3f8a97de9
Move docs into their own directory
Pim van Pelt
2022-04-03 12:02:41 +00:00
2b98d57fd2
Move VPPAPIDumper into its own class.
Pim van Pelt
2022-04-03 11:52:01 +00:00
50581f7171
Rename 'config' to 'cache' in the VPPApi.
Pim van Pelt
2022-04-03 11:21:29 +00:00
1a0daa48d1
Move to explicit 'plan -o XXX' commandline
Pim van Pelt
2022-04-03 11:20:47 +00:00
b67493003f
Only write output if in planning mode
Pim van Pelt
2022-04-03 11:05:50 +00:00
566efe3596
Add a CLI output emitter (either to stdout or to filename), based on plan --output/-o flag
Pim van Pelt
2022-04-03 09:49:27 +00:00
8499f2104e
Clean up some debugging statements post-prune
Pim van Pelt
2022-04-03 09:19:51 +00:00
342ccf3765
Add a real life example (hippo12.yaml) which shows all supported config so far
Pim van Pelt
2022-04-03 09:19:25 +00:00
27b4500d3e
Add integration tests in intest/
Pim van Pelt
2022-04-03 09:18:40 +00:00
75e5a23538
Merge branch 'main' of github.com:pimvanpelt/vppcfg into main
Pim van Pelt
2022-04-03 09:04:19 +00:00
d30f2d8965
Relax the LCP requirements - it is OK to have an address without an LCP
Pim van Pelt
2022-04-03 09:04:11 +00:00
5e7f1bdba4
Update LICENSE
Pim van Pelt
2022-04-02 23:31:40 +02:00
682d157d5b
Add note on 'Applying' verb which will come next.
Pim van Pelt
2022-04-02 22:37:45 +02:00
6a6caa113e
Update usage output
Pim van Pelt
2022-04-02 22:34:13 +02:00
f786a00e9a
Check for the existence of LCP config statements, and if so, require linux-cp or lcpng plugins are enabled in VPP
Pim van Pelt
2022-04-02 20:16:51 +00:00
240fcebbcf
Remove integration-test.sh
Pim van Pelt
2022-03-29 17:13:55 +00:00
f70bff400f
Introduce a CLI object
Pim van Pelt
2022-03-29 14:04:53 +00:00
7c8f36d1fe
Merge from upstream
Pim van Pelt
2022-03-28 16:44:17 +00:00
2003a21068
Refactor prune_lcps()
Pim van Pelt
2022-03-28 16:38:35 +00:00
271b502299
Refactor prune_lcps()
Pim van Pelt
2022-03-28 16:38:35 +00:00
4704780362
Typofix in variable name
Pim van Pelt
2022-03-27 22:09:35 +00:00
020c5f72e1
Also create loopback LCPs
Pim van Pelt
2022-03-27 21:37:56 +00:00
fe49b89492
Bugfix - ensure BVI exists in VPP before trying to remove it
Pim van Pelt
2022-03-27 21:32:02 +00:00
24547869c9
Avoid issuing 'pop 0' for untagged l2xc changes; just emit the exact CLI statement
Pim van Pelt
2022-03-27 21:26:25 +00:00
2415d30c0a
Second part of a BVI refactor
Pim van Pelt
2022-03-27 20:39:19 +00:00
850b982f2a
First part of a BVI refactor
Pim van Pelt
2022-03-27 20:04:22 +00:00
90c23cf987
Prune sub-ints that have a different encap than their config counterpart
Pim van Pelt
2022-03-27 16:14:37 +00:00
b97a0f46b8
Allow LCP to consume the full 15 char length
Pim van Pelt
2022-03-27 14:50:56 +00:00
9d6d99547f
Do not append interfaces to bridge_members if their sw_if_index has been removed - this forces the interface to be re-added
Pim van Pelt
2022-03-27 12:52:28 +00:00
78bd0c4f5a
Assert BondEthernet devices also exist as interfaces. Assert MTU of members is equal to that of the BondEthernet interface
Pim van Pelt
2022-03-27 12:29:57 +00:00
176fd297aa
Refactor phys_exist() into phys_exist_in_{config,vpp}(); Correct vppapi.get_phys()
Pim van Pelt
2022-03-26 23:07:49 +00:00
4c31541b3e
Signal failure/success at the end of the reconciliation run
Pim van Pelt
2022-03-26 22:52:06 +00:00
cb6eafae3e
Complete Sync Phase
Pim van Pelt
2022-03-26 22:51:21 +00:00
084094bb27
Add get_bvis() plus unittest
Pim van Pelt
2022-03-26 22:45:52 +00:00
a2d2476710
Make Sync Phase config-centric
Pim van Pelt
2022-03-26 22:18:54 +00:00
619c579561
Make vpp_readconfig() explicit again. I want to try to read the VPP config only once, and pathplan the entire prune/create/sync cycle with one set of API reads at the beginning.
Pim van Pelt
2022-03-26 21:08:41 +00:00
f5601765b0
Ignore .swp files
Pim van Pelt
2022-03-26 17:18:25 +00:00
7bb9fa5ac8
Assert that a QinX cannot have higher MTU than its intermediate interface
Pim van Pelt
2022-03-26 17:18:10 +00:00
40c6b2d1c8
Sync Phase: Implement MTU syncing (for both packet MTU and Max Frame Size)
Pim van Pelt
2022-03-26 17:09:07 +00:00