Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup batch APIs and remove unused parameter #3580

Merged
merged 3 commits into from
May 29, 2024

Conversation

Alan-Jowett
Copy link
Member

Description

This pull request primarily focuses on simplifying the function signatures for batch invocation in the eBPF program. The changes remove the extension_client_binding_context parameter from various functions across multiple files, making the functions easier to use since they now require fewer arguments.

Here are the key changes:

Removal of extension_client_binding_context parameter:

  • docs/eBpfExtensions.md: The extension_client_binding_context parameter was removed from the ebpf_program_batch_begin_invoke_function_t, ebpf_program_batch_end_invoke_function_t functions. [1] [2] [3]
  • include/ebpf_extension.h: The extension_client_binding_context parameter was removed from the ebpf_program_batch_begin_invoke_function_t, ebpf_program_batch_end_invoke_function_t functions. [1] [2] [3]
  • libs/execution_context/ebpf_link.c: The extension_client_binding_context parameter was removed from the _ebpf_link_instance_invoke_batch_begin, _ebpf_link_instance_invoke_batch_end functions and their usages. [1] [2] [3] [4]
  • tests/end_to_end/helpers.h: The extension_client_binding_context parameter was removed from the batch_begin_function, batch_invoke_function, batch_end_function functions. [1] [2]
  • undocked/tests/sample/ext/drv/sample_ext.c: The extension_client_binding_context parameter was removed from the sample_ebpf_extension_invoke_batch_begin_program, sample_ebpf_extension_invoke_batch_end_program functions. [1] [2]

Testing

CI/CD

Documentation

Yes.

Installation

No.

@Alan-Jowett Alan-Jowett added this pull request to the merge queue May 29, 2024
Merged via the queue into microsoft:main with commit a5ebdba May 29, 2024
84 of 86 checks passed
@Alan-Jowett Alan-Jowett deleted the cleanup_batch_calls branch May 29, 2024 15:51
shankarseal pushed a commit to shankarseal/ebpf-for-windows that referenced this pull request Jun 3, 2024
Signed-off-by: Alan Jowett <[email protected]>
Co-authored-by: Alan Jowett <[email protected]>
Co-authored-by: Sharmi <[email protected]>
shankarseal added a commit that referenced this pull request Jun 5, 2024
* Phase 1 of removing the rundown protection for invoke (#3534)

* Phase 1 of removing the rundown protection for invoke

Signed-off-by: Alan Jowett <[email protected]>

* Fix SAL annotation error

Signed-off-by: Alan Jowett <[email protected]>

* PR feedback

Signed-off-by: Alan Jowett <[email protected]>

* PR feedback

Signed-off-by: Alan Jowett <[email protected]>

* Phase 1 of removing the rundown protection for invoke

Signed-off-by: Alan Jowett <[email protected]>

* Fix SAL annotation error

Signed-off-by: Alan Jowett <[email protected]>

* PR feedback

Signed-off-by: Alan Jowett <[email protected]>

* PR feedback

Signed-off-by: Alan Jowett <[email protected]>

* Ensure that _ebpf_program_free always run outside of an epoch to prevent deadlocks

Signed-off-by: Alan Jowett <[email protected]>

* Revert unrelated change

Signed-off-by: Alan Jowett <[email protected]>

* PR feedback and leak fix

Signed-off-by: Alan Jowett <[email protected]>

---------

Signed-off-by: Alan Jowett <[email protected]>
Co-authored-by: Alan Jowett <[email protected]>

* Cache choco packages to work around connectivity issues (#3536)

* Cache choco packages to work around connectivity issues

Signed-off-by: Alan Jowett <[email protected]>

* Download file as cache key if needed

Signed-off-by: Alan Jowett <[email protected]>

* Skip choco if gather_dumps is false

Signed-off-by: Alan Jowett <[email protected]>

* Skip choco if gather_dumps is false

Signed-off-by: Alan Jowett <[email protected]>

* Apply suggestions from code review

Co-authored-by: Dave Thaler <[email protected]>

---------

Signed-off-by: Alan Jowett <[email protected]>
Co-authored-by: Alan Jowett <[email protected]>
Co-authored-by: Dave Thaler <[email protected]>

* Add option to control the level of verbosity emitted by verifier. (#3570)

* Add option to control the level of verbosity emitted by verifier.

Signed-off-by: Alan Jowett <[email protected]>

* Re-order enums to make normal < informational < verbose

Signed-off-by: Alan Jowett <[email protected]>

* Apply suggestions from code review

Co-authored-by: Dave Thaler <[email protected]>

* PR feedback

Signed-off-by: Alan Jowett <[email protected]>

* Workaround for verifier failure #643

Signed-off-by: Alan Jowett <[email protected]>

* Revert change in ebpf-service verification path

Signed-off-by: Alan Jowett <[email protected]>

---------

Signed-off-by: Alan Jowett <[email protected]>
Co-authored-by: Alan Jowett <[email protected]>
Co-authored-by: Dave Thaler <[email protected]>

* Add `total_size` to extension header. (#3573)

* change ebpf_extension_header_t to ebpf_version_header_t

* revert to ebpf_version_header_t

* revert to ebpf_version_header_t

* update header

* update doc

* update doc

* use total_size to get the actual struct size

* Apply suggestions from code review

Co-authored-by: Dave Thaler <[email protected]>

---------

Co-authored-by: Dave Thaler <[email protected]>

* disable tailcall test for now (#3558)

Co-authored-by: Dhiren Vispute <[email protected]>

* Cleanup batch APIs and remove unused parameter (#3580)

Signed-off-by: Alan Jowett <[email protected]>
Co-authored-by: Alan Jowett <[email protected]>
Co-authored-by: Sharmi <[email protected]>

* Add support for multiple programs per section (#3557)

* Allow multiple programs per section

Temporarily use a fork of ebpf-verifier until
vbpf/ebpf-verifier#642 is merged.

Per https://stackoverflow.com/questions/13147170/attribute-always-inline-failing
the __attribute__((always_inline)) doesn't do anything unless you also
have the "inline" keyword.

Signed-off-by: Dave Thaler <[email protected]>

* Update verifier to latest

Signed-off-by: Dave Thaler <[email protected]>

* Address comment from Alan

Signed-off-by: Dave Thaler <[email protected]>

* Address API compat comment from Anurag

Signed-off-by: Dave Thaler <[email protected]>

---------

Signed-off-by: Dave Thaler <[email protected]>

* Add workaround for NmrRegisterClient calling detach (#3594)

Signed-off-by: Alan Jowett <[email protected]>
Co-authored-by: Alan Jowett <[email protected]>

* move enum to header (#3593)

---------

Signed-off-by: Alan Jowett <[email protected]>
Signed-off-by: Dave Thaler <[email protected]>
Co-authored-by: Alan Jowett <[email protected]>
Co-authored-by: Alan Jowett <[email protected]>
Co-authored-by: Dave Thaler <[email protected]>
Co-authored-by: Anurag Saxena <[email protected]>
Co-authored-by: Dhiren Vispute <[email protected]>
Co-authored-by: Dhiren Vispute <[email protected]>
Co-authored-by: Sharmi <[email protected]>
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.

4 participants