Generic actions in tc(8) Linux Generic actions in tc(8)

tc-gact - کنش عمومی در کنترل ترافیک (generic action)


tc ... action gact CONTROL [ RAND ] [ INDEX ] CONTROL := { reclassify | drop | continue | pass | pipe |
goto chain CHAIN_INDEX |
jump JUMP_COUNT }

RAND := random RANDTYPE CONTROL VAL RANDTYPE := { netrand | determ } VAL := عددی که از ۱۰۰۰۰ بیشتر نباشد JUMP_COUNT := پرش مطلق از ابتدای فهرست کنش‌ها INDEX := مقدار شاخص مورد استفاده

کنش gact امکان دسته‌بندی مجدد (reclassify)، دور انداختن (drop)، رد کردن (pass یا pipe) یا پذیرفتن (accept) بسته‌ها را فراهم می‌کند. در حال حاضر تنها دو الگوریتم تصادفی‌سازی وجود دارد: یکی قطعی (determ) و دیگری با استفاده از مولد تصادفی داخلی هسته (netrand).

احتمال اجرای کنش را به صورت ۱ بسته از هر VAL بسته مشخص می‌کند.
مشخص می‌کند در صورت تطبیق بسته، tc چگونه باید فرآیند را ادامه دهد. برای مشاهده شرح مقادیر ممکن برای CONTROL، به tc-actions(8) مراجعه کنید.

اعمال یک قاعده روی ترافیک ورودی (ingress) برای دور انداختن بسته‌های ارسالی از یک نشانی مبدأ مشخص:

# tc filter add dev eth0 parent ffff: protocol ip prio 6 u32 match ip src 10.0.0.9/32 flowid 1:16 action drop

مجوز عبور تصادفی ۱ بسته از هر ۱۰ بسته از مبدأ با استفاده از مولد تصادفی netrand:

# tc filter add dev eth0 parent ffff: protocol ip prio 6 u32 match ip src 10.0.0.9/32 flowid 1:16 action drop random netrand ok 10

پذیرش قطعی هر دومین بسته (یک بسته در میان):

# tc filter add dev eth0 parent ffff: protocol ip prio 6 u32 match ip src 10.0.0.9/32 flowid 1:16 action drop random determ ok 2

tc(8), tc-actions(8), tc-u32(8)

11 Jan 2023 iproute2