.TH "skbmod action in tc" 8 "21 Sep 2016" "iproute2" "Linux" .SH "نام (NAME)" tc-skbmod \- کنش ویرایشگر بسته‌ها با کاربری آسان .SH "خلاصه دستور (SYNOPSIS)" .in +8 .ti -8 .BR tc " ... " "action skbmod " "{ " "set " .IR SETTABLE " | " .BI swap " SWAPPABLE" .RB " | " ecn .RI "} [ " CONTROL " ] [ " .BI index " INDEX " ] .ti -8 .IR SETTABLE " := " .RB " [ " dmac .IR DMAC " ] " .RB " [ " smac .IR SMAC " ] " .RB " [ " etype .IR ETYPE " ] " .ti -8 .IR SWAPPABLE " := " .B mac .ti -8 .IR CONTROL " := {" .BR reclassify " | " pipe " | " drop " | " shot " | " continue " | " pass " }" .SH "توضیحات (DESCRIPTION)" کنش .B skbmod به‌عنوان یک ارتقای کاربردپذیری برای کنش موجود .B pedit طراحی شده است. به‌جای نیاز به ویرایش دستی بخش‌های ۸، ۱۶ یا ۳۲ بیتی از یک سرآیند اترنت، .B skbmod امکان جایگزینی کامل مؤلفه‌های پشتیبانی‌شده را فراهم می‌کند. کنش باید یکی از موارد .BR set "، " swap " یا " ecn باشد. .BR set " و " swap فقط بر بسته‌های اترنت اثر می‌گذارند، در حالی که .B ecn تنها بسته‌های IP را تحت تأثیر قرار می‌دهد. .SH "گزینه‌ها (OPTIONS)" .TP .BI dmac " DMAC" تغییر نشانی مک مقصد به نشانی مشخص‌شده. .TP .BI smac " SMAC" تغییر نشانی مک مبدأ به نشانی مشخص‌شده. .TP .BI etype " ETYPE" تغییر نوع اترنت (ethertype) به مقدار مشخص‌شده. .TP .BI mac برای جابه‌جا کردن نشانی‌های مک استفاده می‌شود. .TP .B ecn برای علامت‌گذاری بسته‌های IP با قابلیت انتقال سازگار با ECN .RB ( ECT ) به‌عنوان مواجهه با ازدحام .RB ( CE ) استفاده می‌شود. بر بسته‌های فاقد قابلیت ECN .RB ( Non-ECT ) تأثیری ندارد. .TP .I CONTROL کلیدواژه‌های زیر امکان کنترل نحوه پیمایش ادامه درخت qdisc، کلاس‌ها، فیلترها و کنش‌ها را پس از این کنش فراهم می‌کنند. .RS .TP .B reclassify شروع مجدد با اولین فیلتر در فهرست فعلی. .TP .B pipe ادامه با کنش بعدی متصل به همان فیلتر. .TP .B drop .TQ .B shot دور انداختن بسته. .TP .B continue ادامه دسته‌بندی با فیلتر بعدی در صف. .TP .B pass پایان دادن به فرآیند دسته‌بندی و بازگشت به qdisc فراخوان برای پردازش بیشتر بسته. این حالت پیش‌فرض است. .RE .SH "مثال‌ها (EXAMPLES)" برای شروع، فیلتر زیر را همراه با یک کنش pedit در نظر بگیرید: .RS .EX tc filter add dev eth1 parent 1: protocol ip prio 10 \\ u32 match ip protocol 1 0xff flowid 1:2 \\ action pedit munge offset -14 u8 set 0x02 \\ munge offset -13 u8 set 0x15 \\ munge offset -12 u8 set 0x15 \\ munge offset -11 u8 set 0x15 \\ munge offset -10 u16 set 0x1515 \\ pipe .EE .RE با استفاده از کنش skbmod، می‌توان این دستور را به‌صورت زیر ساده کرد: .RS .EX tc filter add dev eth1 parent 1: protocol ip prio 10 \\ u32 match ip protocol 1 0xff flowid 1:2 \\ action skbmod set dmac 02:15:15:15:15:15 \\ pipe .EE .RE در صورتی که نشانی مک مبدأ و ethertype نیز به‌عنوان بخشی از این کنش ویرایش شوند، پیچیدگی بیشتر خواهد شد. اگر قرار باشد هر سه فیلد با skbmod تغییر یابند: .RS .EX tc filter add dev eth5 parent 1: protocol ip prio 10 \\ u32 match ip protocol 1 0xff flowid 1:2 \\ action skbmod \\ set etype 0xBEEF \\ set dmac 02:12:13:14:15:16 \\ set smac 02:22:23:24:25:26 .EE .RE برای جابه‌جا کردن نشانی‌های مک مقصد و مبدأ در سرآیند اترنت: .RS .EX tc filter add dev eth3 parent 1: protocol ip prio 10 \\ u32 match ip protocol 1 0xff flowid 1:2 \\ action skbmod \\ swap mac .EE .RE در نهایت، برای علامت‌گذاری کدپوینت CE در سرآیند IP برای بسته‌های با قابلیت انتقال سازگار با ECN .RB ( ECT ): .RS .EX tc filter add dev eth0 parent 1: protocol ip prio 10 \\ u32 match ip protocol 1 0xff flowid 1:2 \\ action skbmod \\ ecn .EE .RE در یک دستور منفرد تنها باید یکی از موارد .BR set "، " swap " یا " ecn استفاده شود. تلاش برای استفاده از بیش از یکی از آن‌ها در یک دستور، رفتاری تعریف‌نشده تلقی می‌شود؛ در عوض، چند دستور را از طریق لوله‌کشی (pipe) به یکدیگر متصل کنید. .SH "همچنین ببینید (SEE ALSO)" .BR tc (8), .BR tc-u32 (8), .BR tc-pedit (8)