.TH DEVLINK\-RATE 8 "12 Mar 2021" "iproute2" "Linux" .SH "نام (NAME)" devlink-rate \- مدیریت نرخ ارسال پورتها و گروههای devlink .SH "خلاصه دستور (SYNOPSIS)" .sp .ad l .in +8 .ti -8 .B devlink .RI "[ " OPTIONS " ]" .B port function rate .RI " { " COMMAND " | " .BR help " }" .sp .ti -8 .IR OPTIONS " := { " .BR -j [ \fIson "] | " -p [ \fIretty "] | " -i [ \fIec "] }" .ti -8 .B devlink port function rate show .RI "[ { " DEV/PORT_INDEX " | " DEV/NODE_NAME " } ]" .ti -8 .B devlink port function rate set .RI "{ " DEV/PORT_INDEX " | " DEV/NODE_NAME " } " .RB [ " tx_share \fIVALUE " ] .RB [ " tx_max \fIVALUE " ] .RB [ " tx_priority \fIN " ] .RB [ " tx_weight \fIN " ] .RB [ " tc-bw \fIINDEX:N " ] .RB "[ {" " parent \fINODE_NAME " | " noparent " "} ]" .ti -8 .BI "devlink port function rate add " DEV/NODE_NAME .RB [ " tx_share \fIVALUE " ] .RB [ " tx_max \fIVALUE " ] .RB [ " tx_priority \fIN " ] .RB [ " tx_weight \fIN " ] .RB [ " tc-bw \fIINDEX:N " ] .RB "[ {" " parent \fINODE_NAME " | " noparent " "} ]" .ti -8 .BI "devlink port function rate del " DEV/NODE_NAME .ti -8 .B devlink port function rate help .SH "توضیحات (DESCRIPTION)" .SS devlink port function rate show \- نمایش اشیاء نرخ شیء نرخ مشخص‌شده یا در صورت عدم تعیین، تمام اشیاء نرخ را نمایش می‌دهد. شیء نرخ می‌تواند یکی از این دو نوع باشد: .TP 8 .B leaf نمایانگر یک پورت منفرد devlink است؛ توسط درایور ایجاد/حذف می‌شود و به پورت devlink متصل می‌گردد. به عنوان مثال، برخی درایورها ممکن است برای هر پورت devlink مرتبط با یک VF، یک شیء نرخ از نوع برگ (leaf) ایجاد کنند. از آنجا که برگ‌ها دارای نگاشت یک‌به‌یک به پورت devlink خود هستند، در فضای کاربری با شناسه پورت متناظر devlink به صورت \fIDEV/PORT_INDEX\fR مورد ارجاع قرار می‌گیرند؛ .TP 8 .B node نمایانگر گروهی از اشیاء نرخ است؛ توسط کاربر ایجاد/حذف می‌شود (دستور زیر را ببینید) و به جای پورت devlink، به دستگاه devlink متصل می‌گردد. در فضای کاربری به آن با عنوان \fIDEV/NODE_NAME\fR ارجاع داده می‌شود، که در آن نام گره می‌تواند هر مقداری به جز عدد ده‌دهی باشد تا از تداخل با برگ‌ها جلوگیری شود. .PP خروجی دستور، شناسه شیء نرخ، نوع آن و مقادیر نرخ را به همراه نام گره والد نمایش می‌دهد. مقادیر نرخ در واحدهای SI چاپ می‌شوند که برای نمایش یک مقدار مشخص مناسب‌تر هستند. برای چاپ مقادیر در واحدهای IEC از سوییچ .B \-i استفاده می‌شود. خروجی JSON .RB ( \-j ) همواره مقادیر نرخ را بر حسب بایت بر ثانیه چاپ می‌کند. مقادیر نرخ صفر به معنی نرخ «نامحدود» است و مانند نام گره والد در خروجی حذف (نمایش داده نمی‌شود) می‌گردد. .SS devlink port function rate set \- تنظیم پارامترهای شیء نرخ امکان تنظیم پارامترهای شیء نرخ را فراهم می‌کند. در صورتی که هر پارامتری چندین بار مشخص شود، آخرین مقدار استفاده خواهد شد. .PP .I DEV/PORT_INDEX \- شیء نرخ برگ (leaf) مربوط به devlink را مشخص می‌کند. .br .I DEV/NODE_NAME \- شیء نرخ گره (node) مربوط به devlink را مشخص می‌کند. .PP .BI tx_share " VALUE" \- حداقل مقدار نرخ ارسال (tx) به اشتراک گذاشته‌شده میان تمام اشیاء نرخ را مشخص می‌کند. اگر شیء نرخ بخشی از یک گروه نرخ باشد، این مقدار میان اشیاء نرخ آن گروه به اشتراک گذاشته می‌شود. .PP .BI tx_max " VALUE" \- حداکثر مقدار نرخ ارسال (tx) را مشخص می‌کند. .PP .BI tx_priority " N" \- امکان استفاده از داوری با اولویت اکید (strict priority arbiter) میان گره‌های همتا (siblings) را فراهم می‌کند. این طرح داوری تلاش می‌کند گره‌ها را تا زمانی که در محدوده پهنای باند مجاز خود باشند بر اساس اولویت زمان‌بندی کند. هر چه اولویت بالاتر باشد، احتمال انتخاب گره برای زمان‌بندی بیشتر خواهد بود. .PP .BI tx_weight " N" \- امکان استفاده از طرح داوری صف‌بندی منصفانه وزن‌دار (Weighted Fair Queuing) را میان گره‌های همتا فراهم می‌کند. این طرح داوری می‌تواند به طور هم‌زمان با اولویت اکید استفاده شود. هر چه یک گره با نرخ بالاتری پیکربندی شود، نسبت به همتاهای خود پهنای باند بیشتری دریافت می‌کند. مقادیر نسبی هستند (مانند درصدی از سهم) و اساساً تعیین می‌کنند که گره چه مقدار پهنای باند در مقایسه با همتاهای خود باید دریافت کند. .PP .BI tc-bw " INDEX:N" \- به کاربر امکان می‌دهد سهم‌های پهنای باند نسبی را به کلاس‌های ترافیکی مشخص با استفاده از استاندارد IEEE 802.1Qaz اختصاص دهد. این مقادیر تعیین می‌کنند که پهنای باند چگونه به نسبت یکدیگر بین کلاس‌های ترافیکی توزیع شود. در صورت عدم تعیین، تخصیص پیش‌فرض پهنای باند اعمال می‌گردد. .PP .TP 8 .I VALUE این پارامترها یک عدد ممیز شناور را می‌پذیرند که می‌تواند به دنبال آن یک واحد مشخص شود (از هر دو واحد SI و IEC پشتیبانی می‌شود). .RS .TP bit یا یک عدد تنها بیت بر ثانیه .TP kbit کیلوبیت بر ثانیه .TP mbit مگابیت بر ثانیه .TP gbit گیگابیت بر ثانیه .TP tbit ترابیت بر ثانیه .TP bps بایت بر ثانیه .TP kbps کیلوبایت بر ثانیه .TP mbps مگابایت بر ثانیه .TP gbps گیگابایت بر ثانیه .TP tbps ترابایت بر ثانیه .P برای تعیین در واحدهای IEC، پیشوندهای SI یعنی (k-، m-، g-، t-) را به ترتیب با پیشوندهای IEC یعنی (ki-، mi-، gi- و ti-) جایگزین کنید. ورودی به بزرگی و کوچکی حروف حساس نیست. .RE .PP .TP 8 .I INDEX این پارامترها نشان‌دهنده نمایه (index) کلاس ترافیک در گزینه .I tc-bw هستند. کلاس ترافیک به صورت یک عدد صحیح از 0 تا 7 مشخص می‌شود که با کلاس‌های ترافیک تعریف‌شده تحت استاندارد IEEE 802.1Qaz نگاشت می‌گردد. .PP .TP 8 .I N این پارامترها یک عدد صحیح را می‌پذیرند که بیانگر وزن یا اولویت یک گره است. .PP .BI parent " NODE_NAME \fR| " noparent \- گره والد شیء نرخ را روی گره موجود با نام .I NODE_NAME تنظیم می‌کند یا والد را لغو (unset) می‌نماید. محدودیت‌های نرخ گره والد بر تمامی فرزندان آن اعمال می‌شود. رفتار واقعی وابسته به جزئیات پیاده‌سازی درایور است. تنظیم والد روی نام خالی ("") بر اساس منطق هسته به عنوان لغو والد در نظر گرفته می‌شود. .SS devlink port function rate add \- ایجاد شیء نرخ گره با پارامترهای مشخص‌شده یک شیء نرخ از نوع گره (node) ایجاد کرده و پارامترها را تنظیم می‌کند. پارامترها مشابه دستور "set" هستند. .PP .I DEV/NODE_NAME \- شیء نرخ گره devlink را برای ایجاد مشخص می‌کند. .SS devlink port function rate del \- حذف شیء نرخ گره شیء نرخ گره devlink مشخص‌شده را حذف می‌کند. در صورتی که گره دارای فرزند باشد حذف نمی‌شود؛ کاربر باید صراحتاً والد فرزندان را لغو کند. .PP .I DEV/NODE_NAME \- شیء نرخ گره devlink را برای حذف مشخص می‌کند. .SS devlink port function rate help \- نمایش اطلاعات نحوه استفاده اطلاعات نحوه استفاده از دستورات نرخ devlink را نمایش می‌دهد. .SH "مثال‌ها (EXAMPLES)" .PP \fB*\fR نمایش تمام اشیاء نرخ: .RS 4 .PP # devlink port function rate show .br pci/0000:03:00.0/1 type leaf parent some_group .br pci/0000:03:00.0/2 type leaf tx_share 12Mbit .br pci/0000:03:00.0/some_group type node tx_share 1Gbps tx_max 5Gbps .RE .PP \fB*\fR نمایش شیء نرخ برگ متصل به اولین پورت devlink دستگاه pci/0000:03:00.0: .RS 4 .PP # devlink port function rate show pci/0000:03:00.0/1 .br pci/0000:03:00.0/1 type leaf .br .RE .PP \fB*\fR نمایش مقادیر نرخ شیء برگ با استفاده از واحدهای IEC: .RS 4 .PP # devlink -i port function rate show pci/0000:03:00.0/2 .br pci/0000:03:00.0/2 type leaf 11718Kibit .br .RE .PP \fB*\fR نمایش شیء نرخ گره با نام some_group در دستگاه pci/0000:03:00.0: .RS 4 .PP # devlink port function rate show pci/0000:03:00.0/some_group .br pci/0000:03:00.0/some_group type node .br .RE .PP \fB*\fR نمایش شیء نرخ برگ pci/0000:03:00.0/2 در قالب خروجی زیباسازی‌شده JSON: .RS 4 .PP # devlink -jp port function rate show pci/0000:03:00.0/2 .br { .br "rate": { .br "pci/0000:03:00.0/2": { .br "type": "leaf", .br "tx_share": 1500000 .br } .br } .br } .RE .PP \fB*\fR ایجاد شیء نرخ گره با نام "1st_group" در دستگاه pci/0000:03:00.0: .RS 4 .PP # devlink port function rate add pci/0000:03:00.0/1st_group .RE .PP \fB*\fR ایجاد شیء نرخ گره با پارامترهای مشخص‌شده: .RS 4 .PP # devlink port function rate add pci/0000:03:00.0/2nd_group \ .br tx_share 10Mbit tx_max 30Mbit parent 1st_group .RE .PP \fB*\fR تنظیم پارامترها برای شیء نرخ برگ مشخص‌شده: .RS 4 .PP # devlink port function rate set pci/0000:03:00.0/1 \ .br tx_share 2Mbit tx_max 10Mbit .RE .PP \fB*\fR تنظیم والد شیء برگ به "1st_group": .RS 4 .PP # devlink port function rate set pci/0000:03:00.0/1 parent 1st_group .RE .PP \fB*\fR لغو والد شیء برگ: .RS 4 .PP # devlink port function rate set pci/0000:03:00.0/1 noparent .RE .PP \fB*\fR حذف شیء نرخ گره: .RS 4 .PP # devlink port function rate del pci/0000:03:00.0/2nd_group .RE .SH "همچنین ببینید (SEE ALSO)" .BR devlink (8), .BR devlink-port (8) .br .SH "نویسنده (AUTHOR)" Dmytro Linkin