ebpf-for-windows/netebpfext
Dave Thaler 0543c810a7
Refactor netebpfext in preparation for fuzz testing (#1464)
* Refactor netebpfext (#1351)

* refactor netebpfext to allow unit and fuzzing

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

* Normalize parameter casing

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

* Normalize types

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

* Fix release build

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

* Fix CMake build

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

* Fix NetEbpfExt_headers CMake target

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

* Rename unit to user

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

* Switch netebpfext_unit -> netebpfext_user

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

* Flesh out kernel thunk

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

* More canonical naming and W4 clean

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

* Fix prefast issue

* Fix CMake

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

* Fix code analysis

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

* PR feedback

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

* PR feedback

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

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>

* Clean up fw_thunk.h (#1369)

* Clean up fw_thunk.h

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

* Fix SAL annotations

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

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

* Netebpf ext unit test (#1365)

* Add netebfpext start/stop unit tests

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

* Update NMR thunk and expand netebpf_ext helper

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

* PR feedback

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

* Fix code-analysis issues

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

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>

* Remove duplicate NMR includes (#1370)

* Remove duplicate NMR includes

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

* PR feedback

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

* PR feedback and more header cleanup

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

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>

* Refactor NMR user mode to be thread safe (#1371)

* Refactor NMR user mode to be thread safe

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

* PR feedback

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

* PR feedback

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

* PR feedback

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

* PR feedback

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

* PR feedback

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

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>

* Add a unit test that tests classify_packet in user mode (#1379)

* Add packet test scaffolding

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

* Add test

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

* More of test

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

* Add dummy packet to test

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

* Add dummy program

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

* Cleanup

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

* Fix mock NMR bug

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

* Temporarily add printfs

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

* Incorporate fix for 1378

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

* Fix test bug

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

* Add a packet-drop case to the test

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

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

* Try fixing include path

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

* Fix double free of workitem

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

* Revert unrelated changes in ebpfcore and ebpfapi

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

* PR feedback

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

* PR feedback

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

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
2022-10-18 13:21:54 -06:00
..
sys Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
user Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
CMakeLists.txt Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
guid.c Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
net_ebpf_ext.c Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
net_ebpf_ext.h Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
net_ebpf_ext_bind.c Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
net_ebpf_ext_bind.h Support attaching XDP program per NIC. (#803) 2022-03-14 15:16:11 -07:00
net_ebpf_ext_hook_provider.c Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
net_ebpf_ext_hook_provider.h Use EX_RUNDOWN_REF for netebpfext rundown. (#1251) 2022-06-28 17:52:54 -07:00
net_ebpf_ext_prog_info_provider.c Add tracelog to netebpfext. (#1247) 2022-06-30 15:08:02 -07:00
net_ebpf_ext_prog_info_provider.h Change extensions npiid (#841) 2022-03-28 11:26:19 -07:00
net_ebpf_ext_program_info.h Registry changes for program and section data. (#1192) 2022-06-30 16:53:03 -07:00
net_ebpf_ext_sock_addr.c Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
net_ebpf_ext_sock_addr.h `bpf_prog_attach` API and other changes. (#891) 2022-04-07 18:18:53 -07:00
net_ebpf_ext_sock_ops.c Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
net_ebpf_ext_sock_ops.h WFP ALE Flow established callout, tests etc. (#978) 2022-04-20 16:48:20 -07:00
net_ebpf_ext_tracelog.c Add tracelog to netebpfext. (#1247) 2022-06-30 15:08:02 -07:00
net_ebpf_ext_tracelog.h Add tracelog to netebpfext. (#1247) 2022-06-30 15:08:02 -07:00
net_ebpf_ext_xdp.c Refactor netebpfext in preparation for fuzz testing (#1464) 2022-10-18 13:21:54 -06:00
net_ebpf_ext_xdp.h Sock addr hook callout test (#922) 2022-04-12 11:37:44 -07:00