SKB editing action in tc(8) Linux SKB editing action in tc(8)

tc-skbedit - اکشن ویرایش ساختار بافر سوکت (SKB)


tc ... action skbedit [ queue_mapping QUEUE_MAPPING ] [ priority PRIORITY ] [ mark MARK[/MASK] ] [ ptype PTYPE ] [ inheritdsfield ]

اکشن skbedit امکان تغییر فراداده‌های مرتبط با یک بسته را فراهم می‌کند. این اکشن مکمل اکشن pedit است که به نوبه خود امکان تغییر بخش‌هایی از داده‌های خود بسته را فراهم می‌سازد.

منحصربه‌فردترین ویژگی skbedit توانایی آن در تصمیم‌گیری درباره این است که بسته از طریق کدام صفِ یک رابط شبکه با چندین صف ارسال (transmit queues) به بیرون فرستاده شود. تعداد صف‌های ارسال موجود در ورودی‌های sysfs در مسیر /sys/class/net/<interface>/queues با نام tx-N مشخص شده است (که در آن N شماره واقعی صف است).

بازنویسی صف ارسال بسته. برای بسته‌هایی که روی رابط‌های شبکه با قابلیت چندصفی (MQ) ارسال می‌شوند کاربرد دارد. QUEUE_MAPPING یک مقدار ۱۶ بیتی بدون علامت در قالب ده‌دهی است.
بازنویسی تصمیم دسته‌بندی بسته. PRIORITY یا یکی از مقادیر root, none است، یا یک شناسه کلاس اصلی هگزادسیمال که به‌طور اختیاری با یک دونقطه (:) و یک شناسه کلاس فرعی هگزادسیمال دنبال می‌شود.
تغییر مقدار علامت فایروال (firewall mark) بسته. MARK یک مقدار ۳۲ بیتی بدون علامت در قالبی است که به‌طور خودکار شناسایی می‌شود (به‌عنوان مثال، پیشوند '0x' برای تفسیر در مبنای شانزده و غیره). MASK ماسک ۳۲ بیتی را برای انتخاب بیت‌های مقدار mark مشخص می‌کند. مقدار پیش‌فرض 0xffffffff است.
بازنویسی نوع بسته. این گزینه برای تنظیم نوع بسته روی host زمانی که نیاز به پذیرش بسته‌های ورودی با نشانی MAC اشتباه ولی نشانی IP درست است، کاربرد دارد. PTYPE یکی از موارد زیر است: host, otherhost, broadcast, multicast
بازنویسی تصمیم دسته‌بندی بسته و هر مقداری که با priority, مشخص شده باشد، با استفاده از اطلاعات ذخیره‌شده در فیلد Differentiated Services سرآیند IPv4/IPv6 (مطابق با RFC2474).

tc(8), tc-pedit(8)

12 Jan 2015 iproute2