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

593 Коммитов

Автор SHA1 Сообщение Дата
Dave Thaler 09637441c5 Add setup_build project to install git hook
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-03-05 21:46:30 -08:00
Dave Thaler 2557f029b9 Check code formatting and licenses when committing
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-03-05 21:15:17 -08:00
Alan Jowett 82700d8608 Fix wrong submodule commit id 2021-03-05 22:05:37 -07:00
Alan Jowett 125c183bee Merged PR 4205675: Add option to execute eBPF program via JIT or interpreter
Add option to execute eBPF program via JIT or interpreter
2021-03-05 22:47:18 +00:00
Alan Jowett 741d04401d Merged PR 4205230: Move all parsing and verification to ebpfapi from netsh helper
Move all parsing and verification to ebpfapi from netsh helper
2021-03-05 18:49:25 +00:00
Alan Jowett d9f75432fb Merged PR 4202906: Refactor execution context and ubpf to allow running in either kernel or user...
Refactor execution context and ubpf to allow running in either kernel or user mode.
Remove dead code from demo branch.
Create e2e test for droppack.
2021-03-05 17:05:09 +00:00
Dave Thaler 5766cfb6f8 Merged PR 4189708: Use the Prevail master branch
Moves Windows platform files into the internal repo.

Also adds ebpf_windows.h file to centralize defines that were previously duplicated in at least three places in this repo, and one ,more previously in the windows branch of prevail, now all unified.
2021-03-03 16:51:26 +00:00
Dave Thaler 6b9fb4b103 Use the Prevail master branch
Moves Windows platform files into the internal repo.

Also adds ebpf_windows.h file to centralize defines that were previously
duplicated in at least three places.

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-03-02 20:54:15 -08:00
Dave Thaler b87da5d4ab Merged PR 4175621: Update netsh program commands
Update to use improved error messages like the other netsh commands.

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-03-03 04:39:52 +00:00
Dave Thaler 344505bbb1 Update netsh program commands
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-03-02 20:30:40 -08:00
Alan Jowett 9a475b6170 Merged PR 4181632: Move hook code out of ebpfcore.c
Move hook code out of ebpf_core.c

Experiment with making ebpf_l2_hook.c act more like an extension.
2021-03-02 16:28:41 +00:00
Alan Jowett 8892a60a7f Merged PR 4175508: Add API to query and enumerate maps
Add API to query and enumerate maps
2021-03-01 16:10:45 +00:00
Dave Thaler 5acceba2af Merged PR 4174748: Use latest verifier fixes and error messages
Also default to using the first section instead of .text as being easier to use
2021-02-27 00:38:02 +00:00
Dave Thaler e70a6a0197 Update to use latest verifier fixes and error messages
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-02-26 15:36:50 -08:00
Alan Jowett b69c3ad5c9 Merged PR 4169277: Add support for hook on bind/unbind
Add support for hook on bind/unbind
2021-02-26 17:38:11 +00:00
Alan Jowett 6092391a16 Merged PR 4154879: Add support for hash maps in for bind demo
Add support for hash maps in for bind demo
2021-02-24 20:27:14 +00:00
Alan Jowett eefdd638c6 Fix bug in xdp context 2021-02-24 13:04:24 -07:00
Dave Thaler da8ce260c1 Update verifier to have better error messages
This pulls in the latest from the windows prevail branch

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-02-23 17:35:04 -08:00
Alan Jowett 0f753dea28 Merged PR 4147072: First version of changes to comply with new ebpf contract
First version of changes to comply with new ebpf contract

Note:
We can't use crt handle -> fd mapping until ebpfcore returns *real* handles.
2021-02-23 17:34:19 +00:00
Alan Jowett 20914bf459 Merged PR 4124049: Work around prevail encoding size into fd
Work around prevail encoding size into fd
2021-02-18 21:04:02 +00:00
Alan Jowett e51d34d287 Fix build break 'identifier' -> 'id' 2021-02-18 13:55:42 -07:00
Alan Jowett 3a73e0f548 Merged PR 4114187: Update code to match coding conventions
Update code to match coding conventions
2021-02-16 17:06:14 +00:00
Alan Jowett 93d9783890 Merged PR 4112977: First draft of kernel support for maps
First draft of kernel support for maps

1) Refactored all EbpfCore related code into ebpf_core.*
2) Add tests for all EbpfCore functionality
3) Added support for array maps.
2021-02-13 19:20:49 +00:00
Alan Jowett 78438fe793 Merged PR 4108249: Add support for maps to EbpfApi
Add support for maps to EbpfApi
2021-02-13 02:14:55 +00:00
Dave Thaler c3879228d1 Merged PR 4112450: Add prereqs to readme file
Rename README_build to README
Add prereqs to readme file (the rest of the file is unchanged, other than the rename)

