在傳統協議處理方式中,各層的協議型別和組合方式固定,使得新增或修改協議很困難(因為需要修改網路裝置的解析模式)
基於解析和執行聯動結構的可程式設計資料平面(clipe)的目標是使網路裝置在報文的解析,查表和動作執行上支援使用者自定義
解析器:解析資料報包頭資訊並將包頭組合交給匹配模組,包頭域偏移資訊ram快取;
匹配模組:根據解析器的包頭組合查表,得到動作型別並交給動作執行器;
動作執行器:結合ram中包頭的偏移資訊和接受到的動作型別,執行並輸出;
使用者資訊配置:
協議型別域資訊儲存在tcam中,用於辨別協議型別;
型別域和匹配域的字段長度資訊儲存在ram1中,用於確定下一段型別域偏移量和匹配域偏移量;
首段型別資訊單獨儲存在offset(暫存器)中,用於確定第一段型別域偏移量;
動作器結合解析器的包頭域偏移資訊和匹配模組的動作型別,形成四元組
offset:偏移資訊,快速定位動作執行位置;type:動作型別;
length:運算元據長度;
content:操作內容;
動作識別與動作檢測
目前動作檢測研究難點主要有以下三點 2 邊界不明確。不同於動作識別,動作檢測要求做精確的動作區間檢測,而生活中乙個動作的產生往往邊界不是十分確定的,所以這也是導致目前動作檢測map偏低的原因 3 時間跨度大。在生活中,乙個行為動作往往跨度非常大,揮手等短動作幾秒左右,而攀岩 騎行等長動作可能持續數十...
CCEase動作緩衝的解析
在很多遊戲引擎中,都有各種各樣的動作,以及各色各樣的動作緩衝,以便達到不同的效果。在cocos2d中,同樣也有這樣一大批動作緩衝類。先讓我們分析下動作是如何執行的吧。1 動作的要素 一般的動作至少有2個要素,乙個是時間 乙個是目的地,可能是位置 距離 也可能是其他屬性。2 如果只考慮線性,不考慮緩衝...
Mysql外來鍵級聯動作(刪除和更新)
在實際開發中,我們建立表和表之間關聯的時候很少用到外來鍵,但是有時候需要用到外來鍵,準確地說是用到外來鍵的級聯動作,例如你有一張使用者表,存了一些使用者的基本資訊user表,如果這張表中的屬性過多,我們可能需要另一張表也用來儲存使用者的資訊,比如存一些登入資訊,就叫login user表,很明顯這時...