| actions in tc(8) | Linux | actions in tc(8) |
نام (NAME)
tc-actions - مدیریت اکشنهای کنترل ترافیک (traffic control actions)
خلاصه دستور (SYNOPSIS)
tc [ TC_OPTIONS ] actions add | change | replace ACTSPEC
tc [ TC_OPTIONS ] actions get | delete ACTISPEC
tc [ TC_OPTIONS ] actions flush ACTNAMESPEC
tc [ TC_OPTIONS ] actions ls | list ACTNAMESPEC [ ACTFILTER ]
ACTSPEC := action ACTDETAIL [ INDEXSPEC ] [
COOKIESPEC ] [ FLAGS ] [ HWSTATSSPEC ] [ CONTROL
] [ SKIPSPEC ]
ACTISPEC := ACTNAMESPEC INDEXSPEC
ACTNAMESPEC := action ACTNAME
INDEXSPEC := index INDEX
ACTFILTER := since MSTIME
COOKIESPEC := cookie COOKIE
FLAGS := no_percpu
HWSTATSSPEC := hw_stats { immediate | delayed | disabled }
ACTDETAIL := ACTNAME ACTPARAMS
ACTNAME میتواند هر نوع اکشن معتبری باشد: gact، mirred، bpf، connmark، csum، police و غیره.
MSTIME زمان سپریشده از آخرین بهروزرسانی.
CONTROL := { reclassify | pipe | drop | continue | ok }
SKIPSPEC := { skip_sw | skip_hw }
TC_OPTIONS اینها
گزینههایی
هستند که
مختص به tc
میباشند و
نه تنها این
گزینهها.
برای
اطلاعات
بیشتر به tc(8)
مراجعه
کنید.
توضیحات (DESCRIPTION)
شیء actions در tc به کاربر اجازه میدهد تا اکشنها (اقدامات) را مستقل از یک دستهبندیکننده یا فیلتر (classifier) تعریف کند. سپس این اکشنها میتوانند به یک یا چند فیلتر اختصاص داده شوند، بهطوری که هر بستهای که با معیارهای دستهبندیکننده مطابقت داشته باشد، آن اکشن روی آن اعمال خواهد شد.
هر نوع اکشن (مانند mirred، police و غیره) جدول اختصاصی خود را برای ذخیره تمامی اکشنهای ایجادشده خواهد داشت.
عملیات (OPERATIONS)
- add
- ایجاد یک اکشن جدید در جدول مربوط به آن اکشن.
- change
- replace
- اعمال تغییرات روی یک اکشن موجود.
- get
- نمایش اکشن دارای مقدار اندیس مشخصشده. در صورت ترکیب با گزینه -s برای tc، آمار مربوط به آن اکشن را نمایش میدهد.
- delete
- حذف اکشن با مقدار اندیس مشخصشده. اگر اکشن قبلاً به یک دستهبندیکننده مرتبط شده باشد، دستهبندیکننده حذف نمیشود.
- ls
- list
- فهرست کردن تمام اکشنهای موجود در جدول مشخصشده. در صورت ترکیب با گزینه -s برای tc، آمار تمامی اکشنهای موجود در جدول مشخصشده را نمایش میدهد. همچنین در صورت ترکیب با گزینه since امکان فیلتر زمانی بر حسب میلیثانیه از آخرین باری که یک اکشن در مسیر داده (datapath) استفاده شده است را فراهم میکند.
- flush
- حذف تمامی اکشنهای ذخیرهشده در جدول مشخصشده.
گزینههای اکشن (ACTION OPTIONS)
توجه داشته باشید که این گزینهها برای تمامی انواع اکشن در دسترس هستند.
- index INDEX
- مشخص کردن مقدار اندیس جدول برای یک اکشن. INDEX یک مقدار ۳۲ بیتی است که برای نوع خاص اکشن مورد ارجاع، یکتا میباشد.
- علاوه بر اکشن مشخصشده، بسته منطبق را با مقدار تعیینشده توسط COOKIE علامتگذاری میکند. COOKIE یک مقدار ۱۲۸ بیتی است که تحت هیچ شرایطی توسط هسته تفسیر نخواهد شد. از این رو، میتوان از آن به عنوان یک مقدار مرتبطکننده جهت حفظ وضعیت کاربر استفاده کرد. مقداری که باید ذخیره شود کاملاً دلخواه است و نیاز به قالب خاصی ندارد. این مقدار در داخل خود ساختار اکشن ذخیره میشود.
- FLAGS
- فلگهای مختص اکشن. در حال حاضر، تنها فلگ پشتیبانیشده no_percpu است که نشان میدهد انتظار میرود این اکشن حداقل ترافیک نرمافزاری را در مسیر داده داشته باشد و نیازی به تخصیص شمارندههای آماری با تخصیصدهنده percpu ندارد. این گزینه برای استفاده توسط اکشنهای باراندازیشده در سختافزار (hardware-offloaded) در نظر گرفته شده است.
- hw_stats HW_STATS
- نوع آمار سختافزاری اکشن جدید را مشخص میکند. در صورت عدم تعیین، بسته به درایور و منابع آن، هر نوع شمارنده آماری ممکن است استفاده شود. HW_STATS نوع را مشخص میکند. هر یک از مقادیر زیر معتبر هستند:
- immediate
- بدین معنی است که در خروجی (dump)، کاربر وضعیت آمار سختافزاری جاری را از دستگاهی که در زمان dump از آن پرسوجو شده دریافت میکند.
- delayed
- بدین معنی است که در خروجی (dump)، کاربر آمار سختافزاریای را دریافت میکند که ممکن است برای مدتی (شاید دو یا سه ثانیه) قدیمی باشد. این حالت زمانی رخ میدهد که درایور بهصورت دورهای بهروزرسانیهای آماری را استعلام (poll) میکند یا زمانی که بهروزرسانی آماری ناهمگام را از دستگاه دریافت مینماید.
- disabled
- هیچ آمار سختافزاریای در خروجی (dump) در دسترس نخواهد بود.
- since MSTIME
- هنگام دریافت خروجی (dump) از تعداد زیادی اکشن، میتوان یک فیلتر زمانی میلیثانیهای را با MSTIME مشخص کرد. MSTIME تعداد میلیثانیهها از آخرین باری است که بستهای به اکشن اصابت کرده است. به عنوان مثال، تعیین «since 20000» به معنای دریافت خروجی تمامی اکشنهایی است که در ۲۰ ثانیه گذشته بستههایی را دیدهاند. این گزینه زمانی مفید است که هسته دارای تعداد زیادی اکشن باشد و شما فقط به اکشنهای اخیراً استفادهشده علاقهمند باشید.
- CONTROL
- پارامتر CONTROL مشخص میکند که tc پس از اجرای اکشن چگونه باید ادامه دهد. هر یک از موارد زیر معتبر هستند:
- reclassify
- شروع مجدد دستهبندی با بازگشت به اولین فیلتر متصل به والد اکشن.
- pipe
- ادامه دادن با اکشن بعدی. این حالت کنترل پیشفرض است.
- drop
- دور انداختن بسته بدون اجرای هیچگونه اکشن دیگر.
- continue
- ادامه دستهبندی با فیلتر بعدی.
- pass
- بازگشت به qdisc فراخواننده برای پردازش بسته، و پایان دادن به دستهبندی این بسته.
- SKIPSPEC
- پارامتر SKIPSPEC مشخص میکند که tc هنگام اجرای اکشن چگونه باید عمل کند. هر یک از موارد زیر معتبر هستند:
همچنین ببینید (SEE ALSO)
tc(8), tc-bpf(8), tc-connmark(8), tc-csum(8), tc-ife(8), tc-mirred(8), tc-nat(8), tc-pedit(8), tc-police(8), tc-simple(8), tc-skbedit(8), tc-skbmod(8), tc-tunnel_key(8), tc-vlan(8), tc-xt(8)
| 1 Aug 2017 | iproute2 |