Skip to content

Implement NetworkInterfacesEnumerate API#278

Merged
abeltrano merged 14 commits into
developfrom
netifenumapiimpl
May 25, 2024
Merged

Implement NetworkInterfacesEnumerate API#278
abeltrano merged 14 commits into
developfrom
netifenumapiimpl

Conversation

@abeltrano
Copy link
Copy Markdown
Contributor

@abeltrano abeltrano commented May 25, 2024

Type

  • Bug fix
  • Feature addition
  • Feature update
  • Documentation
  • Build Infrastructure

Side Effects

  • Breaking change
  • Non-functional change

Goals

  • Ensure network interfaces can be enumerated and used for roaming test scenarios.

Technical Details

  • Add Microsoft::Net::* API and neutral types for general network concepts including network addresses, interfaces, and their associated properties (type, family, prefix length, etc.).
  • Add library to adapt Microsoft::Net::* API network types to neutral types.
  • Extend INetworkOperations with EnumerateNetworkInterfaces and GetNetworkInterfaceAddresses and implement them on Linux.
  • Add vectors to NetworkOperationsTest.

Test Results

  • All unit tests pass.

Reviewer Focus

  • Consider whether these APIs are sufficient for performing Wi-Fi roaming tests for personal AKMs.

Future Work

  • Expose NetworkEnumerateInterfaces API to netremote-cli.
  • Remove INetworkOperations::GetLocalIpAddressInformation and replace with INetworkOperations::EnumerateNetworkInterfaces and INetworkOperations::GetNetworkInterfaceAddresses.
  • Remove IpAddressInformation (replaced by NetworkIpAddress).

Checklist

  • Build target all compiles cleanly.
  • clang-format and clang-tidy deltas produced no new output.
  • Newly added functions include doxygen-style comment block.

@abeltrano abeltrano requested a review from a team as a code owner May 25, 2024 03:21
@abeltrano abeltrano merged commit 52aeb88 into develop May 25, 2024
@abeltrano abeltrano deleted the netifenumapiimpl branch May 25, 2024 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant