| IFE action in tc(8) | Linux | IFE action in tc(8) |
نام (NAME)
tc-ife - کپسولهسازی یا استخراج فراداده
خلاصه دستور (SYNOPSIS)
tc ... action ife DIRECTION [ ACTION ] [ dst DMAC ] [ src SMAC ] [ type TYPE ] [ CONTROL ] [ index INDEX ]
DIRECTION := { decode | encode }
ACTION := { allow ATTR | use ATTR value }
ATTR := { mark | prio | tcindex }
CONTROL := { reclassify | use | pipe | drop | continue | ok | goto chain CHAIN_INDEX }
توضیحات (DESCRIPTION)
کنش ife به طرف فرستنده اجازه میدهد فرادادههای اختیاری را کپسولهسازی کند که سپس توسط طرف گیرنده استخراج (decapsulate) میشوند. فرستنده در حالت کدگذاری (encode) و گیرنده در حالت رمزگشایی (decode) اجرا میشود. هر دو سمت فرستنده و گیرنده باید یک نوع اترنت (ethertype) یکسان را مشخص کنند. در آینده، ممکن است یک نوع اترنت ثبتشده به عنوان پیشفرض در دسترس قرار گیرد.
گزینهها (OPTIONS)
- decode
- برای سمت گیرنده؛ در صورت تطابق بسته، فراداده را رمزگشایی میکند.
- encode
- برای سمت فرستنده؛ در صورت تطابق بسته، فراداده مشخصشده را کدگذاری میکند.
- allow
- فقط برای جهت کدگذاری؛ امکان کدگذاری فراداده مشخصشده را فراهم میکند.
- use
- فقط برای جهت کدگذاری؛ کدگذاری ایستا برای فراداده مشخصشده را اعمال میکند.
- mark [
- u32_value ] مقداری که باید برای علامت بسته (skb mark) تنظیم شود. مقدار u32 تنها زمانی لازم است که use مشخص شده باشد. اگر مقدار mark صفر باشد، کدگذاری نخواهد شد و در عوض، آمار «overlimits» افزایش یافته و کنش CONTROL انجام میشود.
- prio [
- u32_value ] مقداری که باید برای اولویت در ساختار skb تنظیم شود. مقدار u32 تنها زمانی لازم است که use مشخص شده باشد.
- tcindex [
- u16_value ] مقداری که باید برای شاخص کنترل ترافیک در ساختار skb تنظیم شود. مقدار u16 تنها زمانی لازم است که use مشخص شده باشد.
- dmac DMAC
- smac SMAC
- آدرس اختیاری شش بایتی MAC مقصد یا مبدأ برای کدگذاری.
- type TYPE
- نوع اترنت (ethertype) اختیاری ۱۶ بیتی برای کدگذاری. در صورت عدم تعیین، مقدار 0xED3E استفاده خواهد شد.
- CONTROL
- کنشی که باید پس از یک کدگذاری/رمزگشایی انجام شود.
- index INDEX
- اختصاص یک شناسه یکتا به این کنش به جای واگذاری انتخاب خودکار آن به هسته سیستمعامل. INDEX یک عدد صحیح بدون علامت ۳۲ بیتی بزرگتر از صفر است.
مثالها (EXAMPLES)
در سمت گیرنده، بستههای دارای نوع اترنت 0xdead را تطبیق داده و دستهبندی را مجدداً آغاز کنید تا در قاعده بعدی با اولویت ۳، با پروتکل ICMP تطبیق داده شود:
# tc qdisc add dev eth0 handle ffff: ingress # tc filter add dev eth0 parent ffff: prio 2 protocol 0xdead u32 match u32 0 0 flowid 1:1 action ife decode reclassify # tc filter add dev eth0 parent ffff: prio 3 protocol ip u32 match ip protocol 0xff flowid 1:1 action continue
تطبیق با علامت skb برابر با ۱۷:
# tc filter add dev eth0 parent ffff: prio 4 protocol ip handle 0x11 fw flowid 1:1 action ok
پیکربندی سمت فرستنده برای کدگذاری فیلترهای فوق. استفاده از آدرس IP مقصد 192.168.122.237/24، سپس برچسبگذاری با علامت skb برابر با ۱۷ در مبنای ۱۰. کدگذاری بسته با نوع اترنت 0xdead، افزودن skb->mark به فهرست مجاز فرادادههای ارسالی، و بازنویسی آدرس MAC مقصد به 02:15:15:15:15:15.
# tc qdisc add dev eth0 root handle 1: prio # tc filter add dev eth0 parent 1: protocol ip prio 10 u32 match ip dst 192.168.122.237/24 match ip protocol 1 0xff flowid 1:2 action skbedit mark 17 action ife encode type 0xDEAD allow mark dst 02:15:15:15:15:15
همچنین ببینید (SEE ALSO)
| 22 Apr 2016 | iproute2 |