Граф коммитов

612 Коммитов

Автор SHA1 Сообщение Дата
Shankar Seal a40b87d61d
Fix issues in NMR module implementations. (#988)
* bug fix.

* fix NMR modules bug.

* PR Feedback.

* PR feedback 2.
2022-04-21 17:41:24 -07:00
Dave Thaler 69adefb137
More bpftool tests (#986)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-04-21 10:41:44 -07:00
Alan Jowett 29e0d8a1a4
Extend fuzzing to other map types (#982)
* Extend fuzzing to other map types

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Limit fuzzing process memory

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-04-20 19:59:51 -06:00
Shankar Seal ec26f5d273
WFP ALE Flow established callout, tests etc. (#978)
* WFP ALE Flow established callout, tests etc.

* PR Feedback.

* bug fixes.

* PR feedback 2.
2022-04-20 16:48:20 -07:00
Dave Thaler 10e3375d68
Update test scripts (#975)
* Update test scripts

* Make KM runner execute bpftool tests
* Make the run_tests.bat script also execute bpftool tests
* Make deploy-ebpf.ps1 -t copy all files needed for testing

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix merge error

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-04-20 15:59:17 -07:00
Dave Thaler 2f484db0c7
Fix push/pop APIs on queues (#985)
* Fix push/pop APIs on queues

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix SAL warning

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Remove deprecated code

Fixes #980

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-04-20 15:09:36 -07:00
Dave Thaler 70d5e42587
Add diagrams and discussion of native driver execution type (#974)
* Add diagrams and discussion of native driver execution type

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* PR feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-04-19 16:59:31 -07:00
Dave Thaler 5eddf01178
Add initial bpftool tests and another libbpf test (#960)
* Add initial bpftool tests and another libbpf test

And fix various bugs hit by the tests.
This PR only adds a couple of initial tests.
A future PR will add many more tests.

bpftool_tests.exe is meant to be run on a machine with the drivers
installed.  A future PR will add it to the KM test runner in CI/CD.

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix release build

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Send stderr to bpf2c_tests log

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update expected bpf2c output for map.o

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix bpf2c map output

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-04-19 16:24:01 -07:00
Alan Jowett d2da923668
Disable verification on for map.o to prevent CI/CD failures (#983)
* Switch from verbose success logging to just duration

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Enable verification on supported file and disable for map.o

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-04-19 16:32:50 -06:00
saxena-anurag 56d2bd377f
bugfix (#976) 2022-04-19 13:06:54 -07:00
Alan Jowett 17379737cf
Add all program types to get_program_type_info in offline mode (#972)
* Encode all program info types

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Expand hard coded program types and helper functions

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix tail_call_map verification failure

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix tail_call_map verification failure

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-04-18 17:41:01 -06:00
Alan Jowett 05c92adeba
Call ebpf_verifier prior to code gen (#961)
* Call ebpf_verifier prior to code gen

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Resovle failures after merge

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Revert rollback of catch2

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-18 12:52:55 -06:00
Dave Thaler b01dea6d55
Fix reply id/length on failure in KM (#950)
* Fix reply id/length on failure in KM

And make UM and KM more closely follow the same logic to catch this sort
of bug in the future.  Before this, UM would succeed and KM would fail,
and there were only UM tests for this case.

Fixes #946

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix device_helper.hpp

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix reply length

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Cleanup

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* PR feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-04-18 10:26:29 -06:00
Alan Jowett 272228dd4d
Cache verifier cmake (#964)
* Cache CMake generated project files

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Cache CMake generated project files

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Test

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Update reusable-build.yml

Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-18 10:05:11 -06:00
Alan Jowett b7b3388b23
Capture code coverage inside VM and upload (#944)
* Gather code coverage from within self-hosted runner

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-04-18 08:12:10 -07:00
dependabot[bot] 011e2b0b65
Bump external/ebpf-verifier from `2a09764` to `13bf346` (#967)
Bumps [external/ebpf-verifier](https://github.com/vbpf/ebpf-verifier) from `2a09764` to `13bf346`.
- [Release notes](https://github.com/vbpf/ebpf-verifier/releases)
- [Commits](2a09764739...13bf346f33)

---
updated-dependencies:
- dependency-name: external/ebpf-verifier
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-16 16:49:59 -06:00
dependabot[bot] c288a48644
Bump github/codeql-action from 2.1.6 to 2.1.8 (#968)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.6 to 2.1.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2.1.6...1ed1437484560351c5be56cf73a48a279d116b78)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-04-16 14:06:08 -07:00
dependabot[bot] b801ad49a4
Bump actions/cache (#969)
Bumps [actions/cache](https://github.com/actions/cache) from f63a711791a8e7cc2d5463afc081136e00085800 to 3.0.2. This release includes the previously tagged commit.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](f63a711791...48af2dc4a9)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-16 14:21:59 -06:00
dependabot[bot] db87697dbb
Bump external/Catch2 from `f25236f` to `7b93a20` (#966)
Bumps [external/Catch2](https://github.com/catchorg/Catch2) from `f25236f` to `7b93a20`.
- [Release notes](https://github.com/catchorg/Catch2/releases)
- [Commits](f25236ff43...7b93a2014c)

---
updated-dependencies:
- dependency-name: external/Catch2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-16 12:53:20 -07:00
saxena-anurag a956ce1749
Fix ZwUnloadDriver failure issue (#965)
* fix zwunloaddriver failure issue

* build break

* fix failing unit test
2022-04-16 11:39:03 -07:00
Alan Jowett 40f0f1fb65
Fix read past end of buffer in _ebpf_program_test_state::prepare_jit_program (#957)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-15 21:00:03 -06:00
Alan Jowett c1b546c024
Speed up driver phase by compressing artifacts (#958)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-15 19:12:51 -07:00
saxena-anurag 81a855e88f
Enable unit tests for native driver (#953)
* add native tests, bugfixes

* cr comments, fix test failures, fix bad merge

* fix analysis build break

* test failure
2022-04-15 18:26:41 -07:00
Alan Jowett 747b621e56
Document fuzz testing procedures (#949)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-15 17:54:55 -06:00
saxena-anurag 0df35e21ba
Add script to generate bpf2c expected files (#959)
* add script

* remove comment from script

* remove dead code

* change encoding

* change files to UTF8

* change utf8 to ascii

* recompile with LLVM13

* add comment about script usage, regenerate expected files

* fix test failures

* cr comments
2022-04-15 14:44:59 -07:00
Alan Jowett 8447884a91
Update README.md (#954) 2022-04-15 14:13:24 -06:00
Dave Thaler 8a3ff444a3
Remove checkboxes from issue template (#963)
The problem is that every bug report showed up as having "tasks" to be
done as can be seen at
https://github.com/microsoft/ebpf-for-windows/issues where a number of
bugs show "6 tasks". The checkboxes involved are not tasks, and indeed
they weren't providing us any value at present, so removed them.

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-04-15 12:57:12 -06:00
Shankar Seal a1a2c6ad92
Sockops 1 (#952)
* remove dependabot from the fork.

* Revert "remove dependabot from the fork."

This reverts commit c542c6cd44.

* add sock_ops program and attach types.

* PR Feedback.
2022-04-14 15:09:54 -07:00
Dave Thaler 1c2cae9e75
Update bpftool (#945)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-04-14 08:31:26 -06:00
Alan Jowett 42312e8d76
Add short haul stress test (#948)
* Add short haul stress test

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Don't log success assertions in stress test

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-13 18:29:05 -06:00
Alan Jowett a135c327a5
Rename .github/.codecov.yml -> .github/codecov.yml (#947)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-04-13 13:13:50 -06:00
Dave Thaler 4cd7d96b99
Fix doxygen output (#940)
Several fields were missing descriptions in the generated docs.
This PR fixes the docs to actually show the relevant descriptions.

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-04-13 12:29:41 -06:00
Alan Jowett 51aaa6c25a
Put back permission security-events: write to permit codeql to run (#943)
* Put back permission security-events: write to permit codeql to run

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* CodeQL build takes > 30 minutes
2022-04-13 11:50:13 -06:00
Alan Jowett 5359c08cf1
Switch bpf2c to use the BTF parser in ebpf-verifier (#941)
* Switch to ebpf-verifier's BTF parser

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Unify BTF parsers

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Unify BTF parsers

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Add tests for bpf2c code gen

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Revert changes to ebpf-for-windows.sln

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Canonicalize paths in output

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Generate ELF with llvm 13.0.0 and PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix copyright header

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix release build of bpf2c_tests

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Update expected output

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-04-13 11:17:48 -06:00
Alan Jowett 2021126242
Update codeql-analysis.yml (#937)
* Update codeql-analysis.yml

* Merge codeql and cicd

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Merge codeql and cicd

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Update cicd.yml
2022-04-12 13:08:11 -06:00
Shankar Seal 745bac282e
Sock addr hook callout test (#922)
* remove dependabot from the fork.

* Revert "remove dependabot from the fork."

This reverts commit c542c6cd44.

* Program info and hook NPI providers for sock_addr.

* PR Feedback.

* PR Feedback 2.

* sock_addr hook tests.

* PR feedback.

* PR Feedback 2.

* fix.
2022-04-12 11:37:44 -07:00
Alan Jowett 11c7721f08
Integrate changes from upstream ubpf (#936)
* Integrate changes from upstream ubpf

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Suppress code analysis warning

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-11 22:08:29 -06:00
Dave Thaler 1108b0e761
Fix format-code.ps1 when only one file changed (#935)
Based on TechNet discussion at
https://social.technet.microsoft.com/Forums/Lync/en-US/ed6bbd2a-63a9-47d2-b63e-2fc4a2524625/systemcollectionsarraylist-problems-when-populated-with-one-row

Fixes #810

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-04-11 20:41:38 -07:00
Alan Jowett 433d82564c
Retry codecov upload with delay on failure (#933)
* Retry codecov upload with delay on failure

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix powershell script bug

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-04-11 20:16:53 -07:00
Dave Thaler 39903d0870
Documentation for all prog types and attach types (#911)
Fixes #860

This PR will conflict with PR #891 which should be merged before this
one and conflicts resolved.

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-04-11 20:51:02 -06:00
dependabot[bot] 9f968b125e
Bump github/codeql-action from 2.1.6 to 2.1.8 (#924)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.6 to 2.1.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](28eead2408...1ed1437484)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-04-11 20:23:15 -06:00
Dave Thaler 64d1164e01
Cancel workflows if PR is updated with a new commit (#931)
* Cancel workflows if PR is updated with a new commit

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix typos

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-04-11 19:56:42 -06:00
dependabot[bot] 35bd9c6546
Bump external/Catch2 from `4b78157` to `f25236f` (#934)
Bumps [external/Catch2](https://github.com/catchorg/Catch2) from `4b78157` to `f25236f`.
- [Release notes](https://github.com/catchorg/Catch2/releases)
- [Commits](4b78157981...f25236ff43)

---
updated-dependencies:
- dependency-name: external/Catch2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-11 17:26:37 -06:00
Daniel M. Havey d281e61748
Update Readme.md (#833)
* Update README.md

* Add files via upload

* Update README.md

* Add files via upload

Added svg file to docs.

* Update README.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* Update README.md

Changed FAQ section 3 to reflect that the interpreter is disabled in release mode.

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-11 13:57:28 -07:00
Dave Thaler 2f5ac3fbe9
Add some header file names included by typical eBPF programs (#916)
* Add some header file names included by typical eBPF programs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* PR feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Remove unneeded include

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add _MSC_VER checks around pragma warnings in ebpf program headers

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Use full path to avoid requiring an include path

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-04-11 13:26:49 -07:00
Alan Jowett 11971e854e
Run code coverage baseline daily (#932)
* Only run code coverage related tests on each push

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Update cicd.yml

Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-04-11 13:00:29 -07:00
dependabot[bot] 63ed1836c1
Bump codecov/codecov-action from 2.1.0 to 3 (#925)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.1.0 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](f32b3a3741...e3c560433a)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-11 11:36:24 -07:00
Alan Jowett 6e59d8ed18
Bump codecoverage failure threshold to 0.5% (#928)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-11 10:42:23 -07:00
Alan Jowett cfd451c64e
Refactor CI/CD to decrease iteration time (#919)
* Refactor CI/CD to decrease iteration time

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix driver test

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix driver test

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix up driver tests

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-11 10:05:20 -07:00
dependabot[bot] 9218004626
Bump external/Catch2 from `797c3e7` to `4b78157` (#915)
Bumps [external/Catch2](https://github.com/catchorg/Catch2) from `797c3e7` to `4b78157`.
- [Release notes](https://github.com/catchorg/Catch2/releases)
- [Commits](797c3e7318...4b78157981)

---
updated-dependencies:
- dependency-name: external/Catch2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-04-08 15:52:25 -07:00