GVCP support
Per #1321
This PR supported the GVCP protocol, including the GVCP request and GVCP acknowledgment.
Also, the PR added the most common commands of GVCP: Discovery command, ForceIP command, Read register Command, and Write register command.
@seladb The PR is ready. Please take a look.
Codecov Report
Attention: Patch coverage is 93.68030% with 34 lines in your changes missing coverage. Please review.
Project coverage is 83.02%. Comparing base (
a600a70) to head (b144e60). Report is 12 commits behind head on dev.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| Packet++/src/GvcpLayer.cpp | 70.52% | 25 Missing and 3 partials :warning: |
| Packet++/header/GvcpLayer.h | 96.29% | 6 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## dev #1357 +/- ##
==========================================
+ Coverage 82.94% 83.02% +0.08%
==========================================
Files 273 276 +3
Lines 46353 46799 +446
Branches 9642 9568 -74
==========================================
+ Hits 38446 38856 +410
+ Misses 7280 7083 -197
- Partials 627 860 +233
| Flag | Coverage Δ | |
|---|---|---|
| fedora39 | 74.60% <91.05%> (+0.04%) |
:arrow_up: |
| macos-12 | 81.04% <95.64%> (+0.14%) |
:arrow_up: |
| macos-13 | 80.47% <95.65%> (+0.16%) |
:arrow_up: |
| macos-14 | 80.40% <95.65%> (+0.16%) |
:arrow_up: |
| mingw32 | 70.29% <72.13%> (-1.17%) |
:arrow_down: |
| mingw64 | 70.26% <72.13%> (-1.20%) |
:arrow_down: |
| npcap | 84.77% <86.69%> (-0.13%) |
:arrow_down: |
| rhel94 | 74.40% <90.00%> (+0.06%) |
:arrow_up: |
| ubuntu2004 | 57.71% <46.26%> (-0.20%) |
:arrow_down: |
| ubuntu2004-zstd | 57.83% <46.26%> (-0.22%) |
:arrow_down: |
| ubuntu2204 | 74.34% <90.00%> (+0.06%) |
:arrow_up: |
| ubuntu2204-icpx | 58.56% <72.95%> (+0.09%) |
:arrow_up: |
| ubuntu2404 | 74.61% <91.32%> (+0.08%) |
:arrow_up: |
| unittest | 83.02% <93.68%> (+0.08%) |
:arrow_up: |
| windows-2019 | 84.89% <86.69%> (-0.06%) |
:arrow_down: |
| windows-2022 | 84.89% <86.69%> (-0.06%) |
:arrow_down: |
| winpcap | 84.87% <86.69%> (-0.05%) |
:arrow_down: |
| xdp | 49.48% <90.00%> (+0.19%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Don't know why the fuzz tests failed?
@seladb Reading your sample code, basically I got your intention. So "Discovery" and "ForceIP" have their own layer, and for other commands, they will fall back to general GVCPRequestLayer and GvcpAcknowledgeLayer. I don't see a problem for now, and I will try to refactor the PR based on this and see if I encounter any issues.
@seladb Reading your sample code, basically I got your intention. So "Discovery" and "ForceIP" have their own layer, and for other commands, they will fall back to general
GVCPRequestLayerandGvcpAcknowledgeLayer. I don't see a problem for now, and I will try to refactor the PR based on this and see if I encounter any issues.
Yes, other messages should fall under GvcpRequestLayer or GvcpAckLayer. In that way we can create specific layers for more messages in the future