Commit Graph

  • 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
  • 41bce7131c Remove surperfluous YAML file Pim van Pelt 2022-04-05 15:54:09 +00:00
  • 0a755a0745 Add bond/bridge YAML emitter Pim van Pelt 2022-04-05 15:50:49 +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
  • 196e09b2d2 Add interface/sub-interface config documentation Pim van Pelt 2022-04-03 15:01:23 +00:00
  • dc3fb57274 Add config documentation for VXLAN tunnels Pim van Pelt 2022-04-03 14:44:50 +00:00
  • 720f581e47 Do bounds checking on the BondEthernet and VXLAN Tunnel instances Pim van Pelt 2022-04-03 14:40:44 +00:00
  • 79f41d447d Add caveat on bridgedomain configurability Pim van Pelt 2022-04-03 14:29:35 +00:00
  • dc0d785818 Add example.yaml reference Pim van Pelt 2022-04-03 14:22:31 +00:00
  • e25f73db9c Add BondEthernet documentation, with a caveat on its restrictive types Pim van Pelt 2022-04-03 14:20:30 +00:00
  • 00731e38f1 Make code match documentation :-) Pim van Pelt 2022-04-03 14:07:56 +00:00
  • 15daa65c0b Add bridgedomain config structure Pim van Pelt 2022-04-03 13:58:45 +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
  • 0c747dbfc3 Sync Phase: Implement bridgedomains Pim van Pelt 2022-03-26 15:43:55 +00:00
  • 0a80801217 Always set interface up after MTU change; otherwise only set it up if it was down Pim van Pelt 2022-03-26 15:21:09 +00:00
  • e9bbd47407 Sync Phase: Implement bondethernets Pim van Pelt 2022-03-26 15:14:49 +00:00
  • f2784ce5d0 Remove spurious logline Pim van Pelt 2022-03-26 12:26:57 +00:00
  • 54bb45f03d typofix on interface_names and sw_if_index Pim van Pelt 2022-03-26 12:20:19 +00:00
  • 660cccd14e Assert that bd0 is reserved Pim van Pelt 2022-03-26 11:25:13 +00:00
  • abbabcf2d0 Skip deletion of TAP sub-ints belonging to LCP interfaces Pim van Pelt 2022-03-26 11:19:37 +00:00
  • 90a97a3d7b Add Create Phase Pim van Pelt 2022-03-26 11:14:30 +00:00
  • d5a7c59f4e Remove sub-ints before VXLANs. Report on interfaces thare are deleted before their addresses are. Pim van Pelt 2022-03-25 23:20:57 +00:00
  • 661c7fc16c Implement pruning in config as well Pim van Pelt 2022-03-25 23:04:28 +00:00
  • 1d7fd268e0 Add ability to delete sub-ints on BVI + Loopback Pim van Pelt 2022-03-25 18:43:46 +00:00