AltraMayor / AltraMayor/gatekeeper

struct flow_entry should have a single state: GK_BPF

オープン
#602 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
C
スター
1.6k
フォーク
252
PR マージ指標
30日以内にマージされた PR はありません

説明

The states of a flow entry are `enum { GK_REQUEST, GK_GRANTED, GK_DECLINED, GK_BPF }`.

The states `GK_GRANTED` and `GK_DECLINED` have long been implemented as BPF programs, so their removal should not affect anyone. The downside of no longer having a way to compare the performance between built-in programs (i.e., the states `GK_GRANTED` and `GK_DECLINED`) and BPF programs is okay since that dropping the code associated with these deprecated states translates into a cleanup of the code of GK blocks.

Moving the state `GK_REQUEST` into a BPF program requires an extension of the running environment of the BPF programs. For example, the request BPF will need a way to update the expiration of flow entries and a mechanism to send packets to SOL blocks. A positive side effect of having a request BPF is to lower the effort to explore new strategies to prioritize undecided flows.

This streamline of `struct flow_entry` would be a preparation to integrate with [future SmartNICs that support running BPF programs](https://github.com/AltraMayor/gatekeeper/issues/599#issuecomment-1238302884).

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。