4 Giao Thức OpenFlow
4.6 Tập Hành Động (Action Set)
Một hành động (action) được gắn với một gói tin. Ngầm định thì tập này là rỗng. Một Flow Entrycó thể thay đổi tập action bằng cách sử dụng chỉ thị Write-Action hoặc
45
Clear-Action khi kết hợp xảy ra. Khi một chỉ thị khơng chứa Goto-Table thì q trình xử lý đường ống sẽ dừng lại và tập action sẽ được thực thi.
Một tập action thì chỉ có tối đa một action mỗi loại. Khi cần có nhiều action cùng loại thì có thể sử dụng chỉ thị Apply-Action. Tập các action được thực thi theo một thứ tự mà không quan tâm đến thứ tự chúng được đưa vào như thế nào. Nếu trong tập action có một nhóm các action thì chúng cũng được thực thi như vậy. Thứ tự thực thi như phía dưới đây:
- copy TTL inwards: Thực thi copy giá trị TTL theo hướng vào
- pop: Thực thi toàn bộ các Pop action tới gói tin. - push: Thực hiện tồn bộ các Push đánh dấu
- copy TTL outwards: Thực thi copy TTL action theo hướng ngược.
- decrement TTL: Thực thi giảm giá trị TTL của gói tin
- set: Thực thi tồn bộ action tới gói tin
- qos: Thực thi các action liên quan đến QoS như set queue
- group:Nếu một group Action được xác định thì thực thi các action theo tứ
thự của danh sách.
- output: Nếu khơng có group action được xác định thì chuyển gói tin đến
cổng được xác định bởi Output action.
Output Action là tập các action được thực hiện sau cùng. Nếu cả Output action và group action được xác định trong tập các Action, thì Output action sẽ được bỏ qua và group action được ưu tiên hơn. Nếu khơng có output action và khơng có group action thì gói tin sẽ bị hủy bỏ. Group action có thể thực thi theo kiểu đệ quy. Một group action này có thể gồm một group action khác.