Commit Graph

159 Commits

Author SHA1 Message Date
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