DCB(8) Linux DCB(8)

dcb - ابزار پیکربندی پلبندی مرکز داده (Data Center Bridging)


dcb [ OPTIONS ] { app | buffer | ets | maxrate | pfc } { COMMAND | help }

dcb [ -force ] -batch filename

dcb [ OPTIONS ] help

ابزار dcb را به فضای نام شبکه (network namespace) مشخص‌شده NETNS منتقل می‌کند.
نسخه ابزار dcb را چاپ کرده و خارج می‌شود.
دستورات را از پرونده ارائه‌شده یا ورودی استاندارد خوانده و آن‌ها را اجرا می‌کند. نخستین خطا موجب توقف اجرای dcb خواهد شد.
در حالت دسته‌ای (batch mode) با بروز خطا اجرای dcb متوقف نمی‌شود. چنانچه در حین اجرای دستورات خطایی رخ دهد، کد وضعیت خروجی برنامه غیرصفر خواهد بود.
هنگام نمایش نرخ‌ها، از پیشوندهای بر پایه ۱۰۲۴ استاندارد ISO/IEC (شامل Ki، Mi، Bi) به جای پیشوندهای بر پایه ۱۰۰۰ (شامل K، M، B) استفاده می‌کند.
خروجی را در قالب JSON تولید می‌کند.
چنانچه زیرابزار مربوطه اعداد را به هر نحوی به نام‌های نمادین ترجمه کند، از این تبدیل جلوگیری می‌کند.
در صورت ترکیب با گزینه -j، خروجی JSON به شکل آراسته و خوانا (pretty) تولید می‌شود.
اگر شیء مورد نظر دارای شمارنده‌های آماری باشد، آن‌ها را به عنوان بخشی از خروجی «show» نمایش می‌دهد.

- پیکربندی جدول اولویت برنامه‌های کاربردی (application priority table)
- پیکربندی بافرهای درگاه (port buffers)
- پیکربندی انتخاب انتقال پیشرفته (ETS - Enhanced Transmission Selection)
- پیکربندی حداکثر نرخ ارسال به ازای هر کلاس ترافیک (per-TC)
- پیکربندی کنترل جریان مبتنی بر اولویت (PFC - Priority-based Flow Control)

یک COMMAND عملیاتی را مشخص می‌کند که باید بر روی شیء انجام شود. مجموعه عملیات‌های مجاز به نوع شیء بستگی دارد. به عنوان یک قاعده، امکان نمایش (show) اشیاء و فراخوانی راهنمای موضعی (help) وجود دارد که فهرستی از دستورات دردسترس و قواعد نحوی آرگومان‌ها را نمایش می‌دهد.

همانند دستورات، مشخص کردن پارامترها نیز در حوزه اشیاء اختصاصی (و دستورات مربوط به آن‌ها) قرار دارد. با این وجود، بخش عمده‌ای از رابط کاربری DCB پیرامون آرایه‌هایی با اندازه ثابت می‌چرخد که برای هر کلید، یک مقدار تعیین می‌کنند (مانند به ازای هر کلاس ترافیک یا به ازای هر اولویت). از این رو یک نحو واحد برای تنظیم عناصر این آرایه‌ها وجود دارد. این ساختار شامل مجموعه‌ای از جفت‌های KEY:VALUE است که در آن معنای هر کلید و مقدار به پارامتر بستگی دارد.

عناصر به ترتیب از چپ به راست ارزیابی می‌شوند و موارد بعدی مقادیر پیشین را رونویسی می‌کنند. عناصری که در خط فرمان تعیین نشده باشند از هسته استعلام شده و مقدار فعلی آن‌ها حفظ می‌شود.

به عنوان مثال، پارامتر ساختگی tc-juju را در نظر بگیرید که می‌تواند برای تنظیم بخت ترافیک در یک TC معین به صورت خوش‌شانسی یا بدشانسی استفاده شود. بنابراین KEY می‌تواند مقادیر 0..7 باشد (همان‌گونه که معمولاً برای شماره‌های TC در DCB استفاده می‌شود)، و VALUE می‌تواند یکی از مقادیر none ، good یا bad باشد. نمونه‌ای از تغییر مقدار juju برای TCهای 0 و 7، بدون دستکاری سایر موارد، به صورت زیر خواهد بود:

# dcb foo set dev eth0 tc-juju 0:good 7:bad

یک کلید ویژه، all، شناسایی شده است که همان مقدار را برای تمام عناصر آرایه تنظیم می‌کند. این قابلیت می‌تواند با نحو رایج تک‌عنصری ترکیب شود. برای نمونه در دستور زیر، مقدار juju برای تمام کلیدها به none تنظیم شده است، به جز 0 و 7 که مقادیر دیگری دارند:

# dcb foo set dev eth0 tc-juju all:none 0:good 7:bad

در صورت اجرای موفقیت‌آمیز دستور وضعیت خروج 0 و در هنگام بروز خطا یک عدد صحیح مثبت بازگردانده می‌شود.

dcb-app(8), dcb-apptrust(8), dcb-buffer(8), dcb-dcbx(8), dcb-ets(8), dcb-maxrate(8), dcb-pfc(8), dcb-rewr(8)

هرگونه باگ یا اشکال را به فهرست پستی توسعه‌دهندگان شبکه به نشانی <netdev@vger.kernel.org> که در آن توسعه و نگهداری برنامه انجام می‌پذیرد گزارش دهید. برای ارسال پیام به این نشانی نیازی به عضویت در فهرست ندارید.

Petr Machata <me@pmachata.org>

19 October 2020 iproute2