Add standard LICENSE file

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-02-13 01:15:01 +00:00
Dave Thaler 6f2b089163 Add prereqs to readme file
Rename README_build to README
Add standard LICENSE file

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-02-12 16:18:45 -08:00
Alan Jowett 97ca1a3ac4 Add public nuget source 2021-02-12 10:22:56 -07:00
Alan Jowett 24c4ebe304 Fix build break 2021-02-11 13:00:49 -07:00
Alan Jowett c70e795100 Merged PR 4105349: Make release build work
Make release build work
2021-02-11 19:49:09 +00:00
Alan Jowett 99495d990a Merged PR 4102701: Update script & switch to /Mtdd
Update script & switch to /Mtdd
2021-02-11 16:15:57 +00:00
Alan Jowett 1a3ff0129b Merged PR 4101781: Connect detach from ioctl -> code
Connect detach from ioctl -> code
2021-02-11 02:33:41 +00:00
Alan Jowett 267668f5f6 Merged PR 4099366: Setup solution to build all files for demo
Setup solution to build all files for demo
2021-02-10 21:06:04 +00:00
Poorna Gaddehosur 319d42b031 Merged PR 4097207: integrate driver with verifier and jitter 2021-02-10 03:52:05 +00:00
Poorna Gaddehosur f3ff7d06c3 Merged PR 4090115: modifies driver to receive opcode based commands from usermode for load/unload/attach/detach
- adds support to receive opcode based commands from usermode for load/unload/attach/detach
- parses layerdata from wfp classify
- passes in xdp_md like context to usermode code from the classify context
- modified test tool to test these changes
- adds a droppacket.c code with instructions to illustrate xdp and ctx based evaluation for dosp.

Related work items: #9115665
2021-02-09 01:16:52 +00:00
Alan Jowett 049b1c3e3f Merged PR 4085330: Fix up netsh to compile against updated prevail interface
Fix up netsh to compile against updated prevail interface
2021-02-09 00:14:22 +00:00
Alan Jowett 100f4445c3 Merged PR 4083483: Add tests for EbpfApi
Add tests for EbpfApi
2021-02-07 21:07:50 +00:00
Alan Jowett ec1eba0da5 Merged PR 4081118: Add first draft of code invoke ioctl interface
Add first draft of code invoke ioctl interface
2021-02-06 19:39:57 +00:00
Alan Jowett c3dd0ae742 Merged PR 4079802: Add src/ebpf/libs/EbpfJitterDemoLib/
Add src/ebpf/libs/EbpfJitterDemoLib/
2021-02-05 18:56:12 +00:00
Alan Jowett a661a771f8 Merged PR 4035461: Call enclave from test code
Call enclave from test code
2021-01-27 18:40:55 +00:00
Alan Jowett d645841cd2 Merged PR 4014762: Initial code to setup secure channel to kernel
Initial code to setup secure channel to kernel
2021-01-27 00:13:02 +00:00
Dave Thaler 94dfa29ada Merged PR 4009551: Add verifier-in-an-enclave demo
This POC proves the Prevail verifier can run in an enclave.

Note that this POC also does the ELF parser in an enclave too,
just to prove that the entire Prevail code can run in an enclave,
even though we don't want to do ELF parsing in an enclave.

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

Related work items: #9115665
2021-01-22 01:23:53 +00:00
Dave Thaler 73df4c2bb1 Add verifier-in-an-enclave demo
This POC proves the Prevail verifier can run in an enclave.

Note that this POC also does the ELF parser in an enclave too,
just to prove that the entire Prevail code can run in an enclave,
even though we don't want to do ELF parsing in an enclave.

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-01-21 17:06:26 -08:00
Dave Thaler 23f3078c09 Merged PR 3996339: Add parser stubs for program commands
Still don't have an API to call, but add in parser logic for command arguments.
(And fix ordering of tags where needed, since required tags have to come before optional ones.)

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

Related work items: #9115665
2021-01-22 00:24:22 +00:00
Alan Jowett 0436e72a53 Merged PR 4008117: Add all members of team as owners of the repo
Add all members of team as owners of the repo
2021-01-21 20:18:06 +00:00
Alan Jowett df26662865 Merged PR 4002430: Add skeleton enclave + host code
Add skeleton enclave + host code
2021-01-21 20:13:48 +00:00
Poorna Gaddehosur d2368782ea Merged PR 3998390: Elfhelper tool
Code is organized such that it points to the elf headers from the ebpf-verifier submodule. It uses non gpl contructs to grab a vector of ebpf instructions given a file path for an elf file.

Related work items: #9115665
2021-01-20 01:34:06 +00:00
Poorna Gaddehosur c98a14de04 Merged PR 3998709: pass in code from um via ioctl and execute in kernel
pass in code from um via ioctl and execute in kernel.
Basic version to demonstrate that we can push code from um into kernel and get it to run there, all using public APIs.

Related work items: #9115665
2021-01-20 01:33:41 +00:00
Dave Thaler 51f450a58e Add parser stubs for program commands
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-01-19 10:33:27 -08:00
Dave Thaler 13c3d849c4 Merged PR 3989936: Initial netsh helper
Related work items: #9115665
2021-01-17 01:10:46 +00:00
Poorna Gaddehosur 94dee69ae0 Merged PR 3989969: rename driver solution to be in ebpf\core
rename driver solution to be in ebpf\core

Related work items: #9115665
2021-01-17 00:24:16 +00:00