Christian Deacon
1dad5509a4
Use unlikely with checking layer-4 headers.
2024-06-13 19:29:50 -04:00
Christian Deacon
e213b5c231
Rework PPS/BPS logic to improve performance.
2024-06-13 19:27:56 -04:00
Christian Deacon
1f66f7ab4e
Add NANO_TO_SEC constant.
2024-06-13 19:23:54 -04:00
Christian Deacon
69f7456423
Align filters structure by 8 bytes to per-CPU map.
2023-12-12 23:38:57 +00:00
Christian Deacon
b3530e3e68
Use per CPU array map for filter rules to increase performance.
2023-11-12 21:35:22 +00:00
Christian Deacon
c12496abb6
Lower MAX_FILTERS to 80 to fix error related to BPF program too large.
2023-10-11 22:05:30 +00:00
Christian Deacon
d5fe99c69a
XDP tools already defines bpf_printk() now.
2023-06-19 19:12:38 +00:00
Christian Deacon
c27398ecec
Indent code properly for neatness.
2023-06-19 19:11:42 +00:00
Christian Deacon
d088b4b157
Implement support for LibXDP and improve code.
2023-06-06 21:20:19 +00:00
Christian Deacon
8fbab9bf82
Decrease max filters to 90 due to stricter kernel limitations.
2023-05-15 18:27:56 +00:00
Phil
7b577e9548
Optimizing main loop ( #35 )
...
* Mem leak fix
Memleak fix for strdup()
* Typo fix
forgot ;
* Optimizing Main Loop
Filtersmap will only be updated if there is a newer version of our config.
* Include sys/stat.h
* Added myself in the credits
Thanks for the trust
2023-01-21 17:18:11 -05:00
Phil
48b52ae645
strdup() mem leak fix ( #33 )
...
* Mem leak fix
Memleak fix for strdup()
* Typo fix
forgot ;
2023-01-18 11:44:29 -06:00
gamemann
93a9fc96ff
Define and use memcpy() in XDP program itself for optimization.
2022-09-08 04:03:08 +00:00
gamemann
96d8a7079f
Use memcpy() to simplify and optimize code.
2022-09-07 09:24:09 +00:00
gamemann
8a77f1d4ec
Add IPv6 addresses to list menu.
2022-08-27 16:17:29 +00:00
gamemann
1c41ac296b
Add TCP ECE and CWR flags support.
2022-08-27 15:56:29 +00:00
gamemann
4c3f6950f9
Make help menu cleaner.
2022-08-27 15:37:29 +00:00
gamemann
3810a3695e
Count PPS/BPS values themselves when matching.
2022-08-27 15:27:07 +00:00
gamemann
2a41af6be2
Fix max length/TTLs.
2022-08-27 15:26:22 +00:00
gamemann
6092ca3337
Add correct line breaks into help menu.
2021-12-15 20:51:50 +00:00
gamemann
5012fc9ff8
Add time flag for how long to run the program for.
2021-12-15 20:51:23 +00:00
gamemann
21b15badf6
Allocate stats with MAX_CPUS and check for NULL index to attempt to fix seg fault on issue #10 .
2021-12-06 16:54:20 +00:00
gamemann
3ebb0a763b
We don't need to pass using reference.
2021-12-06 16:38:47 +00:00
gamemann
ef996a6596
Check BPF stats map lookup result.
2021-12-06 16:37:39 +00:00
gamemann
0dac160065
Remove stdint.h include since it's not needed inside of BPF program.
2021-11-16 00:35:57 +00:00
gamemann
7964f8986a
Move defines to header file for XDP program.
2021-11-16 00:33:30 +00:00
gamemann
e56a8e64ec
Remove linux/types.h include from BPF program.
2021-11-16 00:32:25 +00:00
gamemann
7c061a2570
Include Linux types in XDP program.
2021-11-13 01:14:17 +00:00
gamemann
ed89cfed28
Only set ifindex in attributes if hardware offload is set.
2021-11-12 21:23:44 +00:00
gamemann
d9d6167b4b
Add one more check.
2021-11-12 21:14:20 +00:00
gamemann
fe09dece3a
Check IP header validity everywhere else.
2021-11-12 21:12:50 +00:00
gamemann
437a3eb45b
Check IP header validity instead of ethernet protocol.
2021-11-12 21:09:53 +00:00
gamemann
c81987ceeb
Initialize headers as NULL.
2021-11-12 21:07:30 +00:00
gamemann
83e801f36c
Check for IPv6 header validity itself and remove unneeded check.
2021-11-12 21:07:12 +00:00
gamemann
6f7911059f
Rename ethernet header variable to eth.
2021-11-12 20:42:34 +00:00
gamemann
56831eed67
Set interface index in BPF attributes.
2021-11-12 19:55:25 +00:00
gamemann
ccd4f921bf
Add comments.
2021-11-12 19:54:55 +00:00
gamemann
a6db73d335
Rework BPF object loading logic.
2021-11-12 19:54:04 +00:00
gamemann
54b0e9cb9b
Simplify filters increment code in config.
2021-11-12 18:21:04 +00:00
gamemann
0268ab26ee
Organize debug code.
2021-11-12 18:19:07 +00:00
gamemann
8527ed163c
We no longer need to free config structure.
2021-11-12 18:05:47 +00:00
gamemann
bee4377a80
Use bpf_prog_load_xattr() function for loading BPF object file instead.
2021-11-12 17:55:49 +00:00
gamemann
8089cfff0e
Rename variables.
2021-11-12 17:46:12 +00:00
gamemann
99daa2d6f5
Change filename variable to const.
2021-11-12 17:40:13 +00:00
gamemann
c2cd1bdfdc
Rename uint128_t to __u128 for organization.
2021-11-12 17:36:14 +00:00
gamemann
46cff37907
Remove common BPF defines since we define them in header file now.
2021-11-12 17:34:56 +00:00
gamemann
37ebcb1252
Move common BPF includes to top of header file.
2021-11-12 17:34:36 +00:00
gamemann
177c48adcc
Move common BPF includes to header file.
2021-11-12 17:34:13 +00:00
gamemann
f0a1d6e98d
Reorder cmdline structure for organization.
2021-11-12 17:31:50 +00:00
gamemann
bcfaccb71e
Add comments to functions.
2021-11-12 17:30:35 +00:00