'\" p .\" -*- nroff -*- .TH "ovs-vswitchd.conf.db" 5 " DB Schema 8.8.0" "Open vSwitch 4.0.0" "Open vSwitch Manual" .fp 5 L CR \\" Make fixed-width font available as \\fL. .de TQ . br . ns . TP "\\$1" .. .de ST . PP . RS -0.15in . I "\\$1" . RE .. .SH "نام (NAME)" ovs-vswitchd\[char46]conf\[char46]db \- طرح پایگاه‌داده Open_vSwitch .PP .PP .PP .PP پایگاه‌داده‌ای با این طرح، پیکربندی یک دیمن Open vSwitch را در خود نگه می‌دارد\[char46] پیکربندی سطح‌بالا برای دیمن، جدول \fBOpen_vSwitch\fR است که باید دقیقاً یک رکورد داشته باشد\[char46] رکوردهای موجود در سایر جدول‌ها تنها زمانی اهمیت دارند که بتوان مستقیماً یا به‌طور غیرمستقیم از جدول \fBOpen_vSwitch\fR به آن‌ها دسترسی پیدا کرد\[char46] رکوردهایی که از جدول \fBOpen_vSwitch\fR قابل دسترسی نباشند، به‌طور خودکار از پایگاه‌داده حذف می‌شوند، به‌جز رکوردهای موجود در چند جدول شاخص «مجموعه ریشه» (root set)\[char46] .SS "ستون‌های مشترک (Common Columns)" .PP .PP بیشتر جدول‌ها شامل دو ستون ویژه به نام‌های \fBother_config\fR و \fBexternal_ids\fR هستند\[char46] این ستون‌ها در هر جایی که ظاهر می‌شوند، شکل و هدف یکسانی دارند، از این رو برای صرفه‌جویی در فضا در بخش‌های بعدی، آن‌ها را در اینجا شرح می‌دهیم\[char46] .RS .TP \fBother_config\fR: نگاشتی از جفت‌های رشته-رشته جفت‌های کلید-مقدار برای پیکربندی قابلیت‌های کمتر استفاده‌شده\[char46] کلیدهای پشتیبانی‌شده، به همراه شکل‌های مقادیر آن‌ها، به‌طور جداگانه برای هر جدول مستند شده‌اند\[char46] .IP تعداد اندکی از جدول‌ها فاقد ستون \fBother_config\fR هستند زیرا هنوز هیچ جفت کلید-مقداری برای آن‌ها تعریف نشده است\[char46] .TP \fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته جفت‌های کلید-مقدار برای استفاده توسط چارچوب‌های بیرونی که با Open vSwitch ادغام می‌شوند، نه توسط خود Open vSwitch\[char46] یکپارچه‌سازان سیستم باید یا از فهرست پستی توسعه Open vSwitch برای هماهنگی روی تعاریف مشترک کلید-مقدار استفاده کنند، یا نام‌های کلیدی را انتخاب نمایند که احتمالاً یکتا باشند\[char46] در برخی موارد، جایی که جفت‌های کلید-مقدار تعریف شده‌اند که احتمالاً کاربرد گسترده‌ای دارند، به‌طور جداگانه برای هر جدول مستند شده‌اند\[char46] .RE .SH "خلاصه جدول‌ها (TABLE SUMMARY)" .PP فهرست زیر هدف هر یک از جدول‌ها را در پایگاه‌داده \fBOpen_vSwitch\fR خلاصه می‌کند. هر جدول در صفحه‌ای پس از این با جزئیات بیشتر شرح داده شده است. .IP "جدول" 1in هدف .TQ 1in \fBOpen_vSwitch\fR پیکربندی Open vSwitch\[char46] .TQ 1in \fBBridge\fR پیکربندی پل (Bridge)\[char46] .TQ 1in \fBPort\fR پیکربندی پورت\[char46] .TQ 1in \fBInterface\fR یک دستگاه شبکه فیزیکی در یک پورت\[char46] .TQ 1in \fBFlow_Table\fR پیکربندی جدول OpenFlow .TQ 1in \fBQoS\fR پیکربندی کیفیت خدمات (QoS) .TQ 1in \fBQueue\fR صف خروجی QoS\[char46] .TQ 1in \fBMirror\fR آینه‌کردن پورت (Port mirroring)\[char46] .TQ 1in \fBController\fR پیکربندی کنترل‌کننده OpenFlow\[char46] .TQ 1in \fBManager\fR اتصال مدیریتی OVSDB\[char46] .TQ 1in \fBNetFlow\fR پیکربندی NetFlow\[char46] .TQ 1in \fBDatapath\fR پیکربندی مسیر داده (Datapath)\[char46] .TQ 1in \fBCT_Zone\fR پیکربندی CT_Zone\[char46] .TQ 1in \fBCT_Timeout_Policy\fR پیکربندی CT_Timeout_Policy\[char46] .TQ 1in \fBSSL\fR پیکربندی SSL\[char46] .TQ 1in \fBsFlow\fR پیکربندی sFlow\[char46] .TQ 1in \fBIPFIX\fR پیکربندی IPFIX\[char46] .TQ 1in \fBFlow_Sample_Collector_Set\fR پیکربندی Flow_Sample_Collector_Set\[char46] .TQ 1in \fBAutoAttach\fR پیکربندی AutoAttach\[char46] .bp .SH "جدول Open_vSwitch (Open_vSwitch TABLE)" .PP پیکربندی برای یک دیمن Open vSwitch\[char46] باید دقیقاً یک رکورد در جدول \fBOpen_vSwitch\fR وجود داشته باشد\[char46] .SS "چکیده (Summary):" .TQ .25in \fIپیکربندی (Configuration):\fR .RS .25in .TQ 2.75in \fBdatapaths\fR نگاشتی از جفت‌های رشته-\fBDatapath\fR .TQ 2.75in \fBbridges\fR مجموعه‌ای از \fBBridge\fRها .TQ 2.75in \fBssl\fR \fBSSL\fR اختیاری .TQ 2.75in \fBexternal_ids : system-id\fR رشته اختیاری .TQ 2.75in \fBexternal_ids : hostname\fR رشته اختیاری .TQ 2.75in \fBexternal_ids : rundir\fR رشته اختیاری .TQ 2.75in \fBother_config : stats-update-interval\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۵٬۰۰۰ .TQ 2.75in \fBother_config : flow-restore-wait\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : flow-limit\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.75in \fBother_config : max-idle\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۵۰۰ .TQ 2.75in \fBother_config : max-revalidator\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱۰۰ .TQ 2.75in \fBother_config : min-revalidate-pps\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.75in \fBother_config : offloaded-stats-delay\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.75in \fBother_config : hw-offload\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : hw-offload-priority\fR رشته اختیاری .TQ 2.75in \fBother_config : n-offload-threads\fR رشته اختیاری، شامل یک عدد صحیح، در بازه ۱ تا ۱۰ .TQ 2.75in \fBother_config : tc-policy\fR رشته اختیاری، یکی از \fBnone\fR، \fBskip_hw\fR، یا \fBskip_sw\fR .TQ 2.75in \fBother_config : dpdk-init\fR رشته اختیاری، یکی از \fBfalse\fR، \fBtrue\fR، یا \fBtry\fR .TQ 2.75in \fBother_config : dpdk-lcore-mask\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .TQ 2.75in \fBother_config : pmd-cpu-mask\fR رشته اختیاری .TQ 2.75in \fBother_config : dpdk-alloc-mem\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.75in \fBother_config : dpdk-socket-mem\fR رشته اختیاری .TQ 2.75in \fBother_config : dpdk-socket-limit\fR رشته اختیاری .TQ 2.75in \fBother_config : dpdk-hugepage-dir\fR رشته اختیاری .TQ 2.75in \fBother_config : dpdk-probe-at-init\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : dpdk-extra\fR رشته اختیاری .TQ 2.75in \fBother_config : vhost-sock-dir\fR رشته اختیاری .TQ 2.75in \fBother_config : vhost-iommu-support\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : vhost-postcopy-support\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : per-port-memory\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : shared-mempool-config\fR رشته اختیاری .TQ 2.75in \fBother_config : tx-flush-interval\fR رشته اختیاری، شامل یک عدد صحیح، در بازه ۰ تا ۱٬۰۰۰٬۰۰۰ .TQ 2.75in \fBother_config : pmd-perf-metrics\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : smc-enable\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : pmd-rxq-assign\fR رشته اختیاری، یکی از \fBcycles\fR، \fBgroup\fR، یا \fBroundrobin\fR .TQ 2.75in \fBother_config : pmd-rxq-isolate\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : n-handler-threads\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .TQ 2.75in \fBother_config : n-revalidator-threads\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .TQ 2.75in \fBother_config : emc-insert-inv-prob\fR رشته اختیاری، شامل یک عدد صحیح، در بازه ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.75in \fBother_config : vlan-limit\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.75in \fBother_config : bundle-idle-timeout\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .TQ 2.75in \fBother_config : offload-rebalance\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : pmd-auto-lb\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : pmd-auto-lb-rebal-interval\fR رشته اختیاری، شامل یک عدد صحیح، در بازه ۰ تا ۲۰٬۰۰۰ .TQ 2.75in \fBother_config : pmd-auto-lb-load-threshold\fR رشته اختیاری، شامل یک عدد صحیح، در بازه ۰ تا ۱۰۰ .TQ 2.75in \fBother_config : pmd-auto-lb-improvement-threshold\fR رشته اختیاری، شامل یک عدد صحیح، در بازه ۰ تا ۱۰۰ .TQ 2.75in \fBother_config : pmd-sleep-max\fR رشته اختیاری .TQ 2.75in \fBother_config : userspace-tso-enable\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : explicit-sampled-drops\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIوضعیت (Status):\fR .RS .25in .TQ 2.75in \fBnext_cfg\fR عدد صحیح .TQ 2.75in \fBcur_cfg\fR عدد صحیح .TQ 2.75in \fBdpdk_initialized\fR بولی (boolean) .TQ .25in \fIآمار (Statistics):\fR .RS .25in .TQ 2.50in \fBother_config : enable-statistics\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBstatistics : cpu\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .TQ 2.50in \fBstatistics : load_average\fR رشته اختیاری .TQ 2.50in \fBstatistics : memory\fR رشته اختیاری .TQ 2.50in \fBstatistics : process_NAME\fR رشته اختیاری .TQ 2.50in \fBstatistics : file_systems\fR رشته اختیاری .RE .RE .TQ .25in \fIگزارش نسخه (Version Reporting):\fR .RS .25in .TQ 2.75in \fBovs_version\fR رشته اختیاری .TQ 2.75in \fBdb_version\fR رشته اختیاری .TQ 2.75in \fBsystem_type\fR رشته اختیاری .TQ 2.75in \fBsystem_version\fR رشته اختیاری .TQ 2.75in \fBdpdk_version\fR رشته اختیاری .RE .TQ .25in \fIقابلیت‌ها (Capabilities):\fR .RS .25in .TQ 2.75in \fBdatapath_types\fR مجموعه‌ای از رشته‌ها .TQ 2.75in \fBiface_types\fR مجموعه‌ای از رشته‌ها .RE .TQ .25in \fIپیکربندی پایگاه‌داده (Database Configuration):\fR .RS .25in .TQ 2.75in \fBmanager_options\fR مجموعه‌ای از \fBManager\fRها .RE .TQ .25in \fIآی‌پی‌سک (IPsec):\fR .RS .25in .TQ 2.75in \fBother_config : private_key\fR رشته اختیاری .TQ 2.75in \fBother_config : certificate\fR رشته اختیاری .TQ 2.75in \fBother_config : ca_cert\fR رشته اختیاری .TQ .25in \fIسیاست تونل متن‌آشکار (Plaintext Tunnel Policy):\fR .RS .25in .TQ 2.50in \fBother_config : ipsec_skb_mark\fR رشته اختیاری .RE .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBother_config\fR نگاشتی از جفت‌های رشته-رشته .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details):" .ST "پیکربندی (Configuration):" .PP .IP "\fBdatapaths\fR: نگاشتی از جفت‌های رشته-\fBDatapath\fR" نگاشتی از انواع مسیر داده (datapath) به مسیرهای داده\[char46] ستون \fBdatapath_type\fR در جدول \fBBridge\fR به عنوان کلید این نگاشت استفاده می‌شود\[char46] مقدار آن به ردیفی در جدول \fBDatapath\fR اشاره می‌کند\[char46] .IP "\fBbridges\fR: مجموعه‌ای از \fBBridge\fRها" مجموعه‌ای از پل‌ها (bridges) که توسط دیمن مدیریت می‌شوند\[char46] .IP "\fBssl\fR: یک \fBSSL\fR اختیاری" پیکربندی SSL/TLS که به صورت سراسری توسط دیمن استفاده می‌شود\[char46] .IP "\fBexternal_ids : system-id\fR: رشته اختیاری" شناسه یکتا برای میزبان فیزیکی Open vSwitch\[char46] قالب این شناسه به نوع میزبان بستگی دارد\[char46] .IP "\fBexternal_ids : hostname\fR: رشته اختیاری" نام میزبان (hostname) برای میزبانی که Open vSwitch را اجرا می‌کند\[char46] از نسخه 2\[char46]6\[char46]2 به بعد این مقدار یک نام دامنه کاملاً واجد شرایط (FQDN) است\[char46] .IP "\fBexternal_ids : rundir\fR: رشته اختیاری" در Open vSwitch نسخه 2\[char46]8 و بالاتر، دایرکتوری اجرای دیمن در حال اجرای Open vSwitch است\[char46] این دایرکتوری برای نگهداری وضعیت زمان اجرا مانند سوکت‌های کنترلی و مدیریتی استفاده می‌شود\[char46] مقدار \fBother_config:vhost-sock-dir\fR نسبت به این دایرکتوری سنجیده می‌شود\[char46] .IP "\fBother_config : stats-update-interval\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 5,000" فاصله زمانی برای به‌روزرسانی آمار در پایگاه‌داده، به میلی‌ثانیه\[char46] این گزینه بر به‌روزرسانی ستون \fBstatistics\fR در جدول‌های زیر تأثیر می‌گذارد: \fBPort\fR، \fBInterface\fR، \fBMirror\fR\[char46] .IP مقدار پیش‌فرض 5000 میلی‌ثانیه است\[char46] .IP دریافت مکررتر آمار را می‌توان از طریق OpenFlow انجام داد\[char46] .IP "\fBother_config : flow-restore-wait\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" هنگامی که \fBovs\-vswitchd\fR راه‌اندازی می‌شود، دارای جدول جریان (flow table) خالی است و بنابراین تمام بسته‌های دریافتی را بر اساس پیکربندی خود به شیوه پیش‌فرض پردازش می‌کند: با انداختن (drop) آن‌ها یا ارسالشان به یک کنترل‌کننده OpenFlow یا سوئیچ کردن آن‌ها به عنوان یک سوئیچ مستقل (standalone)\[char46] این رفتار معمولاً مطلوب است\[char46] با این حال، اگر \fBovs\-vswitchd\fR به عنوان بخشی از یک «ارتقای گرم» (hot-upgrade) بازراه‌اندازی شود، این امر منجر به یک دوره نسبتاً طولانی می‌شود که طی آن بسته‌ها به اشتباه مدیریت یا دور ریخته می‌شوند\[char46] .IP این گزینه امکان بهبود این وضعیت را فراهم می‌کند\[char46] هنگامی که \fBovs\-vswitchd\fR در حالتی آغاز به کار کند که این مقدار روی \fBtrue\fR تنظیم شده است، جریان‌های از پیش تنظیم‌شده مسیر داده (datapath) را نه پاک‌سازی و نه منقضی می‌کند و نه هیچ بسته‌ای را به مسیر داده ارسال کرده یا از آن دریافت می‌نماید\[char46] هنگامی که این مقدار بعداً روی \fBfalse\fR تنظیم شود، \fBovs\-vswitchd\fR شروع به دریافت بسته‌ها از مسیر داده کرده و جریان‌ها را مجدداً برقرار می‌سازد\[char46] .IP علاوه بر این، هنگامی که این مقدار روی \fBtrue\fR تنظیم شده باشد، از اتصال \fBovs\-vswitchd\fR به کنترل‌کننده‌ها جلوگیری می‌شود\[char46] این کار مانع از آن می‌شود که کنترل‌کننده‌ها در میانه فرایند بازیابی جریان، تغییراتی در جدول جریان ایجاد کنند که می‌تواند منجر به وضعیت‌های میانی نامطلوب شود\[char46] هنگامی که این مقدار روی \fBfalse\fR تنظیم شد و وضعیت جریان‌های مورد نظر بازیابی گردید، \fBovs\-vswitchd\fR قادر خواهد بود دوباره به کنترل‌کننده‌ها متصل شود و هرگونه تغییرات جدید در جدول جریان را پردازش کند\[char46] .IP بنابراین، با استفاده از این گزینه، روند ارتقای گرم \fBovs\-vswitchd\fR تقریباً به شکل زیر درمی‌آید: .RS .IP 1. .4in متوقف کردن \fBovs\-vswitchd\fR\[char46] .IP 2. .4in تنظیم \fBother_config:flow-restore-wait\fR روی \fBtrue\fR\[char46] .IP 3. .4in راه‌اندازی \fBovs\-vswitchd\fR\[char46] .IP 4. .4in استفاده از \fBovs\-ofctl\fR (یا برنامه‌ای دیگر مانند یک کنترل‌کننده OpenFlow) برای بازیابی جدول جریان OpenFlow به وضعیت دلخواه\[char46] .IP 5. .4in تنظیم \fBother_config:flow-restore-wait\fR روی \fBfalse\fR (یا حذف کامل آن از پایگاه‌داده)\[char46] .RE .IP توابع «restart» و «force-reload-kmod» در \fBovs\-ctl\fR هنگام ارتقاهای گرم از گزینه پیکربندی فوق استفاده می‌کنند\[char46] .IP "\fBother_config : flow-limit\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" حداکثر تعداد جریان‌های (flows) مجاز در جدول جریان مسیر داده\[char46] در لایه درونی، OVS حد جریانی را انتخاب می‌کند که بر اساس شرایط بلادرنگ شبکه احتمالاً کمتر از این مقدار خواهد بود\[char46] تغییر دادن این مقدار توصیه نمی‌شود، مگر اینکه دقیقاً بدانید چه کاری انجام می‌دهید\[char46] .IP مقدار پیش‌فرض 200000 است\[char46] .IP "\fBother_config : max-idle\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 500" حداکثر زمانی (به میلی‌ثانیه) که جریان‌های غیرفعال (idle) در حافظه موقت (cache) مسیر داده باقی می‌مانند\[char46] در لایه درونی، OVS اعتبار و فعالیت جریان‌های مسیر داده را به طور منظم بررسی می‌کند و ممکن است بر اساس شرایط بلادرنگ شبکه جریان‌ها را سریع‌تر از این زمان منقضی کند\[char46] تغییر دادن این مقدار توصیه نمی‌شود، مگر اینکه دقیقاً بدانید چه کاری انجام می‌دهید\[char46] .IP مقدار پیش‌فرض 10000 است\[char46] .IP "\fBother_config : max-revalidator\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 100" حداکثر زمانی (به میلی‌ثانیه) که ریسه‌های اعتبارسنج مجدد (revalidator threads) پیش از اجرای اعتبارسنجی مجدد جریان منتظر می‌مانند\[char46] توجه داشته باشید که این حداکثر مقدار مجاز است\[char46] مهلت زمانی واقعی استفاده‌شده توسط OVS برابر با کمینه مقادیر max-idle و max-revalidator است\[char46] تغییر دادن این مقدار توصیه نمی‌شود، مگر اینکه دقیقاً بدانید چه کاری انجام می‌دهید\[char46] .IP مقدار پیش‌فرض 500 است\[char46] .IP "\fBother_config : min-revalidate-pps\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" حداقل تعداد بسته بر ثانیه (pps) را تعیین می‌کند که یک جریان باید داشته باشد تا در صورتی که مدت زمان اعتبارسنجی مجدد از نصف متغیر پیکربندی max-revalidator فراتر رود، مجدداً اعتبارسنجی شود\[char46] تنظیم این مقدار روی 0 به این معنی است که جریان‌ها صرف‌نظر از pps همیشه دوباره اعتبارسنجی شوند\[char46] .IP مقدار پیش‌فرض 5 است\[char46] .IP "\fBother_config : offloaded-stats-delay\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" بدترین حالت تاخیر (به میلی‌ثانیه) را که ممکن است پیش از به‌روزرسانی آمار جریان‌های برون‌سپاری‌شده (offloaded flows) رخ دهد تعیین می‌کند\[char46] جریان‌های برون‌سپاری‌شده‌ای که عمرشان کمتر از این میزان تاخیر است، صرف‌نظر از مقدار \fBother_config:min-revalidate-pps\fR همواره مجدداً اعتبارسنجی خواهند شد\[char46] .IP مقدار پیش‌فرض 2000 است\[char46] .IP "\fBother_config : hw-offload\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" تنظیم این مقدار روی \fBtrue\fR برای فعال‌سازی برون‌سپاری سخت‌افزاری جریان در netdev (netdev flow offload) استفاده می‌شود\[char46] .IP مقدار پیش‌فرض \fBfalse\fR است\[char46] تغییر دادن این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP در حال حاضر Open vSwitch از برون‌سپاری سخت‌افزاری (hardware offloading) روی سیستم‌های لینوکس پشتیبانی می‌کند\[char46] در سایر سیستم‌ها، این مقدار نادیده گرفته می‌شود\[char46] این قابلیت «آزمایشی» تلقی می‌شود\[char46] بسته به اینکه کدام تطابق‌ها و اقدامات OpenFlow پیکربندی شده باشند، چه نسخه‌ای از هسته لینوکس استفاده شود و چه سخت‌افزاری موجود باشد، ممکن است Open vSwitch قادر به برون‌سپاری قابلیت‌ها به سخت‌افزار نباشد\[char46] .IP برای تخلیه (dump) جریان‌های برون‌سپاری‌شده سخت‌افزاری از \fBovs\-appctl dpctl/dump\-flows\fR استفاده کنید؛ دستور \fBovs\-dpctl\fR از این قابلیت پشتیبانی نمی‌کند\[char46] برای جزئیات بیشتر به ovs-vswitchd(8) مراجعه فرمایید\[char46] .IP "\fBother_config : hw-offload-priority\fR: رشته اختیاری" این پیکربندی ترتیب ارائه‌دهندگان برون‌سپاری سخت‌افزاری را برای امتحان کردن در صورتی که چندین ارائه‌دهنده برای یک پیاده‌سازی مسیر داده مشخص وجود داشته باشند تعیین می‌کند\[char46] آرگومان ارائه‌شده باید فهرستی از نام‌های ارائه‌دهندگان برون‌سپاری سخت‌افزاری باشد که با کاما از هم جدا شده‌اند\[char46] .IP اگر پیاده‌سازی‌هایی در این فهرست وجود نداشته باشند، در پایان فهرست و با ترتیبی نامشخص اضافه می‌شوند\[char46] .IP مقدار پیش‌فرض \fBtc,dpdk\fR است\[char46] در صورتی که برون‌سپاری سخت‌افزاری از قبل فعال شده باشد، تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن خواهد بود\[char46] .IP "\fBother_config : n-offload-threads\fR: رشته اختیاری، شامل یک عدد صحیح، در محدوده 1 تا 10" این مقدار را برابر با تعداد ریسه‌های ایجادشده برای مدیریت برون‌سپاری‌های سخت‌افزاری قرار دهید\[char46] .IP مقدار پیش‌فرض \fB1\fR است\[char46] تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP این گزینه تنها برای مسیر داده فضای کاربری (userspace datapath) و تنها در صورتی که \fBother_config:hw-offload\fR فعال باشد کاربرد دارد\[char46] .IP "\fBother_config : tc-policy\fR: رشته اختیاری، یکی از \fBnone\fR، \fBskip_hw\fR یا \fBskip_sw\fR" سیاست مورداستفاده در برون‌سپاری سخت‌افزاری را مشخص می‌کند\[char46] گزینه‌ها: .RS .TP \fBnone\fR افزودن قاعده نرم‌افزاری و برون‌سپاری قاعده به سخت‌افزار\[char46] .TP \fBskip_sw\fR برون‌سپاری قاعده فقط به سخت‌افزار\[char46] .TP \fBskip_hw\fR افزودن قاعده نرم‌افزاری بدون برون‌سپاری قاعده به سخت‌افزار\[char46] .RE .IP این گزینه تنها زمانی کاربرد دارد که \fBother_config:hw-offload\fR فعال باشد\[char46] .IP مقدار پیش‌فرض \fBnone\fR است\[char46] .IP "\fBother_config : dpdk-init\fR: رشته اختیاری، یکی از \fBfalse\fR، \fBtrue\fR یا \fBtry\fR" تنظیم این مقدار روی \fBtrue\fR یا \fBtry\fR برای فعال‌سازی پشتیبانی زمان اجرا از درگاه‌های DPDK استفاده می‌شود\[char46] سوئیچ مجازی (vswitch) همچنین باید در زمان کامپایل نیز دارای پشتیبانی از DPDK باشد\[char46] .IP مقدار \fBtrue\fR باعث می‌شود در صورت عدم امکان مقداردهی اولیه DPDK، فرایند ovs-vswitchd متوقف (abort) شود\[char46] مقدار \fBtry\fR به فرایند ovs-vswitchd اجازه می‌دهد حتی اگر مقداردهی اولیه DPDK با شکست مواجه شد، به اجرای خود ادامه دهد\[char46] .IP مقدار پیش‌فرض \fBfalse\fR است\[char46] تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP اگر این مقدار در زمان راه‌اندازی \fBfalse\fR باشد، هر درگاه dpdk که روی پل پیکربندی شده باشد به دلیل خطاهای حافظه با شکست مواجه خواهد شد\[char46] .IP "\fBother_config : dpdk-lcore-mask\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" هسته‌های پردازنده‌ای را مشخص می‌کند که ریسه‌های dpdk lcore باید روی آن‌ها ایجاد شوند\[char46] ریسه‌های DPDK lcore برای وظایف کتابخانه DPDK مانند پردازش پیام‌های داخلی کتابخانه، ثبت لاگ و غیره استفاده می‌شوند\[char46] مقدار باید در قالب یک رشته هگزادسیمال (مانند «0x123») مشابه ورودی ماسک «taskset» باشد\[char46] .IP کم‌ارزش‌ترین بیت مربوط به اولین هسته پردازنده است\[char46] بیت تنظیم‌شده (1) به این معنی است که هسته مربوطه در دسترس است و یک ریسه lcore ایجاد شده و به آن متصل (pin) می‌شود\[char46] اگر ورودی تمام هسته‌ها را پوشش ندهد، هسته‌های پوشش‌داده‌نشده به عنوان تنظیم‌نشده در نظر گرفته می‌شوند\[char46] .IP پایین‌ترین هسته تنظیم‌شده در DPDK به عنوان ریسه اصلی (main thread) DPDK تخصیص می‌یابد\[char46] سایر بیت‌های تنظیم‌شده توسط DPDK به عنوان ریسه‌های کارگر (worker threads) تخصیص خواهند یافت\[char46] از آنجا که OVS مدل چندریسمانی خود را برای مسیر داده پیاده‌سازی می‌کند (نگاه کنید به \fBother_config:pmd-cpu-mask\fR)، ریسه‌های کارگر DPDK بی‌استفاده خواهند ماند\[char46] .IP اگر این گزینه مشخص شود، تمامی ریسه‌های اصلی، گرداننده (handler) و اعتبارسنج مجدد (revalidator) OVS به هسته ریسه اصلی انتخابی DPDK متصل خواهند شد\[char46] این بدان معنی است که احتمالاً ریسه‌های بسیاری یک هسته پردازنده منفرد را به اشتراک می‌گذارند که ممکن است به دلایل کارایی مطلوب نباشد\[char46] .IP اگر این گزینه مشخص نشود، مقدار اولیه برای DPDK به صورت خودکار تعیین می‌شود و تمام ریسه‌های اصلی، اعتبارسنج مجدد و گرداننده OVS روی فهرست تمایل پردازنده (cpu affinity) مربوط به OVS شناور خواهند بود\[char46] .IP "\fBother_config : pmd-cpu-mask\fR: رشته اختیاری" ماسک پردازنده را برای تنظیم تمایل پردازنده (affinity) ریسه‌های درایور حالت پولینگ (PMD) مشخص می‌کند\[char46] مقدار باید در قالب یک رشته هگزادسیمال، مشابه گزینه «\-c COREMASK» در EAL کتابخانه dpdk یا ورودی ماسک «taskset» باشد\[char46] .IP کم‌ارزش‌ترین بیت مربوط به نخستین هسته پردازنده است\[char46] بیت تنظیم‌شده به این معنی است که هسته مربوطه در دسترس است و یک ریسه pmd ایجاد شده و به آن متصل می‌شود\[char46] اگر ورودی تمام هسته‌ها را پوشش ندهد، آن هسته‌های پوشش‌داده‌نشده به عنوان تنظیم‌نشده در نظر گرفته می‌شوند\[char46] .IP در صورت مشخص نشدن، به طور پیش‌فرض یک ریسه pmd برای هر گره NUMA ایجاد شده و به یکی از هسته‌های موجود در آن گره NUMA متصل می‌گردد\[char46] .IP "\fBother_config : dpdk-alloc-mem\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" میزان حافظه‌ای را که باید از استخر صفحات بزرگ (hugepage pool) بدون در نظر گرفتن سوکت از پیش تخصیص یابد مشخص می‌کند\[char46] توصیه می‌شود به جای آن از dpdk-socket-mem استفاده شود\[char46] .IP "\fBother_config : dpdk-socket-mem\fR: رشته اختیاری" میزان حافظه‌ای را که باید از استخر صفحات بزرگ (hugepage pool) به تفکیک هر سوکت پردازنده از پیش تخصیص یابد مشخص می‌کند\[char46] .IP مشخص‌کننده رشته‌ای از مقادیر جداشده با کاما به ترتیب صعودی سوکت پردازنده است\[char46] به عنوان مثال، در سیستمی با چهار سوکت، مقدار 1024,0,2048 باعث می‌شود سوکت 0 مقدار 1024 مگابایت، سوکت 1 مقدار 0 مگابایت، سوکت 2 مقدار 2048 مگابایت و سوکت 3 (بدون مقدار ارائه‌شده) مقدار 0 مگابایت از پیش تخصیص دهند\[char46] .IP اگر هیچ‌کدام از \fBother_config:dpdk-socket-mem\fR و \fBother_config:dpdk-alloc-mem\fR مشخص نشوند، هیچ‌یک استفاده نخواهند شد و مقدار پیش‌فرضی برای هر گره NUMA وجود نخواهد داشت\[char46] در عوض از مقادیر پیش‌فرض DPDK استفاده می‌شود\[char46] اگر هر دو گزینه \fBother_config:dpdk-socket-mem\fR و \fBother_config:dpdk-alloc-mem\fR به طور همزمان مشخص شوند، \fBother_config:dpdk-socket-mem\fR به عنوان پیش‌فرض در نظر گرفته می‌شود\[char46] تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : dpdk-socket-limit\fR: رشته اختیاری" حداکثر مقدار حافظه‌ای را که می‌توان از استخر صفحات بزرگ (hugepage) به تفکیک هر سوکت استفاده کرد محدود می‌کند\[char46] .IP مشخص‌کننده فهرستی از محدودیت‌های حافظه به تفکیک سوکت پردازنده است که با کاما از هم جدا شده‌اند\[char46] مقدار \fB0\fR محدودیت را برای یک سوکت خاص غیرفعال می‌کند\[char46] .IP در صورت عدم تعیین، OVS به طور پیش‌فرض هیچ محدودیتی را پیکربندی نمی‌کند\[char46] تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : dpdk-hugepage-dir\fR: رشته اختیاری" مسیر نقطه اتصال (mount point) مربوط به hugetlbfs را مشخص می‌کند\[char46] .IP در صورت عدم تعیین، این مسیر توسط کتابخانه DPDK تخمین زده می‌شود (پیش‌فرض /dev/hugepages است)\[char46] تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : dpdk-probe-at-init\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مشخص می‌کند که آیا DPDK در زمان مقداردهی اولیه باید تمامی دستگاه‌های موجود را پروب (پویش/شناسایی) کند یا خیر\[char46] هنگامی که روی \fBfalse\fR (پیش‌فرض) تنظیم شود، OVS به DPDK دستور می‌دهد از پویش دستگاه‌ها در زمان مقداردهی اولیه صرف‌نظر کند، مگر اینکه \fBother_config:dpdk-extra\fR از قبل حاوی دستگاه‌های مجاز یا مسدودشده باشد\[char46] این گزینه هنگام اعلان درگاه‌های DPDK با استفاده از ساختار نحوی \fBclass=eth,mac=XX:XX:XX:XX:XX:XX\fR الزامی است\[char46] .IP فعال‌سازی این گزینه به معنای مصرف منابع بیشتر است، زیرا ممکن است OVS از تمام دستگاه‌های پویش‌شده استفاده نکند\[char46] همچنین ممکن است عوارض جانبی ناخواسته‌ای مانند مدیریت وقفه‌های اضافی و بررسی‌های وضعیت پیوند (link status) برای دستگاه‌های بی‌استفاده ایجاد کند\[char46] به عنوان مثال، دستگاه‌های mlx5 وضعیت پیوند و زنده‌بودن را با قفل‌گذاری مکرر هسته بررسی می‌کنند، حتی زمانی که OVS تنها از زیرمجموعه‌ای از درگاه‌های موجود استفاده می‌نماید\[char46] .IP توجه داشته باشید که این گزینه زمانی که \fBother_config:dpdk-extra\fR حاوی دستگاه‌های مجاز (\fB\-a\fR یا \fB\-\-allow\fR) یا مسدودشده (\fB\-b\fR یا \fB\-\-block\fR) باشد هیچ اثری ندارد، زیرا DPDK صرف‌نظر از این تنظیم آن مشخصات را رعایت خواهد کرد\[char46] .IP پیش‌فرض \fBfalse\fR است\[char46] .IP "\fBother_config : dpdk-extra\fR: رشته اختیاری" آرگومان‌های خط فرمان اضافی EAL را برای DPDK مشخص می‌کند\[char46] .IP پیش‌فرض خالی است\[char46] تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : vhost-sock-dir\fR: رشته اختیاری" مسیری نسبی از \fBexternal_ids:rundir\fR به فایل‌های سوکت دامنه یونیکس vhost-user مشخص می‌کند\[char46] در صورتی که این مقدار تنظیم نشده باشد، سوکت‌ها مستقیماً در \fBexternal_ids:rundir\fR قرار می‌گیرند\[char46] .IP تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : vhost-iommu-support\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" قابلیت vHost IOMMU یک ویژگی امنیتی است که حافظه vhost قابل دسترسی توسط دستگاه virtio را محدود می‌کند\[char46] پشتیبانی از vHost IOMMU به دلیل وجود یک باگ در پیاده‌سازی‌های QEMU از پروتکل vhost REPLY_ACK (که vHost IOMMU به آن متکی است) در نسخه‌های قبل از 2\[char46]9\[char46]1 به طور پیش‌فرض غیرفعال است\[char46] تنظیم این مقدار روی \fBtrue\fR پشتیبانی از vHost IOMMU را برای درگاه‌های کاربر-کلاینت vHost در OvS-DPDK، از DPDK نسخه 17\[char46]11 به بعد فعال می‌کند\[char46] .IP تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : vhost-postcopy-support\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" قابلیت vHost post-copy ویژگی‌ای است که امکان تغییر مهاجرت زنده (live migration) ماشین مجازی متصل به درگاه dpdkvhostuserclient به حالت post-copy را فراهم می‌آورد در صورتی که مهاجرت پیش‌فرض pre-copy همگرا نشود یا همگرایی آن بیش از حد طول بکشد\[char46] تنظیم این مقدار روی \fBtrue\fR پشتیبانی از vHost post-copy را برای تمامی درگاه‌های dpdkvhostuserclient فعال می‌سازد\[char46] از نسخه DPDK 18\[char46]11 و QEMU 2\[char46]12 به بعد در دسترس است\[char46] .IP تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : per-port-memory\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" به طور پیش‌فرض OVS DPDK از یک مدل حافظه اشتراکی استفاده می‌کند که در آن دستگاه‌هایی با مقادیر MTU و سوکت یکسان می‌توانند از mempool مشترک استفاده نمایند\[char46] تنظیم این مقدار روی \fBtrue\fR این رفتار را تغییر می‌دهد\[char46] حافظه به ازای هر درگاه به دستگاه‌های DPDK اجازه می‌دهد برای هر دستگاه از حافظه خصوصی استفاده کنند\[char46] این کار شفافیت بیشتری در مورد میزان مصرف حافظه فراهم می‌کند اما به قیمت نیاز بالقوه به حافظه بیشتر تمام می‌شود\[char46] .IP اگر dpdk-init از قبل روی true تنظیم شده باشد، تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : shared-mempool-config\fR: رشته اختیاری" پیکربندی mempool اشتراکی dpdk را مشخص می‌کند\[char46] .IP مقدار باید به شکل زیر تنظیم شود: .IP \fBother_config:shared\-mempool\-config=< user\-shared\-mempool\-mtu\-list>\fR .IP که در آن: .IP .RS .IP \(bu ::= NULL | .IP \(bu ::= | , .IP \(bu ::= | .IP \(bu ::= .IP \(bu ::= : .RE .IP اگر dpdk-init از قبل روی true تنظیم شده باشد، تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP "\fBother_config : tx-flush-interval\fR: رشته اختیاری، شامل یک عدد صحیح، در محدوده 0 تا 1,000,000" مدت زمانی را بر حسب میکروثانیه مشخص می‌کند که یک بسته می‌تواند در دسته خروجی (output batch) برای ارسال منتظر بماند؛ یعنی مدت زمانی که بسته می‌تواند در یک صف خروجی میانی قبل از ارسال به netdev سپری کند\[char46] از این گزینه می‌توان برای برقراری تعادل میان پهنای باند گذردهی (throughput) و تأخیر (latency) استفاده کرد\[char46] مقادیر کمتر تأخیر را کاهش می‌دهند در حالی که مقادیر بیشتر ممکن است برای دستیابی به کارایی بالاتر مفید باشند\[char46] .IP پیش‌فرض 0 است، یعنی ارسال فوری بسته (بهینه‌شده برای کمترین تأخیر)\[char46] .IP "\fBother_config : pmd-perf-metrics\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" ثبت معیارهای تفصیلی کارایی درایور حالت پولینگ (PMD) را برای تجزیه و تحلیل و عیب‌یابی فعال می‌کند\[char46] این کار می‌تواند تأثیری در حدود 1% بر کارایی داشته باشد\[char46] .IP پیش‌فرض false است اما در هر زمانی قابل تغییر است\[char46] .IP "\fBother_config : smc-enable\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" حافظه موقت تطابق امضا (Signature Match Cache) یا SMC یک حافظه موقت میان EMC و حافظه موقت مگافلو (megaflow) است\[char46] این حافظه کلید کامل جریان را ذخیره نمی‌کند، بنابراین در مقایسه با حافظه موقت EMC از نظر مصرف حافظه بهینه‌تر است\[char46] حافظه موقت SMC به‌ویژه زمانی مفید است که تعداد جریان‌ها بیشتر از ظرفیت EMC باشد\[char46] .IP پیش‌فرض false است اما در هر زمانی قابل تغییر است\[char46] .IP "\fBother_config : pmd-rxq-assign\fR: رشته اختیاری، یکی از \fBcycles\fR، \fBgroup\fR یا \fBroundrobin\fR" چگونگی تخصیص خودکار صف‌های RX (صف‌های دریافت) را به هسته‌های پردازنده مشخص می‌کند\[char46] گزینه‌ها: .RS .TP \fBcycles\fR صف‌های دریافت (Rxqs) قبل از تخصیص به هسته‌های پردازنده، بر اساس چرخه‌های پردازشی اندازه‌گیری‌شده مرتب می‌شوند\[char46] .TP \fBroundrobin\fR صف‌های دریافت به روش نوبت‌گردشی (round-robin) میان هسته‌های پردازنده توزیع می‌شوند\[char46] .TP \fBgroup\fR صف‌های دریافت بر اساس چرخه‌های پردازشی اندازه‌گیری‌شده مرتب شده و سپس به هسته‌های پردازنده‌ای با کمترین بار تخمینی تخصیص می‌یابند\[char46] .RE .IP مقدار پیش‌فرض \fBcycles\fR است\[char46] .IP تغییر این مقدار بر تخصیص مجدد خودکار صف‌های Rxq به پردازنده‌ها تأثیر می‌گذارد\[char46] توجه: صف‌های Rxq که با \fBpmd\-rxq\-affinity\fR به هسته‌های پردازنده نگاشت شده‌اند، تحت تأثیر قرار نمی‌گیرند\[char46] .IP "\fBother_config : pmd-rxq-isolate\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مشخص می‌کند که آیا یک هسته پردازنده پس از اتصال (pin) به یک صف Rx ایزوله می‌شود یا خیر\[char46] .IP این مقدار را روی \fBfalse\fR تنظیم کنید تا یک هسته پردازنده پس از اتصال به یک Rxq با استفاده از \fBpmd\-rxq\-affinity\fR، از حالت ایزوله خارج شود\[char46] این کار به OVS اجازه می‌دهد سایر صف‌های Rxq را نیز به آن هسته پردازنده تخصیص دهد\[char46] .IP مقدار پیش‌فرض \fBtrue\fR است\[char46] .IP این مقدار تنها زمانی می‌تواند \fBfalse\fR باشد که \fBpmd\-rxq\-assign\fR روی \fBgroup\fR تنظیم شده باشد\[char46] .IP "\fBother_config : n-handler-threads\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" تلاش می‌کند تعداد ریسه‌هایی را که مسیرهای داده نرم‌افزاری برای پردازش جریان‌های جدید استفاده می‌کنند مشخص کند\[char46] برخی از مسیرهای داده ممکن است از این تنظیم صرف‌نظر کرده و آن را بر اساس گزینه معقولی برای نوع مسیر داده تعیین نمایند\[char46] .IP این پیکربندی به ازای هر مسیر داده است\[char46] اگر بیش از یک مسیر داده نرم‌افزاری داشته باشید (به عنوان مثال، تعدادی پل \fBsystem\fR و تعدادی پل \fBnetdev\fR)، در این صورت تعداد کل ریسه‌ها برابر با \fBn\-handler\-threads\fR ضرب در تعداد مسیرهای داده نرم‌افزاری خواهد بود\[char46] .IP "\fBother_config : n-revalidator-threads\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" تلاش می‌کند تعداد ریسه‌هایی را که مسیرهای داده نرم‌افزاری برای اعتبارسنجی مجدد جریان‌ها در مسیر داده استفاده می‌کنند مشخص کند\[char46] برخی از مسیرهای داده ممکن است از این تنظیم صرف‌نظر کرده و آن را بر اساس گزینه‌ای معقول برای نوع مسیر داده تعیین نمایند\[char46] .IP معمولاً یک همبستگی مستقیم میان تعداد ریسه‌های اعتبارسنج مجدد (revalidator threads) و تعداد جریان‌های مجاز در مسیر داده وجود دارد\[char46] مقدار پیش‌فرض برابر با تعداد هسته‌های پردازنده تقسیم بر چهار به علاوه یک است\[char46] اگر \fBn\-handler\-threads\fR تنظیم شده باشد، مقدار پیش‌فرض به تعداد هسته‌های پردازنده منهای تعداد ریسه‌های گرداننده تغییر می‌کند\[char46] .IP این پیکربندی به ازای هر مسیر داده است\[char46] اگر بیش از یک مسیر داده نرم‌افزاری داشته باشید (به عنوان مثال، تعدادی پل \fBsystem\fR و تعدادی پل \fBnetdev\fR)، تعداد کل ریسه‌ها برابر با \fBn\-handler\-threads\fR ضرب در تعداد مسیرهای داده نرم‌افزاری خواهد بود\[char46] .IP "\fBother_config : emc-insert-inv-prob\fR: رشته اختیاری، شامل یک عدد صحیح، در محدوده 0 تا 4,294,967,295" احتمال معکوس (1/emc-insert-inv-prob) درج یک جریان در حافظه موقت تطابق دقیق (EMC - Exact Match Cache) را مشخص می‌کند\[char46] به طور میانگین از هر \fBemc\-insert\-inv\-prob\fR بسته‌ای که یک جریان یکتا ایجاد می‌کنند، یک بسته باعث درج در EMC می‌شود\[char46] مقدار 1 منجر به درج برای هر جریان می‌شود (1/1 = 100%)، در حالی که مقدار صفر به عدم درج و در اصل غیرفعال شدن EMC می‌انجامد\[char46] .IP پیش‌فرض 100 است؛ یعنی شانس درج در EMC برابر با 1% (1/100 =) است\[char46] .IP "\fBother_config : vlan-limit\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" تعداد هدرهای VLAN را که می‌توان تطابق داد به مقدار مشخص‌شده محدود می‌کند\[char46] هدرهای VLAN بعدی به عنوان بار داده (payload) در نظر گرفته می‌شوند؛ برای مثال، بسته‌ای با هدرهای 802\[char46]1q بیشتر، با نوع اترنت 0x8100 تطابق داده خواهد شد\[char46] .IP فضای کاربری Open vSwitch در حال حاضر حداکثر از 2 هدر VLAN پشتیبانی می‌کند و هر مسیر داده حد اختصاصی خود را دارد\[char46] اگر \fBvlan\-limit\fR غیرصفر باشد، به عنوان یک محدودیت اضافی عمل می‌کند\[char46] .IP اگر این مقدار وجود نداشته باشد، پیش‌فرض کنونی 1 است\[char46] این امر سازگاری رو به عقب را با کنترل‌کننده‌هایی که برای استفاده با نسخه‌های Open vSwitch قدیمی‌تر از 2\[char46]8 (که فقط از یک VLAN پشتیبانی می‌کردند) طراحی شده بودند حفظ می‌کند\[char46] .IP "\fBother_config : bundle-idle-timeout\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" حداکثر زمانی (به ثانیه) که دسته‌های (bundles) غیرفعال از زمان باز شدن، تغییر یافتن یا بسته شدن پیش از منقضی شدن منتظر می‌مانند\[char46] .IP مشخصات OpenFlow حکم می‌کند که این مهلت زمانی باید حداقل یک ثانیه باشد\[char46] مقدار پیش‌فرض 10 ثانیه است\[char46] .IP "\fBother_config : offload-rebalance\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" تعادل‌بخشی مجدد برون‌سپاری سخت‌افزاری (HW offload rebalancing) را پیکربندی می‌کند که امکان برون‌سپاری و لغو برون‌سپاری پویای جریان‌ها را در زمان اتمام منابع دستگاه برون‌سپاری (OOR - Out of Resources) فراهم می‌سازد\[char46] این سیاست اجازه می‌دهد جریان‌ها بر اساس نرخ بسته بر ثانیه (pps) برای برون‌سپاری انتخاب شوند\[char46] .IP این مقدار را روی \fBtrue\fR قرار دهید تا این گزینه فعال شود\[char46] .IP مقدار پیش‌فرض \fBfalse\fR است\[char46] تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP این گزینه تنها زمانی کاربرد دارد که برون‌سپاری سخت‌افزاری فعال باشد (hw-offload)\[char46] هنگامی که این سیاست فعال شود، همچنین لازم است مقدار «tc-policy» روی «skip_sw» تنظیم شود\[char46] .IP "\fBother_config : pmd-auto-lb\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" تعادل بار خودکار PMD (درایور حالت پولینگ) را پیکربندی می‌کند که در صورت بار اضافی روی هر یک از PMDها (یعنی چرخه‌های پردازشی > \fBother_config:pmd-auto-lb-load-threshold\fR)، امکان تخصیص خودکار صف‌های RX به PMDها را فراهم می‌سازد\[char46] .IP این قابلیت از طرح جاری تخصیص مبتنی بر چرخه برای صف‌های RX که به صورت ایستا به PMDها متصل نشده‌اند استفاده می‌کند\[char46] .IP مقدار پیش‌فرض \fBfalse\fR است\[char46] .IP این مقدار را روی \fBtrue\fR تنظیم کنید تا این گزینه فعال شود\[char46] این ویژگی در حال حاضر به طور پیش‌فرض غیرفعال و یک قابلیت آزمایشی است\[char46] .IP این گزینه تنها در صورتی اثرگذار است که تخصیص مبتنی بر چرخه فعال باشد و بیش از یک PMD غیریزوله وجود داشته باشد و حداقل یکی از آن‌ها بیش از یک صف را پیمایش (poll) کند\[char46] .IP "\fBother_config : pmd-auto-lb-rebal-interval\fR: رشته اختیاری، شامل یک عدد صحیح، در محدوده 0 تا 20,000" حداقل زمان (به دقیقه) میان ۲ تکرار متوالی تعادل بار خودکار PMD\[char46] .IP مقدار پیش‌فرض 1 دقیقه است\[char46] در صورت تنظیم روی 0، به مقدار پیش‌فرض یعنی 1 دقیقه تبدیل می‌شود\[char46] .IP این گزینه را می‌توان برای جلوگیری از راه‌اندازی مکرر تعادل بار خودکار PMDها پیکربندی کرد؛ به عنوان مثال، مقدار را (به دقیقه) طوری تنظیم کنید که هر چند ساعت یک‌بار، یک‌بار در روز یا یک‌بار در هفته رخ دهد\[char46] .IP "\fBother_config : pmd-auto-lb-load-threshold\fR: رشته اختیاری، شامل یک عدد صحیح، در محدوده 0 تا 100" حداقل آستانه بار ریسه PMD (درصد چرخه‌های مصرف‌شده) هر یک از ریسه‌های PMD غیریزوله را که در آن تعادل بار خودکار PMD ممکن است راه‌اندازی شود مشخص می‌کند\[char46] .IP مقدار پیش‌فرض \fB95%\fR است\[char46] .IP "\fBother_config : pmd-auto-lb-improvement-threshold\fR: رشته اختیاری، شامل یک عدد صحیح، در محدوده 0 تا 100" حداقل درصد بهبود ارزیابی‌شده در توزیع بار میان ریسه‌های PMD غیریزوله را که اجازه وقوع تعادل بار خودکار PMD را می‌دهد مشخص می‌کند\[char46] .IP توجه داشته باشید که تنظیم این پارامتر روی 0 باعث می‌شود صرف‌نظر از اینکه بهبود تخمینی وجود داشته باشد یا خیر، تعادل بار خودکار همیشه مجاز به اجرا باشد\[char46] .IP مقدار پیش‌فرض \fB25%\fR است\[char46] .IP "\fBother_config : pmd-sleep-max\fR: رشته اختیاری" حداکثر زمان خواب درخواستی را به میکروثانیه در هر تکرار برای یک ریسه PMD که صفر یا تعداد کمی بسته از صف‌های Rx در حال پیمایش خود دریافت کرده است مشخص می‌کند\[char46] .IP زمان خواب درخواستی واقعی بر اساس بار صف‌های Rx که PMD پیمایش می‌کند تعیین می‌شود و ممکن است کمتر از مقدار حداکثر باشد\[char46] .IP مقدار پیش‌فرض \fB0 میکروثانیه\fR است، به این معنی که PMD صرف‌نظر از بار صف‌های Rx که پیمایش می‌کند، به خواب نخواهد رفت\[char46] .IP حداکثر مقدار \fB10000 میکروثانیه\fR است\[char46] .IP \fBother_config:pmd\-sleep\-max=\fR .IP که در آن: .IP .RS .IP \(bu ::= NULL | .IP \(bu ::= | , .IP \(bu ::= | .IP \(bu ::= .IP \(bu ::= : .RE .IP "\fBother_config : userspace-tso-enable\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" این مقدار را روی \fBtrue\fR قرار دهید تا پشتیبانی فضای کاربری از برون‌سپاری قطعه‌بندی تی‌سی‌پی (TCP Segmentation Offloading یا TSO) فعال شود\[char46] وقتی این ویژگی فعال باشد، رابط‌ها می‌توانند قطعه TCP بزرگتر از اندازه معمول را در اختیار مسیر داده قرار دهند و مسیر داده در صورت لزوم قطعه‌بندی TCP و محاسبه چکسام (checksum) را به رابط‌ها برون‌سپاری خواهد کرد\[char46] .IP مقدار پیش‌فرض \fBfalse\fR است\[char46] تغییر این مقدار نیازمند راه‌اندازی مجدد دیمن است\[char46] .IP این قابلیت تنها در صورتی کار می‌کند که Open vSwitch با پشتیبانی از DPDK ساخته شده باشد\[char46] .IP این قابلیت آزمایشی تلقی می‌شود\[char46] .IP "\fBother_config : explicit-sampled-drops\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" هنگامی که یک جریان در مسیر داده با فهرست عملیات خالی نصب می‌شود، نشان‌دهنده یک اقدام انداختن (drop) ضمنی است\[char46] بیشتر مسیرهای داده این رویداد را برای آمارگیری و نظارت (به روش‌های ویژه هر مسیر داده) گزارش می‌کنند\[char46] .IP با این حال، اگر هر یک از قابلیت‌های نمونه‌برداری به ازای هر پل یا به ازای هر جریان فعال باشند (مانند: sFlow، IPFIX یا نمونه‌برداری محلی)، ممکن است فهرست عملیات خالی نباشد بلکه حاوی اقدامی برای پیاده‌سازی این قابلیت باشد\[char46] این موضوع باعث می‌شود که مسیرهای داده، انداختن بسته را گزارش نکنند\[char46] .IP این تنظیم باعث می‌شود Open vSwitch تشخیص دهد که آیا آخرین اقدام مسیر داده ناشی از این قابلیت‌های نمونه‌برداری است یا خیر، و یک اقدام انداختن صریح در انتها اضافه کند تا آمار بسته‌های انداخته‌شده دقیق باقی بماند\[char46] .IP مقدار پیش‌فرض \fBfalse\fR است\[char46] .ST "وضعیت (Status):" .PP .IP "\fBnext_cfg\fR: عدد صحیح" شماره ترتیبی (Sequence number) برای افزایش توسط کلاینت\[char46] وقتی کلاینت بخشی از پیکربندی پایگاه‌داده را تغییر می‌دهد و مایل است منتظر بماند تا Open vSwitch اعمال تغییرات را به پایان برساند، می‌تواند این شماره ترتیبی را افزایش دهد\[char46] .IP "\fBcur_cfg\fR: عدد صحیح" شماره ترتیبی که Open vSwitch پس از پایان اعمال مجموعه‌ای از تغییرات پیکربندی، آن را برابر با مقدار جاری \fBnext_cfg\fR قرار می‌دهد\[char46] .IP "\fBdpdk_initialized\fR: بولی (boolean)" در صورتی که \fBother_config:dpdk-init\fR روی true تنظیم شده باشد و کتابخانه DPDK با موفقیت مقداردهی اولیه شده باشد، مقدار آن True است\[char46] .ST "آمار (Statistics):" .PP .PP .PP ستون \fBstatistics\fR شامل جفت‌های کلید-مقداری است که آمارهای سیستمی را که Open vSwitch روی آن اجرا می‌شود گزارش می‌دهند\[char46] این مقادیر به صورت دوره‌ای (در حال حاضر، هر ۵ ثانیه یک‌بار) به‌روزرسانی می‌شوند\[char46] جفت‌های کلید-مقداری که قابل تشخیص نیستند یا برای یک پلتفرم خاص کاربرد ندارند حذف می‌شوند\[char46] .IP "\fBother_config : enable-statistics\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" آمارها به طور پیش‌فرض غیرفعال هستند تا از سربار اضافی در شرایط معمول که جمع‌آوری آمار سودی ندارد جلوگیری شود\[char46] این مقدار را روی \fBtrue\fR تنظیم کنید تا پر کردن ستون \fBstatistics\fR فعال شود یا روی \fBfalse\fR تا به طور صریح غیرفعال گردد\[char46] .IP "\fBstatistics : cpu\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" تعداد پردازنده‌ها، ریسه‌ها یا هسته‌های پردازنده (CPU) که در حال حاضر آنلاین و در دسترس سیستم‌عاملی هستند که Open vSwitch روی آن اجرا می‌شود، به عنوان یک عدد صحیح\[char46] این مقدار ممکن است کمتر از تعداد نصب‌شده باشد، در صورتی که برخی از آن‌ها آنلاین نباشند یا در دسترس سیستم‌عامل قرار نگرفته باشند\[char46] .IP "\fBstatistics : load_average\fR: رشته اختیاری" فهرستی جداشده با کاما از سه عدد ممیز شناور که میانگین بار سیستم (load average) را به ترتیب در ۱، ۵ و ۱۵ دقیقه گذشته نشان می‌دهند\[char46] .IP "\fBstatistics : memory\fR: رشته اختیاری" فهرستی جداشده با کاما از اعداد صحیح که هر کدام نشان‌دهنده مقداری از حافظه بر حسب کیلوبایت هستند که سیستم‌عامل میزبان Open vSwitch را توصیف می‌کنند\[char46] به ترتیب، این مقادیر عبارتند از: .RS .IP 1. .4in کل مقدار رم (RAM) تخصیص‌یافته به سیستم‌عامل\[char46] .IP 2. .4in مقدار رم تخصیص‌یافته به سیستم‌عامل که در حال استفاده است\[char46] .IP 3. .4in مقدار رَمی که در صورت نیاز به آن فضا برای منظوری دیگر، می‌تواند روی دیسک تخلیه شده یا به هر نحو دیگری آزاد شود\[char46] این عدد الزاماً کمتر یا مساوی با مقدار قبلی است\[char46] .IP 4. .4in کل فضای دیسک تخصیص‌یافته برای حافظه مجازی تعویض (swap)\[char46] .IP 5. .4in فضای swap که در حال حاضر استفاده می‌شود\[char46] .RE .IP در لینوکس، هر پنج مقدار قابل تعیین هستند و گنجانده می‌شوند\[char46] در سایر سیستم‌های عامل، تنها دو مقدار اول قابل تعیین هستند، بنابراین فهرست تنها شامل دو مقدار خواهد بود\[char46] .IP "\fBstatistics : process_NAME\fR: رشته اختیاری" یک چنین جفت کلید-مقداری، با جایگزینی \fBNAME\fR با نام فرایند، برای هر یک از فرایندهای دیمن در حال اجرای Open vSwitch وجود خواهد داشت که در آن \fIname\fR با نام دیمن جایگزین می‌شود (مانند \fBprocess_ovs\-vswitchd\fR)\[char46] مقدار آن فهرستی جداشده با کاما از اعداد صحیح است\[char46] این اعداد صحیح نشان‌دهنده موارد زیر هستند که در آن‌ها حافظه با کیلوبایت و مدت‌زمان‌ها با میلی‌ثانیه سنجیده می‌شوند: .RS .IP 1. .4in اندازه حافظه مجازی (virtual memory size) فرایند\[char46] .IP 2. .4in اندازه مقیم در حافظه (resident set size) فرایند\[char46] .IP 3. .4in میزان زمان پردازنده مصرف‌شده توسط کاربر و سیستم برای این فرایند\[char46] .IP 4. .4in تعداد دفعاتی که فرایند دچار کرش شده و به طور خودکار توسط ناظر (monitor) بازراه‌اندازی شده است\[char46] .IP 5. .4in مدت‌زمان سپری‌شده از زمان شروع فرایند\[char46] .IP 6. .4in مدت‌زمانی که فرایند به طور پیوسته در حال اجرا بوده است\[char46] .RE .IP تفسیر برخی از این مقادیر بستگی به این دارد که آیا فرایند با گزینه \fB\-\-monitor\fR راه‌اندازی شده است یا خیر\[char46] اگر بدون آن راه‌اندازی شده باشد، شمارنده کرش همواره 0 خواهد بود و دو مدت‌زمان ذکرشده همواره یکسان خواهند بود\[char46] اگر \fB\-\-monitor\fR داده شده باشد، شمارنده کرش ممکن است مثبت باشد؛ در این حالت، مدت‌زمان دوم نشان‌دهنده مدت‌زمان سپری‌شده پس از آخرین کرش و راه‌اندازی مجدد است\[char46] .IP برای هر فایل در «دایرکتوری اجرای» Open vSwitch (معمولاً \fB/var/run/openvswitch\fR) که نام آن به \fB\[char46]pid\fR ختم می‌شود، محتوای آن شناسه فرایند (PID) است و توسط یک فرایند در حال اجرا قفل شده است، یک جفت کلید-مقدار وجود خواهد داشت\[char46] نام \fIname\fR از نام همان فایل pid گرفته می‌شود\[char46] .IP در حال حاضر Open vSwitch تنها در سیستم‌های لینوکس قادر است تمام جزئیات فوق را به دست آورد\[char46] در سایر سیستم‌ها، همان جفت‌های کلید-مقدار حضور خواهند داشت اما مقادیر آن‌ها همیشه رشته‌ای خالی خواهد بود\[char46] .IP "\fBstatistics : file_systems\fR: رشته اختیاری" فهرستی جداشده با فاصله از اطلاعات مربوط به سیستم‌فایل‌های محلی و قابل نوشتن\[char46] هر مورد در این فهرست یک سیستم‌فایل را توصیف می‌کند و به نوبه خود شامل فهرستی جداشده با کاما از موارد زیر است: .RS .IP 1. .4in نقطه اتصال (Mount point)، به عنوان مثال \fB/\fR یا \fB/var/log\fR\[char46] هرگونه فاصله یا کاما در نقطه اتصال با زیرخط (underscore) جایگزین می‌شود\[char46] .IP 2. .4in حجم کل، به کیلوبایت، به صورت یک عدد صحیح\[char46] .IP 3. .4in مقدار فضای ذخیره‌سازی در حال استفاده، به کیلوبایت، به صورت یک عدد صحیح\[char46] .RE .IP اگر هیچ سیستم‌فایل محلی و قابل نوشتنی وجود نداشته باشد یا Open vSwitch نتواند اطلاعات مورد نیاز را به دست آورد، این جفت کلید-مقدار حذف می‌شود\[char46] .ST "گزارش نسخه (Version Reporting):" .PP .PP .PP این ستون‌ها نوع و نسخه سخت‌افزار و نرم‌افزار میزبان اجرای Open vSwitch را گزارش می‌دهند\[char46] ما به طور کلی توصیه می‌کنیم نرم‌افزارها به جای تکیه بر بررسی شماره نسخه، پشتیبانی از ویژگی‌های خاص را بررسی کنند\[char46] این مقادیر در درجه اول برای گزارش به مدیران انسانی در نظر گرفته شده‌اند\[char46] .IP "\fBovs_version\fR: رشته اختیاری" شماره نسخه Open vSwitch، به عنوان مثال \fB1\[char46]1\[char46]0\fR\[char46] .IP "\fBdb_version\fR: رشته اختیاری" شماره نسخه طرح‌واره (schema) پایگاه‌داده، به عنوان مثال \fB1\[char46]2\[char46]3\fR\[char46] برای توضیحات درباره طرح شماره‌گذاری به ovsdb-tool(1) مراجعه کنید\[char46] .IP نسخه طرح‌واره بخشی از طرح‌واره پایگاه‌داده است، بنابراین می‌توان آن را با واکشی طرح‌واره از طریق پروتکل پایگاه‌داده Open vSwitch نیز به دست آورد\[char46] .IP "\fBsystem_type\fR: رشته اختیاری" شناسه‌ای برای نوع سیستمی که Open vSwitch روی آن اجرا می‌شود، به عنوان مثال \fBKVM\fR\[char46] .IP یکپارچه‌سازان سیستم مسئول انتخاب و تنظیم مقدار مناسب برای این ستون هستند\[char46] .IP "\fBsystem_version\fR: رشته اختیاری" نسخه سیستمی که با \fBsystem_type\fR مشخص شده است، به عنوان مثال \fB4\[char46]18\[char46]0\-372\[char46]19\[char46]1\[char46]el8_6\fR روی RHEL 8\[char46]6 با هسته لینوکس 4\[char46]18\[char46]0\-372\[char46]19\[char46]1\[char46] .IP یکپارچه‌سازان سیستم مسئول انتخاب و تنظیم مقدار مناسب برای این ستون هستند\[char46] .IP "\fBdpdk_version\fR: رشته اختیاری" نسخه کتابخانه لینک‌شده DPDK\[char46] .ST "قابلیت‌ها (Capabilities):" .PP .PP .PP این ستون‌ها قابلیت‌های نمونه (instance) فعال Open vSwitch را گزارش می‌دهند\[char46] .IP "\fBdatapath_types\fR: مجموعه‌ای از رشته‌ها" این ستون dpifهای مختلف ثبت‌شده در سیستم را گزارش می‌دهد\[char46] این‌ها مقادیری هستند که این نمونه در ستون \fBdatapath_type\fR از جدول \fBBridge\fR پشتیبانی می‌کند\[char46] .IP "\fBiface_types\fR: مجموعه‌ای از رشته‌ها" این ستون netdevهای مختلف ثبت‌شده در سیستم را گزارش می‌دهد\[char46] این‌ها مقادیری هستند که این نمونه در ستون \fBtype\fR از جدول \fBInterface\fR پشتیبانی می‌کند\[char46] .ST "پیکربندی پایگاه‌داده (Database Configuration):" .PP .PP .PP این ستون‌ها در درجه اول پایگاه‌داده Open vSwitch (\fBovsdb\-server\fR) را پیکربندی می‌کنند، نه سوئیچ Open vSwitch (\fBovs\-vswitchd\fR) را\[char46] پایگاه‌داده OVSDB همچنین از تنظیمات \fBssl\fR استفاده می‌کند\[char46] .PP .PP سوئیچ Open vSwitch پیکربندی پایگاه‌داده را می‌خواند تا آدرس‌های IP راه دور را که کنترل درون‌باندی (in-band control) باید روی آن‌ها اعمال شود تعیین کند\[char46] .IP "\fBmanager_options\fR: مجموعه‌ای از \fBManager\fRها" کلاینت‌های پایگاه‌داده که سرور پایگاه‌داده Open vSwitch باید به آن‌ها متصل شود یا به آن‌ها گوش فرا دهد، همراه با گزینه‌هایی برای نحوه پیکربندی این اتصالات\[char46] برای اطلاعات بیشتر جدول \fBManager\fR را ببینید\[char46] .IP برای اینکه این ستون به هدف خود برسد، \fBovsdb\-server\fR باید طوری پیکربندی شود که به آن توجه کند\[char46] ساده‌ترین راه برای انجام این کار، اجرای \fBovsdb\-server\fR با گزینه \fB\-\-remote=db:Open_vSwitch,Open_vSwitch,manager_options\fR است\[char46] اسکریپت‌های راه‌اندازی ارائه‌شده همراه با Open vSwitch این کار را به طور پیش‌فرض انجام می‌دهند\[char46] .ST "آی‌پی‌سک (IPsec):" .PP .PP .PP این تنظیمات، پیکربندی سراسری تونل‌های IPsec را کنترل می‌کنند\[char46] ستون \fBoptions\fR در جدول \fBInterface\fR، آی‌پی‌سک را برای تک‌تک تونل‌ها پیکربندی می‌کند\[char46] ستون \fBoptions\fR همچنین امکان انتقال گزینه‌های سفارشی با پیشوند \fBipsec_\fR را به اتصالات جداگانه فراهم می‌سازد\[char46] .PP .PP بخش IPsec در OVS از سه روش احراز هویت زیر پشتیبانی می‌کند\[char46] در حال حاضر، تمام تونل‌های IPsec باید از یک روش مشابه استفاده کنند: .RS .IP 1. .4in کلیدهای از پیش به اشتراک گذاشته‌شده (Pre-shared keys): صرف‌نظر کردن از تنظیمات سراسری\[char46] در هر تونل، مقدار \fBoptions:psk\fR را تنظیم کنید\[char46] .IP 2. .4in گواهی‌های خودامضا (Self-signed certificates): مقادیر سراسری \fBprivate_key\fR و \fBcertificate\fR را تنظیم کنید\[char46] در هر تونل، مقدار \fBoptions:remote_cert\fR را تنظیم کنید\[char46] گواهی راه دور می‌تواند خودامضا باشد\[char46] .IP 3. .4in گواهی‌های امضاشده توسط مراجع صدور گواهی (CA-signed certificates): تمامی تنظیمات سراسری را تنظیم کنید\[char46] در هر تونل، \fBoptions:remote_name\fR را روی نام عمومی (CN) گواهی راه دور تنظیم کنید\[char46] گواهی راه دور باید توسط CA امضا شده باشد\[char46] .RE .IP "\fBother_config : private_key\fR: رشته اختیاری" نام یک فایل PEM حاوی کلید خصوصی که به عنوان هویت سوئیچ برای تونل‌های IPsec استفاده می‌شود\[char46] .IP "\fBother_config : certificate\fR: رشته اختیاری" نام یک فایل PEM حاوی گواهی‌ای که کلید خصوصی سوئیچ را تأیید می‌کند و یک سوئیچ قابل اعتماد را برای تونل‌های IPsec مشخص می‌سازد\[char46] این گواهی باید از نوع x\[char46]509 نسخه 3 بوده و رشته موجود در نام عمومی (CN) آن در نام جایگزین موضوع (SAN) نیز تنظیم شده باشد\[char46] .IP "\fBother_config : ca_cert\fR: رشته اختیاری" نام یک فایل PEM حاوی گواهی CA که برای تأیید قابل اعتماد بودن سوئیچ راه دور تونل IPsec استفاده می‌شود\[char46] .ST "سیاست تونل متن‌آشکار (Plaintext Tunnel Policy):" .PP .PP .PP هنگامی که یک تونل IPsec در این پایگاه‌داده پیکربندی می‌شود، چندین جزء مستقل مسئولیت پیاده‌سازی آن را بر عهده می‌گیرند\[char46] دیمن \fBovs\-vswitchd\fR و مسیر داده (datapath) آن ارسال بسته به تونل را مدیریت می‌کنند و یک دیمن جداگانه پیکربندی سیاست IPsec تونل را به هسته لینوکس یا موجودیت دیگری که آن را پیاده‌سازی می‌کند ارسال می‌نماید\[char46] در اینجا شرایط مسابقه (race condition) وجود دارد: اگر پیکربندی اولیه پیش از پیکربندی دومی تکمیل شود، بسته‌های ارسال‌شده توسط میزبان محلی از طریق تونل ممکن است به صورت متن‌آشکار (plaintext) مخابره شوند\[char46] با استفاده از این تنظیم، کاربران OVS می‌توانند از این وضعیت نامطلوب جلوگیری کنند\[char46] .IP "\fBother_config : ipsec_skb_mark\fR: رشته اختیاری" این تنظیم به شکل \fB\fIvalue\fB/\fImask\fB\fR است\[char46] اگر مشخص شود، فیلد \fBskb_mark\fR در هر بسته تونل‌شده خروجی که به صورت متن‌آشکار ارسال می‌شود با آن مقایسه می‌گردد و در صورت تطابق، بسته دور انداخته (drop) می‌شود\[char46] این یک تنظیم سراسری است که برای هر بسته تونل‌شده اعمال می‌شود، صرف‌نظر از اینکه رمزنگاری IPsec برای تونل فعال باشد یا خیر، نوع تونل چه باشد یا اینکه آیا OVS در آن دخیل است یا خیر\[char46] .IP نمونه سیاست‌ها: .RS .TP \fB1/1\fR انداختن تمام بسته‌های تونل‌شده رمزنگاری‌نشده که کم‌ارزش‌ترین بیت \fBskb_mark\fR در آن‌ها 1 است\[char46] این یک سیاست مفید با فرض وجود جدول جریان OpenFlow است که \fBskb_mark\fR را برای ترافیکی که باید رمزنگاری شود روی 1 تنظیم می‌کند\[char46] مقدار پیش‌فرض \fBskb_mark\fR برابر با 0 است، بنابراین این امر بر سایر ترافیک‌ها تأثیری نخواهد گذاشت\[char46] .TP \fB0/1\fR انداختن تمام بسته‌های تونل‌شده رمزنگاری‌نشده که کم‌ارزش‌ترین بیت \fBskb_mark\fR در آن‌ها 0 است\[char46] این سیاست زمانی مفید خواهد بود که هیچ ترافیک تونل‌شده رمزنگاری‌نشده‌ای نباید بدون مجوز ویژه با تنظیم \fBskb_mark\fR روی 1 از سیستم خارج شود\[char46] .TP (خالی) اگر این تنظیم خالی باشد یا مقداردهی نشده باشد، در این صورت تمام بسته‌های تونل‌شده رمزنگاری‌نشده به شیوه معمول منتقل می‌شوند\[char46] .RE .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBother_config\fR: نگاشتی از جفت‌های رشته-رشته" .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته" .bp .SH "جدول Bridge (Bridge TABLE)" .PP .PP .PP پیکربندی برای یک پل (bridge) درون یک \fBOpen_vSwitch\fR\[char46] .PP .PP یک رکورد \fBBridge\fR نمایانگر یک سوییچ اترنت با یک یا چند «پورت» است، که همان رکوردهای \fBPort\fR هستند که ستون \fBports\fR در \fBBridge\fR به آن‌ها اشاره می‌کند\[char46] .SS "چکیده (Summary): .TQ .25in \fIویژگی‌های اصلی (Core Features):\fR .RS .25in .TQ 2.75in \fBname\fR رشته تغییرناپذیر (باید در جدول یکتا باشد) .TQ 2.75in \fBports\fR مجموعه‌ای از \fBPort\fRها .TQ 2.75in \fBmirrors\fR مجموعه‌ای از \fBMirror\fRها .TQ 2.75in \fBnetflow\fR \fBNetFlow\fR اختیاری .TQ 2.75in \fBsflow\fR \fBsFlow\fR اختیاری .TQ 2.75in \fBipfix\fR \fBIPFIX\fR اختیاری .TQ 2.75in \fBflood_vlans\fR مجموعه‌ای از حداکثر ۴٬۰۹۶ عدد صحیح، در محدوده ۰ تا ۴٬۰۹۵ .TQ 2.75in \fBauto_attach\fR \fBAutoAttach\fR اختیاری .RE .TQ .25in \fIپیکربندی OpenFlow (OpenFlow Configuration):\fR .RS .25in .TQ 2.75in \fBcontroller\fR مجموعه‌ای از \fBController\fRها .TQ 2.75in \fBflow_tables\fR نگاشتی از جفت‌های عدد صحیح\-\fBFlow_Table\fR، کلید در محدوده ۰ تا ۲۵۴ .TQ 2.75in \fBfail_mode\fR رشته اختیاری، یا \fBsecure\fR یا \fBstandalone\fR .TQ 2.75in \fBdatapath_id\fR رشته اختیاری .TQ 2.75in \fBdatapath_version\fR رشته .TQ 2.75in \fBother_config : datapath-id\fR رشته اختیاری .TQ 2.75in \fBother_config : dp-desc\fR رشته اختیاری .TQ 2.75in \fBother_config : dp-sn\fR رشته اختیاری .TQ 2.75in \fBother_config : disable-in-band\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : in-band-queue\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.75in \fBother_config : controller-queue-size\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۱ تا ۵۱۲ .TQ 2.75in \fBprotocols\fR مجموعه‌ای از رشته‌ها، یکی از \fBOpenFlow10\fR، \fBOpenFlow11\fR، \fBOpenFlow12\fR، \fBOpenFlow13\fR، \fBOpenFlow14\fR یا \fBOpenFlow15\fR .RE .TQ .25in \fIپیکربندی درخت پوشا (Spanning Tree Configuration):\fR .RS .25in .TQ .25in \fIپیکربندی STP (STP Configuration):\fR .RS .25in .TQ 2.50in \fBstp_enable\fR بولی (boolean) .TQ 2.50in \fBother_config : stp-system-id\fR رشته اختیاری .TQ 2.50in \fBother_config : stp-priority\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۶۵٬۵۳۵ .TQ 2.50in \fBother_config : stp-hello-time\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۱ تا ۱۰ .TQ 2.50in \fBother_config : stp-max-age\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۶ تا ۴۰ .TQ 2.50in \fBother_config : stp-forward-delay\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۴ تا ۳۰ .TQ 2.50in \fBother_config : mcast-snooping-aging-time\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .TQ 2.50in \fBother_config : mcast-snooping-table-size\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .TQ 2.50in \fBother_config : mcast-snooping-disable-flood-unregistered\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIوضعیت STP (STP Status):\fR .RS .25in .TQ 2.50in \fBstatus : stp_bridge_id\fR رشته اختیاری .TQ 2.50in \fBstatus : stp_designated_root\fR رشته اختیاری .TQ 2.50in \fBstatus : stp_root_path_cost\fR رشته اختیاری .RE .RE .TQ .25in \fIدرخت پوشای سریع (Rapid Spanning Tree):\fR .RS .25in .TQ .25in \fIپیکربندی RSTP (RSTP Configuration):\fR .RS .25in .TQ 2.50in \fBrstp_enable\fR بولی (boolean) .TQ 2.50in \fBother_config : rstp-address\fR رشته اختیاری .TQ 2.50in \fBother_config : rstp-priority\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۶۱٬۴۴۰ .TQ 2.50in \fBother_config : rstp-ageing-time\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۱۰ تا ۱٬۰۰۰٬۰۰۰ .TQ 2.50in \fBother_config : rstp-force-protocol-version\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.50in \fBother_config : rstp-max-age\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۶ تا ۴۰ .TQ 2.50in \fBother_config : rstp-forward-delay\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۴ تا ۳۰ .TQ 2.50in \fBother_config : rstp-transmit-hold-count\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۱ تا ۱۰ .RE .TQ .25in \fIوضعیت RSTP (RSTP Status):\fR .RS .25in .TQ 2.50in \fBrstp_status : rstp_bridge_id\fR رشته اختیاری .TQ 2.50in \fBrstp_status : rstp_root_id\fR رشته اختیاری .TQ 2.50in \fBrstp_status : rstp_root_path_cost\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.50in \fBrstp_status : rstp_designated_id\fR رشته اختیاری .TQ 2.50in \fBrstp_status : rstp_designated_port_id\fR رشته اختیاری .TQ 2.50in \fBrstp_status : rstp_bridge_port_id\fR رشته اختیاری .RE .RE .TQ .25in \fIپیکربندی اسنوپینگ چندپخشی (Multicast Snooping Configuration):\fR .RS .25in .TQ 2.75in \fBmcast_snooping_enable\fR بولی (boolean) .RE .TQ .25in \fIسایر ویژگی‌ها (Other Features):\fR .RS .25in .TQ 2.75in \fBdatapath_type\fR رشته .TQ 2.75in \fBexternal_ids : bridge-id\fR رشته اختیاری .TQ 2.75in \fBother_config : hwaddr\fR رشته اختیاری .TQ 2.75in \fBother_config : forward-bpdu\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : mac-aging-time\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .TQ 2.75in \fBother_config : mac-table-size\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۱ .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBother_config\fR نگاشتی از جفت‌های رشته-رشته .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details): .ST "ویژگی‌های اصلی (Core Features):" .PP .IP "\fBname\fR: immutable string (must be unique within table)" شناسه پل\[char46] باید در میان نام پورت‌ها، رابط‌ها و پل‌های روی یک میزبان یکتا باشد\[char46] .IP نام باید الفبایی\-عددی باشد و نباید شامل اسلش رو به جلو یا رو به عقب باشد\[char46] نام پل همچنین نام یک \fBInterface\fR (و یک \fBPort\fR) درون پل است، بنابراین محدودیت‌های ستون \fBname\fR در جدول \fBInterface\fR، به‌ویژه در مورد طول، برای نام‌های پل نیز اعمال می‌شود\[char46] برای جزئیات به مستندات نام‌های \fBInterface\fR مراجعه کنید\[char46] .IP "\fBports\fR: set of \fBPort\fRs" پورت‌های گنجانده‌شده در پل\[char46] .IP "\fBmirrors\fR: set of \fBMirror\fRs" پیکربندی آینه‌سازی پورت (Port mirroring)\[char46] .IP "\fBnetflow\fR: optional \fBNetFlow\fR" پیکربندی NetFlow\[char46] .IP "\fBsflow\fR: optional \fBsFlow\fR" پیکربندی sFlow(R)\[char46] .IP "\fBipfix\fR: optional \fBIPFIX\fR" پیکربندی IPFIX\[char46] .IP "\fBflood_vlans\fR: set of up to 4,096 integers, in range 0 to 4,095" شناسه‌های VLAN مربوط به VLANهایی که یادگیری آدرس MAC روی آن‌ها باید غیرفعال شود، تا بسته‌ها به‌جای ارسال به پورت‌های خاصی که تصور می‌شود حاوی MAC مقصد بسته‌ها هستند، به صورت سیلابی (flood) ارسال شوند\[char46] این گزینه معمولاً باید برای غیرفعال کردن یادگیری MAC در VLANهای مورد استفاده برای آینه‌سازی (RSPAN VLANها) استفاده شود\[char46] همچنین ممکن است برای اشکال‌زدایی مفید باشد\[char46] .IP پیوند SLB (به ستون \fBbond_mode\fR در جدول \fBPort\fR مراجعه کنید) با \fBflood_vlans\fR ناسازگار است\[char46] استفاده از حالت پیوند دیگر یا نوع متفاوتی از آینه‌سازی را در نظر بگیرید\[char46] .IP "\fBauto_attach\fR: optional \fBAutoAttach\fR" پیکربندی اتصال خودکار (Auto Attach)\[char46] .ST "پیکربندی OpenFlow (OpenFlow Configuration):" .PP .IP "\fBcontroller\fR: set of \fBController\fRs" مجموعه کنترل‌کننده‌های OpenFlow\[char46] اگر تنظیم نشود، هیچ کنترل‌کننده OpenFlow استفاده نخواهد شد\[char46] .IP اگر کنترل‌کننده‌های اصلی وجود داشته باشند، حذف همه آن‌ها جدول‌های جریان، جدول گروه و جدول سنجش (meter table) مربوط به OpenFlow را پاک می‌کند\[char46] اگر کنترل‌کننده اصلی وجود نداشته باشد، افزودن یکی نیز این جدول‌ها را پاک می‌کند\[char46] سایر تغییرات در مجموعه کنترل‌کننده‌ها، مانند افزودن یا حذف یک کنترل‌کننده سرویس، افزودن یک کنترل‌کننده اصلی دیگر برای تکمیل کنترل‌کننده اصلی موجود، یا حذف تنها یکی از دو کنترل‌کننده اصلی، تأثیری بر این جدول‌ها ندارد\[char46] .IP "\fBflow_tables\fR: map of integer-\fBFlow_Table\fR pairs, key in range 0 to 254" پیکربندی برای جدول‌های OpenFlow\[char46] هر جفت از یک شناسه جدول OpenFlow به پیکربندی آن جدول نگاشت می‌شود\[char46] .IP "\fBfail_mode\fR: optional string, either \fBsecure\fR or \fBstandalone\fR" هنگامی که یک کنترل‌کننده پیکربندی می‌شود، معمولاً مسئول برپایی تمام جریان‌ها روی سوییچ است\[char46] بنابراین، اگر اتصال به کنترل‌کننده قطع شود، هیچ اتصال شبکه جدیدی قابل برپایی نیست\[char46] اگر قطعی اتصال به کنترل‌کننده به اندازه کافی طول بکشد، هیچ بسته‌ای اصلاً نمی‌تواند از سوییچ عبور کند\[char46] این تنظیم واکنش سوییچ به چنین وضعیتی را تعیین می‌کند\[char46] ممکن است روی یکی از مقادیر زیر تنظیم شود: .RS .TP \fBstandalone\fR اگر به مدت سه برابر بازه کاوش عدم‌فعالیت (به \fBinactivity_probe\fR مراجعه کنید) پیامی از کنترل‌کننده دریافت نشود، Open vSwitch مسئولیت برپایی جریان‌ها را بر عهده خواهد گرفت\[char46] در این حالت، Open vSwitch باعث می‌شود پل مانند یک سوییچ معمولی یادگیرنده MAC عمل کند\[char46] Open vSwitch در پس‌زمینه به تلاش مجدد برای اتصال به کنترل‌کننده ادامه می‌دهد و هنگامی که اتصال موفق شد، رفتار مستقل خود را متوقف می‌کند\[char46] .TP \fBsecure\fR هنگامی که اتصال کنترل‌کننده قطع شود یا هیچ کنترل‌کننده‌ای تعریف نشده باشد، Open vSwitch به خودی خود جریانی برقرار نمی‌کند\[char46] پل تا ابد به تلاش مجدد برای اتصال به کنترل‌کننده‌های تعریف‌شده ادامه می‌دهد\[char46] .RE .IP در صورتی که مقدار تنظیم نشده باشد، مقدار پیش‌فرض \fBstandalone\fR است، اما نسخه‌های آینده Open vSwitch ممکن است این پیش‌فرض را تغییر دهند\[char46] .IP حالت \fBstandalone\fR می‌تواند روی پلی که بیش از یک پورت آپ‌لینک دارد حلقه‌های بازارسال (forwarding loops) ایجاد کند مگر اینکه STP فعال باشد\[char46] برای جلوگیری از ایجاد حلقه روی چنین پلی، حالت \fBsecure\fR را پیکربندی کنید یا STP را فعال نمایید (به \fBstp_enable\fR مراجعه کنید)\[char46] .IP تنظیم \fBfail_mode\fR فقط برای کنترل‌کننده‌های اصلی اعمال می‌شود\[char46] هنگامی که بیش از یک کنترل‌کننده اصلی پیکربندی شده باشد، \fBfail_mode\fR تنها زمانی در نظر گرفته می‌شود که نتوان با هیچ‌یک از کنترل‌کننده‌های پیکربندی‌شده ارتباط برقرار کرد\[char46] .IP تغییر \fBfail_mode\fR در زمانی که هیچ کنترل‌کننده اصلی پیکربندی نشده باشد، جدول‌های جریان، جدول گروه و جدول سنجش OpenFlow را پاک می‌کند\[char46] .IP "\fBdatapath_id\fR: optional string" شناسه مسیر داده OpenFlow در حال استفاده را گزارش می‌دهد\[char46] دقیقاً ۱۶ رقم هگزادسیمال\[char46] (تنظیم این ستون اثر مفیدی ندارد\[char46] به‌جای آن \fBother-config:datapath-id\fR را تنظیم کنید\[char46]) .IP "\fBdatapath_version\fR: string" نسخه مسیر داده را گزارش می‌دهد\[char46] این ستون برای سازگاری با نسخه‌های پیشین حفظ شده است\[char46] مکان ترجیحی ستون \fBdatapath_id\fR در جدول \fBDatapath\fR است\[char46] مستندات کامل این ستون در آنجا قرار دارد\[char46] .IP "\fBother_config : datapath-id\fR: optional string" شناسه مسیر داده OpenFlow پیش‌فرض را با تنظیم آن روی مقدار مشخص‌شده بر حسب هگزادسیمال بازنویسی می‌کند\[char46] مقدار باید دارای پیشوند \fB0x\fR باشد یا دقیقاً ۱۶ رقم هگزادسیمال طول داشته باشد\[char46] نمی‌تواند تماماً صفر باشد\[char46] .IP "\fBother_config : dp-desc\fR: optional string" توضیحات خوانا برای انسان از مسیر داده\[char46] این یک رشته آزاد با حداکثر طول ۲۵۶ بایت برای توصیف مسیر داده به منظور اشکال‌زدایی است، مانند \fBswitch3 in room 3120\fR\[char46] مقدار توسط سوییچ به عنوان بخشی از پاسخ به درخواست OFPMP_DESC برگردانده می‌شود (ofp_desc)\[char46] مشخصات OpenFlow (مانند ۱\[char46]۳\[char46]۵) ساختار ofp_desc را به گونه‌ای توصیف می‌کند که شامل «رشته‌های ASCII خاتمه‌یافته با NULL» باشد\[char46] به دلایل سازگاری، نباید بیش از ۲۵۵ نویسه ASCII استفاده شود\[char46] .IP "\fBother_config : dp-sn\fR: optional string" شماره سریال\[char46] این یک رشته آزاد با حداکثر طول ۳۲ بایت برای ارائه شناسه سوییچ اضافی است\[char46] مقدار توسط سوییچ به عنوان بخشی از پاسخ به درخواست OFPMP_DESC برگردانده می‌شود (ofp_desc)\[char46] مشابه آنچه در توضیحات \fBother-config:dp-desc\fR ذکر شد، رشته باید برای سازگاری بیش از ۳۱ نویسه ASCII نباشد\[char46] .IP "\fBother_config : disable-in-band\fR: optional string, either \fBtrue\fR or \fBfalse\fR" اگر روی \fBtrue\fR تنظیم شود، کنترل درون‌باند (in-band control) را روی پل بدون توجه به تنظیمات کنترل‌کننده و مدیر غیرفعال می‌کند\[char46] .IP "\fBother_config : in-band-queue\fR: optional string, containing an integer, in range 0 to 4,294,967,295" یک شناسه صف به عنوان یک عدد صحیح غیرمنفی\[char46] این شناسه صف OpenFlow را تنظیم می‌کند که توسط جریان‌های برپاشده از طریق کنترل درون‌باند روی این پل استفاده خواهد شد\[char46] اگر تنظیم نشود، یا اگر پورت مورد استفاده توسط یک جریان کنترل درون‌باند دارای QoS پیکربندی‌شده نباشد، یا اگر پورت صفی با شناسه مشخص‌شده نداشته باشد، صف پیش‌فرض استفاده می‌شود\[char46] .IP "\fBother_config : controller-queue-size\fR: optional string, containing an integer, in range 1 to 512" این گزینه حداکثر اندازه صف بسته‌هایی را تنظیم می‌کند که باید به کنترل‌کننده مدیریتی OpenFlow ارسال شوند\[char46] مقدار باید کمتر از ۵۱۲ باشد\[char46] اگر مشخص نشود، اندازه صف به طور پیش‌فرض به ۱۰۰ بسته محدود می‌شود\[char46] نکته: افزایش اندازه صف ممکن است تأثیر منفی بر تأخیر بگذارد\[char46] .IP "\fBprotocols\fR: set of strings, one of \fBOpenFlow10\fR, \fBOpenFlow11\fR, \fBOpenFlow12\fR, \fBOpenFlow13\fR, \fBOpenFlow14\fR, or \fBOpenFlow15\fR" فهرستی از پروتکل‌های OpenFlow که ممکن است هنگام مذاکره برای اتصال با یک کنترل‌کننده استفاده شوند\[char46] اگر این ستون خالی باشد، پروتکل‌های OpenFlow 1\[char46]0، 1\[char46]1، 1\[char46]2، 1\[char46]3، 1\[char46]4 و 1\[char46]5 به طور پیش‌فرض فعال هستند\[char46] .ST "پیکربندی پروتکل درخت پوشا (Spanning Tree Configuration):" .PP .PP .PP پروتکل درخت پوشا (STP) استاندارد IEEE 802\[char46]1D یک پروتکل شبکه است که توپولوژی‌های بدون حلقه را تضمین می‌کند\[char46] این پروتکل امکان گنجاندن پیوندهای افزونه (redundant links) را در شبکه فراهم می‌سازد تا در صورت خرابی پیوندهای فعال، مسیرهای پشتیبان خودکار ایجاد شوند\[char46] .PP .PP این تنظیمات نسخه کندتر از نظر همگرایی اما همچنان پرکاربرد پروتکل درخت پوشا را که گاهی با نام 802\[char46]1D\-1998 شناخته می‌شود، پیکربندی می‌کنند\[char46] پروتکل Open vSwitch همچنین از پروتکل جدیدتر درخت پوشای سریع (RSTP) پشتیبانی می‌کند که بعداً در بخشی با عنوان \fBپیکربندی درخت پوشای سریع (Rapid Spanning Tree Configuration)\fR مستند شده است\[char46] .ST "پیکربندی STP (STP Configuration):" .PP .IP "\fBstp_enable\fR: boolean" درخت پوشا را روی پل فعال می‌کند\[char46] به طور پیش‌فرض، STP روی پل‌ها غیرفعال است\[char46] پورت‌های پیوند (Bond)، داخلی و آینه پشتیبانی نمی‌شوند و در درخت پوشا شرکت نخواهند کرد\[char46] .IP پروتکل‌های STP و RSTP مانعةالجمع هستند\[char46] اگر هر دو فعال باشند، RSTP استفاده خواهد شد\[char46] .IP "\fBother_config : stp-system-id\fR: optional string" شناسه STP پل (۴۸ بیت پایینی bridge-id) در قالب \fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR\[char46] به طور پیش‌فرض، این شناسه آدرس MAC پل است\[char46] .IP "\fBother_config : stp-priority\fR: optional string, containing an integer, in range 0 to 65,535" مقدار اولویت نسبی پل برای تعیین پل ریشه (۱۶ بیت بالایی bridge-id)\[char46] پلی با کمترین bridge-id به عنوان ریشه انتخاب می‌شود\[char46] به طور پیش‌فرض، اولویت 0x8000 است\[char46] .IP "\fBother_config : stp-hello-time\fR: optional string, containing an integer, in range 1 to 10" بازه زمانی بین ارسال پیام‌های hello توسط پورت‌های اختصاص‌یافته (designated ports)، بر حسب ثانیه\[char46] به طور پیش‌فرض بازه hello برابر با ۲ ثانیه است\[char46] .IP "\fBother_config : stp-max-age\fR: optional string, containing an integer, in range 6 to 40" حداکثر عمر اطلاعات ارسالی توسط پل در زمانی که پل ریشه است، بر حسب ثانیه\[char46] به طور پیش‌فرض، حداکثر عمر ۲۰ ثانیه است\[char46] .IP "\fBother_config : stp-forward-delay\fR: optional string, containing an integer, in range 4 to 30" تأخیر انتظار بین انتقال پورت‌های ریشه و اختصاص‌یافته به وضعیت \fBforwarding\fR، بر حسب ثانیه\[char46] به طور پیش‌فرض، تأخیر ارسال ۱۵ ثانیه است\[char46] .IP "\fBother_config : mcast-snooping-aging-time\fR: optional string, containing an integer, at least 1" حداکثر تعداد ثانیه‌های نگهداری یک ورودی اسنوپینگ چندپخشی که هیچ بسته‌ای برای آن دیده نشده است\[char46] مقدار پیش‌فرض در حال حاضر ۳۰۰ ثانیه (۵ دقیقه) است\[char46] مقدار مشخص‌شده به یک محدوده معقول، در حال حاضر ۱۵ تا ۳۶۰۰ ثانیه، محدود می‌شود\[char46] .IP "\fBother_config : mcast-snooping-table-size\fR: optional string, containing an integer, at least 1" حداکثر تعداد آدرس‌های اسنوپینگ چندپخشی برای یادگیری\[char46] مقدار پیش‌فرض در حال حاضر ۲۰۴۸ است\[char46] مقدار مشخص‌شده به یک محدوده معقول، در حال حاضر ۱۰ تا ۱٬۰۰۰٬۰۰۰، محدود می‌شود\[char46] .IP "\fBother_config : mcast-snooping-disable-flood-unregistered\fR: optional string, either \fBtrue\fR or \fBfalse\fR" اگر روی \fBfalse\fR تنظیم شود، بسته‌های چندپخشی ثبت‌نشده به تمام پورت‌ها ارسال می‌شوند\[char46] اگر روی \fBtrue\fR تنظیم شود، بسته‌های چندپخشی ثبت‌نشده به پورت‌های متصل به روترهای چندپخشی ارسال می‌شوند\[char46] .ST "وضعیت STP (STP Status):" .PP .PP .PP این جفت‌های کلید\-مقدار وضعیت 802\[char46]1D\-1998 را گزارش می‌دهند\[char46] آن‌ها تنها در صورتی وجود دارند که STP فعال باشد (از طریق ستون \fBstp_enable\fR)\[char46] .IP "\fBstatus : stp_bridge_id\fR: optional string" شناسه پل استفاده‌شده در اعلان‌های درخت پوشا، در قالب \fIxxxx\fR\[char46]\fIyyyyyyyyyyyy\fR که در آن \fIx\fRها اولویت STP، \fIy\fRها شناسه سیستم STP هستند و هر \fIx\fR و \fIy\fR یک رقم هگزادسیمال است\[char46] .IP "\fBstatus : stp_designated_root\fR: optional string" ریشه تعیین‌شده برای این درخت پوشا، در همان قالب \fBstatus:stp_bridge_id\fR\[char46] اگر این پل ریشه باشد، همان مقدار \fBstatus:stp_bridge_id\fR را خواهد داشت، در غیر این صورت متفاوت خواهد بود\[char46] .IP "\fBstatus : stp_root_path_cost\fR: optional string" هزینه مسیر برای رسیدن به پل تعیین‌شده\[char46] عدد کمتر بهتر است\[char46] اگر این پل ریشه باشد مقدار ۰ است، در غیر این صورت بیشتر است\[char46] .ST "درخت پوشای سریع (Rapid Spanning Tree):" .PP .PP .PP پروتکل درخت پوشای سریع (RSTP)، مانند STP، یک پروتکل شبکه است که توپولوژی‌های بدون حلقه را تضمین می‌کند\[char46] پروتکل RSTP با انتشار استاندارد 802\[char46]1D\-2004 جایگزین STP شد\[char46] در مقایسه با STP، پروتکل RSTP سریع‌تر همگرا می‌شود و با سرعت بیشتری از خرابی‌ها بازیابی می‌گردد\[char46] .ST "پیکربندی RSTP (RSTP Configuration):" .PP .IP "\fBrstp_enable\fR: boolean" درخت پوشای سریع را روی پل فعال می‌کند\[char46] به طور پیش‌فرض، RSTP روی پل‌ها غیرفعال است\[char46] پورت‌های پیوند (Bond)، داخلی و آینه پشتیبانی نمی‌شوند و در درخت پوشا شرکت نخواهند کرد\[char46] .IP پروتکل‌های STP و RSTP مانعةالجمع هستند\[char46] اگر هر دو فعال باشند، RSTP استفاده خواهد شد\[char46] .IP "\fBother_config : rstp-address\fR: optional string" آدرس RSTP پل (۴۸ بیت پایینی bridge-id) در قالب \fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR\[char46] به طور پیش‌فرض، آدرس همان آدرس MAC پل است\[char46] .IP "\fBother_config : rstp-priority\fR: optional string, containing an integer, in range 0 to 61,440" مقدار اولویت نسبی پل برای تعیین پل ریشه (۱۶ بیت بالایی bridge-id)\[char46] پلی با کمترین bridge-id به عنوان ریشه انتخاب می‌شود\[char46] به طور پیش‌فرض، اولویت 0x8000 (32768) است\[char46] این مقدار باید مضربی از ۴۰۹۶ باشد، در غیر این صورت به نزدیک‌ترین مقدار کمتر گرد می‌شود\[char46] .IP "\fBother_config : rstp-ageing-time\fR: optional string, containing an integer, in range 10 to 1,000,000" پارامتر زمان کهنگی (Ageing Time) برای پل\[char46] مقدار پیش‌فرض ۳۰۰ ثانیه است\[char46] .IP "\fBother_config : rstp-force-protocol-version\fR: optional string, containing an integer" پارامتر نسخه پروتکل اجباری (Force Protocol Version) برای پل\[char46] این می‌تواند مقدار ۰ (حالت سازگاری با STP) یا ۲ (پیش‌فرض، عملکرد عادی) را بگیرد\[char46] .IP "\fBother_config : rstp-max-age\fR: optional string, containing an integer, in range 6 to 40" حداکثر عمر اطلاعات ارسالی توسط پل در زمانی که پل ریشه است\[char46] مقدار پیش‌فرض ۲۰ است\[char46] .IP "\fBother_config : rstp-forward-delay\fR: optional string, containing an integer, in range 4 to 30" تأخیر استفاده‌شده توسط پل‌های STP برای انتقال پورت‌های ریشه و اختصاص‌یافته به وضعیت Forwarding\[char46] مقدار پیش‌فرض ۱۵ است\[char46] .IP "\fBother_config : rstp-transmit-hold-count\fR: optional string, containing an integer, in range 1 to 10" شمارنده نگه‌داشت انتقال (Transmit Hold Count) استفاده‌شده توسط ماشین حالت انتقال پورت برای محدود کردن نرخ انتقال\[char46] مقدار پیش‌فرض ۶ است\[char46] .ST "وضعیت RSTP (RSTP Status):" .PP .PP .PP این جفت‌های کلید\-مقدار وضعیت 802\[char46]1D\-2004 را گزارش می‌دهند\[char46] آن‌ها تنها در صورتی وجود دارند که RSTP فعال باشد (از طریق ستون \fBrstp_enable\fR)\[char46] .IP "\fBrstp_status : rstp_bridge_id\fR: optional string" شناسه پل استفاده‌شده در اعلان‌های درخت پوشای سریع، در قالب \fIx\fR\[char46]\fIyyy\fR\[char46]\fIzzzzzzzzzzzz\fR که در آن \fIx\fR اولویت RSTP، \fIy\fRها یک پسوند شناسه سیستم اختصاص‌یافته محلی، \fIz\fRها شناسه سیستم STP هستند و هر \fIx\fR، \fIy\fR یا \fIz\fR یک رقم هگزادسیمال است\[char46] .IP "\fBrstp_status : rstp_root_id\fR: optional string" ریشه این درخت پوشا، در همان قالب \fBrstp_status:rstp_bridge_id\fR\[char46] اگر این پل ریشه باشد، همان مقدار \fBrstp_status:rstp_bridge_id\fR را خواهد داشت، در غیر این صورت متفاوت خواهد بود\[char46] .IP "\fBrstp_status : rstp_root_path_cost\fR: optional string, containing an integer, at least 0" هزینه مسیر برای رسیدن به ریشه\[char46] عدد کمتر بهتر است\[char46] اگر این پل ریشه باشد مقدار ۰ است، در غیر این صورت بیشتر است\[char46] .IP "\fBrstp_status : rstp_designated_id\fR: optional string" شناسه تعیین‌شده RSTP، در همان قالب \fBrstp_status:rstp_bridge_id\fR\[char46] .IP "\fBrstp_status : rstp_designated_port_id\fR: optional string" شناسه پورت تعیین‌شده RSTP، به صورت یک عدد هگزادسیمال ۴ رقمی\[char46] .IP "\fBrstp_status : rstp_bridge_port_id\fR: optional string" شناسه پورت پل RSTP، به صورت یک عدد هگزادسیمال ۴ رقمی\[char46] .ST "پیکربندی اسنوپینگ چندپخشی (Multicast Snooping Configuration):" .PP اسنوپینگ چندپخشی (RFC 4541) ترافیک پروتکل مدیریت گروه اینترنت (IGMP) و کشف شنونده چندپخشی (MLD) را بین میزبان‌ها و روترهای چندپخشی نظارت می‌کند\[char46] سوییچ از آنچه اسنوپینگ IGMP و MLD یاد می‌گیرد استفاده می‌کند تا ترافیک چندپخشی را تنها به رابط‌هایی ارسال کند که به گیرندگان علاقه‌مند متصل هستند\[char46] در حال حاضر از پروتکل‌های IGMPv1، IGMPv2، IGMPv3، MLDv1 و MLDv2 پشتیبانی می‌کند\[char46] .IP "\fBmcast_snooping_enable\fR: boolean" اسنوپینگ چندپخشی را روی پل فعال می‌کند\[char46] در حال حاضر، حالت پیش‌فرض غیرفعال است\[char46] .ST "سایر ویژگی‌ها (Other Features):" .PP .IP "\fBdatapath_type\fR: string" نام ارائه‌دهنده مسیر داده\[char46] مسیر داده هسته دارای نوع \fBsystem\fR است\[char46] مسیر داده فضای کاربری دارای نوع \fBnetdev\fR است\[char46] یک مدیر می‌تواند برای فهرستی از انواع پذیرفته‌شده توسط این نمونه Open vSwitch به ستون \fBdatapath_types\fR در جدول \fBOpen_vSwitch\fR مراجعه کند\[char46] .IP "\fBexternal_ids : bridge-id\fR: optional string" یک شناسه یکتا برای پل\[char46] .IP "\fBother_config : hwaddr\fR: optional string" یک آدرس اترنت در قالب \fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR برای تنظیم آدرس سخت‌افزاری پورت محلی و تأثیرگذاری بر شناسه مسیر داده\[char46] .IP "\fBother_config : forward-bpdu\fR: optional string, either \fBtrue\fR or \fBfalse\fR" ارسال BPDUها و سایر فریم‌های کنترل شبکه را در هنگام فراخوانی اقدام NORMAL کنترل می‌کند\[char46] هنگامی که این گزینه \fBfalse\fR باشد یا تنظیم نشده باشد، فریم‌های دارای آدرس‌های اترنت رزروشده (جدول زیر را ببینید) بازارسال نمی‌شوند\[char46] هنگامی که این گزینه \fBtrue\fR باشد، با چنین فریم‌هایی رفتار ویژه‌ای نخواهد شد\[char46] .IP قاعده کلی فوق دارای استثناهای زیر است: .RS .IP \(bu اگر STP روی پل فعال باشد (به ستون \fBstp_enable\fR در جدول \fBBridge\fR مراجعه کنید)، پل تمام بسته‌های STP دریافتی را پردازش می‌کند و هرگز آن‌ها را به OpenFlow منتقل نکرده یا بازارسال نمی‌کند\[char46] این موضوع حتی در صورتی که STP روی یک پورت خاص غیرفعال باشد نیز صادق است\[char46] .IP \(bu اگر LLDP روی یک رابط فعال باشد (به ستون \fBlldp\fR در جدول \fBInterface\fR مراجعه کنید)، رابط بسته‌های LLDP دریافتی را پردازش می‌کند و هرگز آن‌ها را به OpenFlow منتقل نکرده یا بازارسال نمی‌کند\[char46] .RE .IP اگر پل Open vSwitch شبکه‌های اترنت مختلف را به هم متصل می‌کند و برای شرکت در STP پیکربندی نشده است، این گزینه را روی \fBtrue\fR تنظیم کنید\[char46] .IP این گزینه روی بسته‌هایی با آدرس‌های MAC مقصد زیر تأثیر می‌گذارد: .RS .TP \fB01:80:c2:00:00:00\fR پروتکل درخت پوشا (STP) استاندارد IEEE 802\[char46]1D\[char46] .TP \fB01:80:c2:00:00:01\fR فریم مکث (Pause frame) استاندارد IEEE\[char46] .TP \fB01:80:c2:00:00:0\fIx\fB\fR سایر پروتکل‌های رزروشده\[char46] .TP \fB00:e0:2b:00:00:00\fR پروتکل کشف اکستریم (EDP)\[char46] .TP \fB00:e0:2b:00:00:04\fR و \fB00:e0:2b:00:00:06\fR سوییچینگ حفاظت خودکار اترنت (EAPS)\[char46] .TP \fB01:00:0c:cc:cc:cc\fR پروتکل کشف سیسکو (CDP)، پروتکل ترانکینگ VLAN (VTP)، پروتکل ترانکینگ پویا (DTP)، پروتکل تجمیع پورت (PAgP) و موارد دیگر\[char46] .TP \fB01:00:0c:cc:cc:cd\fR پروتکل درخت پوشای اشتراکی سیسکو PVSTP+\[char46] .TP \fB01:00:0c:cd:cd:cd\fR سیسکو STP Uplink Fast\[char46] .TP \fB01:00:0c:00:00:00\fR سیسکو Inter Switch Link\[char46] .TP \fB01:00:0c:cc:cc:c\fIx\fB\fR سیسکو CFM\[char46] .RE .IP "\fBother_config : mac-aging-time\fR: optional string, containing an integer, at least 1" حداکثر تعداد ثانیه‌های نگهداری یک ورودی یادگیری MAC که هیچ بسته‌ای برای آن دیده نشده است\[char46] مقدار پیش‌فرض در حال حاضر ۳۰۰ ثانیه (۵ دقیقه) است\[char46] مقدار مشخص‌شده به یک محدوده معقول، در حال حاضر ۱۵ تا ۳۶۰۰ ثانیه، محدود می‌شود\[char46] .IP زمان کهنگی کوتاه برای MAC به شبکه امکان می‌دهد سریع‌تر متوجه شود که میزبانی دیگر به پورت سوییچ متصل نیست\[char46] با این حال، همچنین این احتمال را افزایش می‌دهد که بسته‌ها در صورت ارسال به یک میزبان متصل که به‌ندرت بسته ارسال می‌کند، بی‌مورد سیلابی شوند\[char46] برای کاهش وقوع سیلابی غیرضروری، از زمان کهنگی MAC طولانی‌تر از حداکثر بازه‌ای که یک میزبان به طور معمول بسته ارسال می‌کند، استفاده کنید\[char46] .IP "\fBother_config : mac-table-size\fR: optional string, containing an integer, at least 1" حداکثر تعداد آدرس‌های MAC برای یادگیری\[char46] مقدار پیش‌فرض در حال حاضر ۸۱۹۲ است\[char46] مقدار مشخص‌شده به یک محدوده معقول، در حال حاضر ۱۰ تا ۱٬۰۰۰٬۰۰۰، محدود می‌شود\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBother_config\fR: map of string-string pairs" .IP "\fBexternal_ids\fR: map of string-string pairs" .bp .SH "جدول Port (Port TABLE)" .PP .PP .PP یک پورت درون یک \fBBridge\fR\[char46] .PP .PP معمولاً، یک پورت دقیقاً یک «رابط» دارد که توسط ستون \fBinterfaces\fR آن مشخص می‌شود\[char46] چنین پورتی از نظر منطقی با یک پورت روی یک سوییچ اترنت فیزیکی مطابقت دارد\[char46] پورتی با بیش از یک رابط، یک «پورت پیوندی (bonded port)» است (به \fBپیکربندی پیوند (Bonding Configuration)\fR مراجعه کنید)\[char46] .PP .PP برخی از ویژگی‌هایی که ممکن است تصور شود متعلق به یک پورت هستند، در واقع بخشی از اعضای \fBInterface\fR آن پورت می‌باشند\[char46] .SS "چکیده (Summary): .TQ 3.00in \fBname\fR رشته تغییرناپذیر (باید در جدول یکتا باشد) .TQ 3.00in \fBinterfaces\fR مجموعه‌ای از ۱ یا چند \fBInterface\fR .TQ .25in \fIپیکربندی VLAN (VLAN Configuration):\fR .RS .25in .TQ 2.75in \fBvlan_mode\fR رشته اختیاری، یکی از \fBaccess\fR، \fBdot1q\-tunnel\fR، \fBnative\-tagged\fR، \fBnative\-untagged\fR یا \fBtrunk\fR .TQ 2.75in \fBtag\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۰۹۵ .TQ 2.75in \fBtrunks\fR مجموعه‌ای از حداکثر ۴٬۰۹۶ عدد صحیح، در محدوده ۰ تا ۴٬۰۹۵ .TQ 2.75in \fBcvlans\fR مجموعه‌ای از حداکثر ۴٬۰۹۶ عدد صحیح، در محدوده ۰ تا ۴٬۰۹۵ .TQ 2.75in \fBother_config : qinq-ethtype\fR رشته اختیاری، یا \fB802\[char46]1ad\fR یا \fB802\[char46]1q\fR .TQ 2.75in \fBother_config : priority-tags\fR رشته اختیاری، یکی از \fBalways\fR، \fBif\-nonzero\fR یا \fBnever\fR .RE .TQ .25in \fIپیکربندی پیوند (Bonding Configuration):\fR .RS .25in .TQ 2.75in \fBbond_mode\fR رشته اختیاری، یکی از \fBactive\-backup\fR، \fBbalance\-slb\fR یا \fBbalance\-tcp\fR .TQ 2.75in \fBother_config : bond-hash-basis\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : lb-output-action\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : bond-primary\fR رشته اختیاری .TQ 2.75in \fBother_config : all-members-active\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ .25in \fIتشخیص خرابی پیوند (Link Failure Detection):\fR .RS .25in .TQ 2.50in \fBother_config : bond-detect-mode\fR رشته اختیاری، یا \fBcarrier\fR یا \fBmiimon\fR .TQ 2.50in \fBother_config : bond-miimon-interval\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.50in \fBbond_updelay\fR عدد صحیح .TQ 2.50in \fBbond_downdelay\fR عدد صحیح .RE .TQ .25in \fIپیکربندی LACP (LACP Configuration):\fR .RS .25in .TQ 2.50in \fBlacp\fR رشته اختیاری، یکی از \fBactive\fR، \fBoff\fR یا \fBpassive\fR .TQ 2.50in \fBother_config : lacp-system-id\fR رشته اختیاری .TQ 2.50in \fBother_config : lacp-system-priority\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۱ تا ۶۵٬۵۳۵ .TQ 2.50in \fBother_config : lacp-time\fR رشته اختیاری، یا \fBfast\fR یا \fBslow\fR .TQ 2.50in \fBother_config : lacp-fallback-ab\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIپیکربندی بازتعادل (Rebalancing Configuration):\fR .RS .25in .TQ 2.50in \fBother_config : bond-rebalance-interval\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۲٬۱۴۷٬۴۸۳٬۶۴۷ .RE .TQ 2.75in \fBbond_fake_iface\fR بولی (boolean) .RE .TQ .25in \fIپروتکل درخت پوشا (Spanning Tree Protocol):\fR .RS .25in .TQ .25in \fIپیکربندی STP (STP Configuration):\fR .RS .25in .TQ 2.50in \fBother_config : stp-enable\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBother_config : stp-port-num\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۱ تا ۲۵۵ .TQ 2.50in \fBother_config : stp-port-priority\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۲۵۵ .TQ 2.50in \fBother_config : stp-path-cost\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۶۵٬۵۳۵ .RE .TQ .25in \fIوضعیت STP (STP Status):\fR .RS .25in .TQ 2.50in \fBstatus : stp_port_id\fR رشته اختیاری .TQ 2.50in \fBstatus : stp_state\fR رشته اختیاری، یکی از \fBblocking\fR، \fBdisabled\fR، \fBforwarding\fR، \fBlearning\fR یا \fBlistening\fR .TQ 2.50in \fBstatus : stp_sec_in_state\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.50in \fBstatus : stp_role\fR رشته اختیاری، یکی از \fBalternate\fR، \fBdesignated\fR یا \fBroot\fR .RE .RE .TQ .25in \fIپروتکل درخت پوشای سریع (Rapid Spanning Tree Protocol):\fR .RS .25in .TQ .25in \fIپیکربندی RSTP (RSTP Configuration):\fR .RS .25in .TQ 2.50in \fBother_config : rstp-enable\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBother_config : rstp-port-priority\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۲۴۰ .TQ 2.50in \fBother_config : rstp-port-num\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۱ تا ۴٬۰۹۵ .TQ 2.50in \fBother_config : rstp-path-cost\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.50in \fBother_config : rstp-port-admin-edge\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBother_config : rstp-port-auto-edge\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBother_config : rstp-port-mcheck\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIوضعیت RSTP (RSTP Status):\fR .RS .25in .TQ 2.50in \fBrstp_status : rstp_port_id\fR رشته اختیاری .TQ 2.50in \fBrstp_status : rstp_port_role\fR رشته اختیاری، یکی از \fBAlternate\fR، \fBBackup\fR، \fBDesignated\fR، \fBDisabled\fR یا \fBRoot\fR .TQ 2.50in \fBrstp_status : rstp_port_state\fR رشته اختیاری، یکی از \fBDisabled\fR، \fBDiscarding\fR، \fBForwarding\fR یا \fBLearning\fR .TQ 2.50in \fBrstp_status : rstp_designated_bridge_id\fR رشته اختیاری .TQ 2.50in \fBrstp_status : rstp_designated_port_id\fR رشته اختیاری .TQ 2.50in \fBrstp_status : rstp_designated_path_cost\fR رشته اختیاری، شامل یک عدد صحیح .RE .TQ .25in \fIآمار RSTP (RSTP Statistics):\fR .RS .25in .TQ 2.50in \fBrstp_statistics : rstp_tx_count\fR عدد صحیح اختیاری .TQ 2.50in \fBrstp_statistics : rstp_rx_count\fR عدد صحیح اختیاری .TQ 2.50in \fBrstp_statistics : rstp_error_count\fR عدد صحیح اختیاری .TQ 2.50in \fBrstp_statistics : rstp_uptime\fR عدد صحیح اختیاری .RE .RE .TQ .25in \fIاسنوپینگ چندپخشی (Multicast Snooping):\fR .RS .25in .TQ 2.75in \fBother_config : mcast-snooping-flood\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : mcast-snooping-flood-reports\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIسایر ویژگی‌ها (Other Features):\fR .RS .25in .TQ 2.75in \fBqos\fR \fBQoS\fR اختیاری .TQ 2.75in \fBmac\fR رشته اختیاری .TQ 2.75in \fBfake_bridge\fR بولی (boolean) .TQ 2.75in \fBprotected\fR بولی (boolean) .TQ 2.75in \fBexternal_ids : fake-bridge-*\fR رشته اختیاری .TQ 2.75in \fBother_config : transient\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ 3.00in \fBbond_active_slave\fR رشته اختیاری .TQ .25in \fIآمار پورت (Port Statistics):\fR .RS .25in .TQ .25in \fIآمار: شمارنده‌های ارسال و دریافت STP (Statistics: STP transmit and receive counters):\fR .RS .25in .TQ 2.50in \fBstatistics : stp_tx_count\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : stp_rx_count\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : stp_error_count\fR عدد صحیح اختیاری .RE .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBother_config\fR نگاشتی از جفت‌های رشته-رشته .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details): .IP "\fBname\fR: immutable string (must be unique within table)" نام پورت\[char46] برای یک پورت غیرپیوندی، این نام باید همان نام رابط آن باشد\[char46] در غیر این صورت، نام‌های پورت باید در میان نام پورت‌ها، رابط‌ها و پل‌های روی یک میزبان یکتا باشند\[char46] از آنجا که نام‌های پورت و رابط معمولاً یکسان هستند، محدودیت‌های ستون \fBname\fR در جدول \fBInterface\fR، به‌ویژه در مورد طول، برای نام‌های پورت نیز اعمال می‌شود\[char46] برای جزئیات به مستندات نام‌های \fBInterface\fR مراجعه کنید\[char46] .IP "\fBinterfaces\fR: set of 1 or more \fBInterface\fRs" رابط‌های پورت\[char46] اگر بیش از یک مورد باشد، این پورت یک پورت پیوندی (bonded Port) است\[char46] .ST "پیکربندی VLAN (VLAN Configuration):" .PP .PP .PP به طور خلاصه، یک VLAN (مخفف «شبکه محلی مجازی یا Virtual LAN») روشی برای تقسیم یک سوییچ منفرد به چندین سوییچ است\[char46] مفهوم VLAN می‌تواند گیج‌کننده باشد، بنابراین برای آشنایی اولیه، لطفاً به پرسش «VLAN چیست؟» در بخش پرسش‌های متداول (FAQ) مربوط به Open vSwitch مراجعه فرمایید\[char46] .PP .PP یک VLAN گاهی با استفاده از هدر VLAN استاندارد 802\[char46]1Q یا 802\[char46]1ad درون یک بسته کدگذاری می‌شود، اما هر بسته بدون توجه به اینکه آیا در خود بسته کدگذاری شده باشد یا خیر، بخشی از یک VLAN است\[char46] (بسته‌ای که به نظر می‌رسد فاقد VLAN است، به طور پیش‌فرض بخشی از VLAN 0 است\[char46]) در نتیجه، بهتر است VLAN را به عنوان یک ویژگی فراداده‌ای از یک بسته، جدا از نحوه کدگذاری آن، در نظر بگیرید\[char46] برای یک پورت مشخص، این ستون تعیین می‌کند که چگونه کدگذاری بسته‌ای که به پورت وارد یا از آن خارج می‌شود، به VLAN آن بسته نگاشت گردد\[char46] هنگامی که بسته‌ای وارد سوییچ می‌شود، VLAN آن بر اساس تنظیمات این ستون و هدرهای VLAN آن (در صورت وجود) تعیین می‌شود و سپس از نظر مفهومی هدرهای VLAN برداشته می‌شوند\[char46] برعکس، هنگامی که بسته‌ای از سوییچ خارج می‌شود، VLAN آن و تنظیمات این ستون تعیین می‌کنند که چه هدرهای VLAN (در صورت وجود) قبل از خروج از پورت به بسته اضافه شوند\[char46] .PP .PP پیکربندی VLAN در این ستون تنها زمانی بر Open vSwitch تأثیر می‌گذارد که «سوییچینگ عادی (normal switching)» را انجام می‌دهد\[char46] این تنظیمات بر جریان‌های برپاشده توسط یک کنترل‌کننده OpenFlow، خارج از اقدام «عادی (normal action)» در OpenFlow، تأثیری ندارد\[char46] .PP .PP پورت‌های پل از انواع زیر در پیکربندی VLAN پشتیبانی می‌کنند: .RS .TP trunk یک پورت ترانک (trunk) بسته‌ها را روی یک یا چند VLAN مشخص‌شده در ستون \fBtrunks\fR (اغلب روی همه VLANها) حمل می‌کند\[char46] بسته‌ای که از یک پورت ترانک وارد می‌شود، در VLAN مشخص‌شده در هدر 802\[char46]1Q خود قرار دارد، یا اگر فاقد هدر 802\[char46]1Q باشد در VLAN 0 خواهد بود\[char46] بسته‌ای که از یک پورت ترانک خارج می‌شود، در صورتی که شناسه VLAN غیرصفر داشته باشد، دارای هدر 802\[char46]1Q خواهد بود\[char46] .IP هر بسته‌ای که از یک پورت ترانک با برچسب VLAN وارد شود که پورت آن را ترانک نمی‌کند، دور انداخته می‌شود (drop)\[char46] .TP access یک پورت اکسس (access) بسته‌ها را دقیقاً روی یک VLAN مشخص‌شده در ستون \fBtag\fR حمل می‌کند\[char46] بسته‌هایی که از پورت اکسس خارج می‌شوند فاقد هدر 802\[char46]1Q هستند\[char46] .IP هر بسته‌ای با هدر 802\[char46]1Q و شناسه VLAN غیرصفر که از یک پورت اکسس وارد شود، صرف‌نظر از اینکه شناسه VLAN موجود در هدر همان شناسه VLAN پورت اکسس باشد یا خیر، دور انداخته می‌شود\[char46] .TP native-tagged یک پورت native-tagged شبیه به یک پورت ترانک است، با این تفاوت که بسته‌ای بدون هدر 802\[char46]1Q که از یک پورت native-tagged وارد می‌شود، در «VLAN بومی (native VLAN)» (مشخص‌شده در ستون \fBtag\fR) قرار می‌گیرد\[char46] .TP native-untagged یک پورت native-untagged شبیه به یک پورت native-tagged است، با این تفاوت که بسته‌ای که از یک پورت native-untagged در VLAN بومی خارج می‌شود، فاقد هدر 802\[char46]1Q خواهد بود\[char46] .TP dot1q-tunnel یک پورت dot1q-tunnel تا حدی شبیه به یک پورت اکسس است\[char46] همانند پورت اکسس، بسته‌ها را روی همان VLAN منفرد مشخص‌شده در ستون \fBtag\fR حمل می‌کند و این VLAN که VLAN سرویس (service VLAN) نامیده می‌شود، در هدر 802\[char46]1Q برای بسته‌های ورودی یا خروجی از پورت ظاهر نمی‌شود\[char46] تفاوت اصلی در رفتار هنگام ورود بسته‌های حاوی هدر 802\[char46]1Q به پورت است\[char46] در حالی که پورت اکسس چنین بسته‌هایی را دور می‌اندازد، پورت dot1q-tunnel با آن‌ها به عنوان بسته‌های دوبرچسبه (double-tagged) با برچسب خارجی \fBtag\fR سرویس و برچسب داخلی VLAN مشتری گرفته‌شده از هدر 802\[char46]1Q رفتار می‌کند\[char46] متقابلاً برای خروج از پورت، VLAN بیرونی (یا تنها VLAN) بسته باید همان \fBtag\fR باشد که قبل از خروج حذف می‌شود و در نتیجه VLAN درونی (مشتری) در صورت وجود نمایان می‌گردد\[char46] .IP اگر \fBcvlans\fR تنظیم شده باشد، تنها به بسته‌های موجود در VLANهای مشتری مشخص‌شده اجازه عبور می‌دهد\[char46] .RE .PP .PP یک بسته تنها از طریق پورت‌های پلی خارج می‌شود که VLAN آن بسته را حمل می‌کنند، همان‌طور که در قوانین بالا شرح داده شد\[char46] .IP "\fBvlan_mode\fR: optional string, one of \fBaccess\fR, \fBdot1q\-tunnel\fR, \fBnative\-tagged\fR, \fBnative\-untagged\fR, or \fBtrunk\fR" حالت VLAN پورت، همان‌طور که در بالا توصیف شد\[char46] هنگامی که این ستون خالی باشد، یک حالت پیش‌فرض به شرح زیر انتخاب می‌شود: .RS .IP \(bu اگر \fBtag\fR حاوی مقداری باشد، پورت یک پورت اکسس است\[char46] ستون \fBtrunks\fR باید خالی باشد\[char46] .IP \(bu در غیر این صورت، پورت یک پورت ترانک است\[char46] مقدار ستون \fBtrunks\fR در صورت وجود لحاظ می‌شود\[char46] .RE .IP "\fBtag\fR: optional integer, in range 0 to 4,095" برای یک پورت اکسس، VLAN با برچسب ضمنی پورت\[char46] برای یک پورت native-tagged یا native-untagged، VLAN بومی پورت\[char46] اگر این یک پورت ترانک باشد باید خالی باشد\[char46] .IP "\fBtrunks\fR: set of up to 4,096 integers, in range 0 to 4,095" برای یک پورت trunk، native-tagged یا native-untagged، VLAN یا VLANهای 802\[char46]1Q که این پورت ترانک می‌کند؛ اگر خالی باشد، پورت تمام VLANها را ترانک می‌کند\[char46] اگر این یک پورت اکسس باشد باید خالی باشد\[char46] .IP یک پورت native-tagged یا native-untagged همیشه VLAN بومی خود را ترانک می‌کند، صرف‌نظر از اینکه \fBtrunks\fR شامل آن VLAN باشد یا خیر\[char46] .IP "\fBcvlans\fR: set of up to 4,096 integers, in range 0 to 4,095" برای یک پورت dot1q-tunnel، VLANهای مشتری که این پورت شامل آن‌ها می‌شود\[char46] اگر این ستون خالی باشد، پورت شامل تمام VLANهای مشتری خواهد بود\[char46] .IP برای سایر انواع پورت‌ها، این تنظیم نادیده گرفته می‌شود\[char46] .IP "\fBother_config : qinq-ethtype\fR: optional string, either \fB802\[char46]1ad\fR or \fB802\[char46]1q\fR" برای یک پورت dot1q-tunnel، این TPID برای برچسب سرویس است، یعنی برای هدر 802\[char46]1Q که شامل شناسه VLAN سرویس است\[char46] از آنجا که بسته‌هایی که واقعاً از یک پورت dot1q-tunnel وارد یا خارج می‌شوند شامل هدر 802\[char46]1Q برای VLAN سرویس نیستند، این گزینه بر بسته‌های روی خود پورت dot1q-tunnel تأثیری ندارد\[char46] بلکه VLAN سرویس را برای بسته‌ای که از یک پورت dot1q-tunnel وارد و از یک پورت ترانک خارج می‌شود، تعیین می‌کند\[char46] .IP مقدار \fB802\[char46]1ad\fR شناسه TPID 0x88a8 را مشخص می‌کند که در صورت عدم تنظیم، مقدار پیش‌فرض نیز هست\[char46] مقدار \fB802\[char46]1q\fR شناسه TPID 0x8100 را مشخص می‌کند\[char46] .IP برای سایر انواع پورت‌ها، این تنظیم نادیده گرفته می‌شود\[char46] .IP "\fBother_config : priority-tags\fR: optional string, one of \fBalways\fR, \fBif\-nonzero\fR, or \fBnever\fR" یک هدر 802\[char46]1Q شامل دو بخش اطلاعاتی مهم است: شناسه VLAN و اولویت\[char46] با فریمی با شناسه VLAN صفر، که فریم «دارای برچسب اولویت (priority-tagged)» نامیده می‌شود، باید همانند فریمی بدون هدر 802\[char46]1Q رفتار شود (به استثنای اولویت)\[char46] .IP با این حال، برخی از عناصر شبکه هر فریمی را که اصلاً دارای هدر 802\[char46]1Q باشد، نادیده می‌گیرند، حتی زمانی که شناسه VLAN صفر باشد\[char46] بنابراین، به طور پیش‌فرض Open vSwitch فریم‌های دارای برچسب اولویت را در خروجی ارسال نمی‌کند، بلکه در صورتی که شناسه VLAN صفر باشد، هدر 802\[char46]1Q را کاملاً حذف می‌کند\[char46] این کلید را روی \fBif\-nonzero\fR تنظیم کنید تا فریم‌های دارای برچسب اولویت روی یک پورت فعال شوند\[char46] .IP در حالت \fBif\-nonzero\fR، اگر هر دو مقدار شناسه VLAN و اولویت صفر باشند، Open vSwitch هدر 802\[char46]1Q را در خروجی حذف می‌کند\[char46] روی \fBalways\fR تنظیم کنید تا هدر 802\[char46]1Q در چنین فریم‌هایی نیز حفظ شود\[char46] .IP تمام فریم‌های خروجی به پورت‌های native-tagged دارای شناسه VLAN غیرصفر هستند، بنابراین این تنظیم روی پورت‌های native-tagged معنادار نیست\[char46] .ST "پیکربندی پیوند (Bonding Configuration):" .PP .PP .PP پورتی که بیش از یک رابط دارد یک «پورت پیوندی (bonded port)» است\[char46] پیوند زدن امکان تعادل بار (load balancing) و تغییر مسیر در صورت خرابی (fail-over) را فراهم می‌کند\[char46] .PP .PP انواع زیر از پیوندها با هر نوع سوییچ بالادستی کار می‌کنند\[char46] روی سوییچ بالادستی، رابط‌ها را به عنوان پیوند (bond) پیکربندی نکنید: .RS .TP \fBbalance\-slb\fR جریان‌ها را میان اعضا بر اساس آدرس MAC مبدأ و VLAN خروجی، همراه با بازتعادل دوره‌ای با تغییر الگوهای ترافیک، متعادل می‌کند\[char46] .TP \fBactive\-backup\fR تمام جریان‌ها را به یک عضو اختصاص می‌دهد و در صورت غیرفعال شدن عضو فعال، به یک عضو پشتیبان سوئیچ می‌کند\[char46] این تنها حالت پیوندی است که در آن رابط‌ها ممکن است به سوییچ‌های بالادستی متفاوتی متصل شوند\[char46] .RE .PP .PP حالت‌های زیر نیازمند آن هستند که سوییچ بالادستی از استاندارد 802\[char46]3ad با مذاکره موفق LACP پشتیبانی کند\[char46] اگر مذاکره LACP شکست بخورد و other-config:lacp-fallback-ab روی true باشد، حالت \fBactive\-backup\fR استفاده می‌شود: .RS .TP \fBbalance\-tcp\fR جریان‌ها را میان اعضا بر اساس اطلاعات پروتکل لایه ۳ و لایه ۴ مانند آدرس‌های IP و پورت‌های TCP/UDP متعادل می‌کند\[char46] .RE .PP .PP این ستون‌ها تنها برای پورت‌های پیوندی اعمال می‌شوند\[char46] در غیر این صورت، مقادیر آن‌ها نادیده گرفته می‌شود\[char46] .IP "\fBbond_mode\fR: optional string, one of \fBactive\-backup\fR, \fBbalance\-slb\fR, or \fBbalance\-tcp\fR" نوع پیوند استفاده‌شده برای یک پورت پیوندی\[char46] در صورت عدم تنظیم، به طور پیش‌فرض روی \fBactive\-backup\fR قرار دارد\[char46] .IP "\fBother_config : bond-hash-basis\fR: optional string, containing an integer" یک عدد صحیح که هنگام انتخاب اعضای خروجی در پیوندهای متعادل‌کننده بار، همراه با جریان‌ها هش می‌شود\[char46] در صورت تغییر، به همه جریان‌ها مقادیر هش متفاوتی اختصاص می‌یابد که احتمالاً باعث تغییر تصمیمات انتخاب عضو می‌شود\[char46] روی حالت‌های پیوندی که از تعادل بار استفاده نمی‌کنند، مانند \fBactive\-backup\fR، تأثیری ندارد\[char46] .IP "\fBother_config : lb-output-action\fR: optional string, either \fBtrue\fR or \fBfalse\fR" فعال یا غیرفعال کردن استفاده از اقدام بهینه‌سازی‌شده \fBlb_output\fR برای متعادل کردن جریان‌ها میان اعضای خروجی در پیوندهای متعادل‌کننده بار در حالت \fBbalance\-tcp\fR\[char46] در صورت فعال بودن، با استفاده از هش rss مسیر بهینه‌سازی‌شده را برای حالت balance-tcp استفاده کرده و از گردش مجدد (recirculation) جلوگیری می‌کند\[char46] این گزینه بر سایر حالت‌های تعادل بار تأثیری ندارد\[char46] .IP "\fBother_config : bond-primary\fR: optional string" اگر یک رابط عضو با این نام در پیوند وجود داشته باشد و فعال (up) باشد، به عنوان فعال اصلی انتخاب می‌شود\[char46] تنها زمانی مرتبط است که \fBother_config:bond_mode\fR روی \fBactive\-backup\fR باشد یا اگر \fBbalance\-tcp\fR به \fBactive\-backup\fR بازگردد (برای مثال، مذاکره LACP ناموفق باشد و \fBother_config:lacp-fallback-ab\fR برابر با \fBtrue\fR باشد)\[char46] .IP "\fBother_config : all-members-active\fR: optional string, either \fBtrue\fR or \fBfalse\fR" فعال یا غیرفعال کردن تحویل بسته‌های برودکست/مالتی‌کست روی رابط ثانویه یک پیوند balance-slb\[char46] تنها زمانی مرتبط است که \fBlacp\fR روی \fBoff\fR باشد\[char46] .IP این پارامتر با \fBall_slaves_active\fR در پیوندهای هسته لینوکس یکسان است\[char46] به طور پیش‌فرض غیرفعال است زیرا برای اکثر کاربران پیکربندی مطلوبی نیست\[char46] .ST "تشخیص خرابی پیوند (Link Failure Detection):" .PP .PP .PP بخش مهمی از پیوند زدن لینک‌ها، تشخیص قطع شدن لینک‌ها است تا بتوان آن‌ها را غیرفعال کرد\[char46] این تنظیمات نحوه تشخیص خرابی پیوند توسط Open vSwitch را تعیین می‌کنند\[char46] .IP "\fBother_config : bond-detect-mode\fR: optional string, either \fBcarrier\fR or \fBmiimon\fR" روش مورد استفاده برای تشخیص خرابی پیوند\[char46] به طور پیش‌فرض روی \fBcarrier\fR قرار دارد که از حامل سیگنال هر رابط برای تشخیص خرابی استفاده می‌کند\[char46] وقتی روی \fBmiimon\fR تنظیم شود، با پایش وضعیت MII هر رابط، خرابی‌ها را بررسی می‌کند\[char46] .IP "\fBother_config : bond-miimon-interval\fR: optional string, containing an integer" بازه زمانی، بر حسب میلی‌ثانیه، بین تلاش‌های متوالی برای پایش MII هر رابط\[char46] تنها زمانی مرتبط است که \fBother_config:bond-detect-mode\fR روی \fBmiimon\fR باشد\[char46] .IP "\fBbond_updelay\fR: integer" تعداد میلی‌ثانیه‌هایی که پیوند روی یک رابط باید فعال بماند قبل از اینکه آن رابط فعال (up) در نظر گرفته شود\[char46] برای فعال‌سازی فوری رابط، \fB0\fR را مشخص کنید\[char46] .IP این تنظیم تنها زمانی اعمال می‌شود که دست‌کم یک رابط پیوندی از قبل فعال شده باشد\[char46] هنگامی که هیچ رابطی فعال نیست، اولین رابط پیوندی که فعال شود بلافاصله فعال می‌گردد\[char46] .IP "\fBbond_downdelay\fR: integer" تعداد میلی‌ثانیه‌هایی که پیوند روی یک رابط باید قطع بماند قبل از اینکه آن رابط قطع (down) در نظر گرفته شود\[char46] برای غیرفعال‌سازی فوری رابط، \fB0\fR را مشخص کنید\[char46] .ST "پیکربندی LACP (LACP Configuration):" .PP .PP .PP پروتکل LACP (پروتکل کنترل تجمیع پیوند)، یک استاندارد IEEE است که به سوییچ‌ها امکان می‌دهد به طور خودکار تشخیص دهند که توسط چندین پیوند به یکدیگر متصل شده‌اند و آن پیوندها را با یکدیگر تجمیع کنند\[char46] این تنظیمات رفتار LACP را کنترل می‌کنند\[char46] .IP "\fBlacp\fR: optional string, one of \fBactive\fR, \fBoff\fR, or \fBpassive\fR" پروتکل LACP را روی این پورت پیکربندی می‌کند\[char46] پروتکل LACP به سوییچ‌های متصل مستقیم اجازه می‌دهد در مورد اینکه کدام پیوندها ممکن است پیوند شوند مذاکره کنند\[char46] پروتکل LACP ممکن است روی پورت‌های غیرپیوندی به نفع هر سوییچی که ممکن است به آن متصل باشند فعال شود\[char46] پورت‌های \fBactive\fR مجاز به آغاز مذاکرات LACP هستند\[char46] پورت‌های \fBpassive\fR مجاز به شرکت در مذاکرات LACP آغازشده توسط یک سوییچ راه دور هستند، اما خود مجاز به آغاز چنین مذاکراتی نیستند\[char46] اگر LACP روی پورتی فعال شود که سوییچ مقابل آن از LACP پشتیبانی نمی‌کند، پیوند غیرفعال می‌شود، مگر اینکه other-config:lacp-fallback-ab روی true تنظیم شده باشد\[char46] در صورت عدم تنظیم، به طور پیش‌فرض \fBoff\fR است\[char46] .IP "\fBother_config : lacp-system-id\fR: optional string" شناسه سیستم LACP این \fBPort\fR\[char46] شناسه سیستم یک پیوند LACP برای شناسایی خود به طرف مقابل استفاده می‌شود\[char46] باید یک آدرس MAC غیرصفر باشد\[char46] در صورت عدم تنظیم، به طور پیش‌فرض آدرس اترنت پل است\[char46] .IP "\fBother_config : lacp-system-priority\fR: optional string, containing an integer, in range 1 to 65,535" اولویت سیستم LACP این \fBPort\fR\[char46] در مذاکرات LACP، تصمیمات مربوط به وضعیت پیوند توسط سیستمی گرفته می‌شود که اولویت آن از نظر عددی کمتر است\[char46] .IP "\fBother_config : lacp-time\fR: optional string, either \fBfast\fR or \fBslow\fR" زمان‌بندی LACP که باید روی این \fBPort\fR استفاده شود\[char46] به طور پیش‌فرض \fBslow\fR استفاده می‌شود\[char46] هنگامی که روی \fBfast\fR پیکربندی شود، ضربان‌های LACP با نرخ یک بار در ثانیه درخواست می‌شوند که باعث می‌شود مشکلات اتصال سریع‌تر شناسایی شوند\[char46] در حالت \fBslow\fR، ضربان‌ها با نرخ یک بار در هر ۳۰ ثانیه درخواست می‌شوند\[char46] .IP "\fBother_config : lacp-fallback-ab\fR: optional string, either \fBtrue\fR or \fBfalse\fR" رفتار پیوند openvswitch را در حالت LACP تعیین می‌کند\[char46] اگر سوییچ همتا از LACP پشتیبانی نکند، تنظیم این گزینه روی \fBtrue\fR به openvswitch امکان می‌دهد به حالت active-backup بازگردد\[char46] اگر گزینه روی \fBfalse\fR تنظیم شود، پیوند غیرفعال خواهد شد\[char46] در هر دو حالت، هنگامی که سوییچ همتا به حالت LACP پیکربندی شود، پیوند از LACP استفاده خواهد کرد\[char46] .ST "پیکربندی بازتعادل (Rebalancing Configuration):" .PP .PP .PP این تنظیمات رفتار پیوند را در حالت \fBbalance\-slb\fR یا \fBbalance\-tcp\fR کنترل می‌کنند\[char46] .IP "\fBother_config : bond-rebalance-interval\fR: optional string, containing an integer, in range 0 to 2,147,483,647" برای یک پورت پیوندی متعادل‌کننده بار، تعداد میلی‌ثانیه‌ها بین تلاش‌های متوالی برای بازتعادل پیوند، یعنی انتقال جریان‌ها از یک رابط روی پیوند به رابط دیگر در تلاش برای حفظ استفاده تقریباً برابر از هر رابط\[char46] اگر صفر باشد، تعادل بار روی پیوند غیرفعال می‌شود (خرابی پیوند همچنان باعث انتقال جریان‌ها خواهد شد)\[char46] اگر کمتر از ۱۰۰۰ میلی‌ثانیه باشد، بازه بازتعادل ۱۰۰۰ میلی‌ثانیه خواهد بود\[char46] .IP "\fBbond_fake_iface\fR: boolean" برای یک پورت پیوندی، مشخص می‌کند که آیا یک رابط داخلی ساختگی با نام پورت ایجاد شود یا خیر\[char46] تنها برای سازگاری با نرم‌افزارهای قدیمی که به این مورد نیاز دارند استفاده شود\[char46] .ST "پروتکل درخت پوشا (Spanning Tree Protocol):" .PP .PP .PP پیکربندی در اینجا تنها زمانی معنادار است، و وضعیت تنها زمانی تکمیل می‌شود، که پروتکل درخت پوشا استاندارد 802\[char46]1D\-1998 روی \fBBridge\fR پورت از طریق ستون \fBstp_enable\fR آن فعال شده باشد\[char46] .ST "پیکربندی STP (STP Configuration):" .PP .IP "\fBother_config : stp-enable\fR: optional string, either \fBtrue\fR or \fBfalse\fR" هنگامی که STP روی یک پل فعال است، به طور پیش‌فرض روی تمام پورت‌های پل به جز پورت‌های پیوندی، داخلی و آینه‌ای (که با STP کار نمی‌کنند) فعال می‌شود\[char46] اگر مقدار این ستون \fBfalse\fR باشد، STP روی پورت غیرفعال است\[char46] .IP "\fBother_config : stp-port-num\fR: optional string, containing an integer, in range 1 to 255" شماره پورت استفاده‌شده برای ۸ بیت پایینی شناسه پورت (port-id)\[char46] به طور پیش‌فرض، شماره‌ها به صورت خودکار تخصیص می‌یابند\[char46] اگر شماره هر پورتی به صورت دستی روی یک پل پیکربندی شود، همه آن‌ها باید دستی پیکربندی شوند\[char46] .IP "\fBother_config : stp-port-priority\fR: optional string, containing an integer, in range 0 to 255" مقدار اولویت نسبی پورت برای تعیین پورت ریشه (۸ بیت بالایی port-id)\[char46] پورتی با port-id کمتر به عنوان پورت ریشه انتخاب می‌شود\[char46] به طور پیش‌فرض، اولویت 0x80 است\[char46] .IP "\fBother_config : stp-path-cost\fR: optional string, containing an integer, in range 0 to 65,535" هزینه مسیر درخت پوشا برای پورت\[char46] یک عدد کمتر نشان‌دهنده یک پیوند سریع‌تر است\[char46] به طور پیش‌فرض، هزینه بر اساس حداکثر سرعت پیوند تعیین می‌شود\[char46] .ST "وضعیت STP (STP Status):" .PP .IP "\fBstatus : stp_port_id\fR: optional string" شناسه پورت استفاده‌شده در اعلان‌های درخت پوشا برای این پورت، به صورت ۴ رقم هگزادسیمال\[char46] پیکربندی شناسه پورت در کلیدهای \fBstp\-port\-num\fR و \fBstp\-port\-priority\fR در بخش \fBother_config\fR پیش‌تر توصیف شده است\[char46] .IP "\fBstatus : stp_state\fR: optional string, one of \fBblocking\fR, \fBdisabled\fR, \fBforwarding\fR, \fBlearning\fR, or \fBlistening\fR" وضعیت STP پورت\[char46] .IP "\fBstatus : stp_sec_in_state\fR: optional string, containing an integer, at least 0" مدت زمانی که این پورت در وضعیت فعلی STP بوده است، بر حسب ثانیه\[char46] .IP "\fBstatus : stp_role\fR: optional string, one of \fBalternate\fR, \fBdesignated\fR, or \fBroot\fR" نقش STP پورت\[char46] .ST "پروتکل درخت پوشای سریع (Rapid Spanning Tree Protocol):" .PP .PP .PP پیکربندی در اینجا تنها زمانی معنادار است، و وضعیت و آمار تنها زمانی پر می‌شوند، که پروتکل درخت پوشا استاندارد 802\[char46]1D\-1998 روی \fBBridge\fR پورت از طریق ستون \fBstp_enable\fR آن فعال شده باشد\[char46] .ST "پیکربندی RSTP (RSTP Configuration):" .PP .IP "\fBother_config : rstp-enable\fR: optional string, either \fBtrue\fR or \fBfalse\fR" هنگامی که RSTP روی یک پل فعال می‌شود، به طور پیش‌فرض روی تمام پورت‌های پل به جز پورت‌های پیوندی، داخلی و آینه‌ای (که با RSTP کار نمی‌کنند) فعال می‌گردد\[char46] اگر مقدار این ستون \fBfalse\fR باشد، RSTP روی پورت غیرفعال است\[char46] .IP "\fBother_config : rstp-port-priority\fR: optional string, containing an integer, in range 0 to 240" مقدار اولویت نسبی پورت برای تعیین پورت ریشه، با مضارب ۱۶\[char46] به طور پیش‌فرض، اولویت پورت 0x80 (128) است\[char46] هر مقداری در ۴ بیت پایینی گرد می‌شود\[char46] ۴ بیت باارزش بالایی به ۴ بیت بالایی port-id تبدیل می‌شوند\[char46] پورتی با کمترین port-id به عنوان ریشه انتخاب می‌شود\[char46] .IP "\fBother_config : rstp-port-num\fR: optional string, containing an integer, in range 1 to 4,095" شماره پورت محلی RSTP که به عنوان ۱۲ بیت پایینی port-id استفاده می‌شود\[char46] به طور پیش‌فرض شماره‌های پورت به صورت خودکار تخصیص می‌یابند و معمولاً ممکن است با شماره پورت‌های OpenFlow مطابقت نداشته باشند\[char46] پورتی با کمترین port-id به عنوان ریشه انتخاب می‌شود\[char46] .IP "\fBother_config : rstp-path-cost\fR: optional string, containing an integer" هزینه مسیر پورت\[char46] سهم پورت، در زمانی که پورت ریشه است، در هزینه مسیر ریشه برای پل\[char46] به طور پیش‌فرض هزینه به صورت خودکار از سرعت پورت محاسبه می‌شود\[char46] .IP "\fBother_config : rstp-port-admin-edge\fR: optional string, either \fBtrue\fR or \fBfalse\fR" پارامتر پورت لبه مدیریتی (admin edge) برای پورت\[char46] مقدار پیش‌فرض \fBfalse\fR است\[char46] .IP "\fBother_config : rstp-port-auto-edge\fR: optional string, either \fBtrue\fR or \fBfalse\fR" پارامتر پورت لبه خودکار (auto edge) برای پورت\[char46] مقدار پیش‌فرض \fBtrue\fR است\[char46] .IP "\fBother_config : rstp-port-mcheck\fR: optional string, either \fBtrue\fR or \fBfalse\fR" پارامتر پورت mcheck برای پورت\[char46] مقدار پیش‌فرض \fBfalse\fR است\[char46] ممکن است برای وادار کردن ماشین حالت مهاجرت پروتکل پورت به ارسال RST BPDU برای یک دوره MigrateTime تنظیم شود، تا آزمایش شود که آیا همه پل‌های STP روی LAN متصل حذف شده‌اند و پورت می‌تواند به ارسال RSTP BPDU ادامه دهد یا خیر\[char46] تنظیم mcheck در صورتی که پل در حالت سازگاری STP کار کند، هیچ اثری ندارد\[char46] .IP تغییر مقدار از \fBtrue\fR به \fBfalse\fR اثری ندارد، اما اگر قرار باشد این رفتار بعداً با تغییر مقدار از \fBfalse\fR به \fBtrue\fR مجدداً فعال شود، باید انجام گیرد\[char46] .ST "وضعیت RSTP (RSTP Status):" .PP .IP "\fBrstp_status : rstp_port_id\fR: optional string" شناسه پورت استفاده‌شده در اعلان‌های درخت پوشا برای این پورت، به صورت ۴ رقم هگزادسیمال\[char46] پیکربندی شناسه پورت در کلیدهای \fBrstp\-port\-num\fR و \fBrstp\-port\-priority\fR در بخش \fBother_config\fR پیش‌تر توصیف شده است\[char46] .IP "\fBrstp_status : rstp_port_role\fR: optional string, one of \fBAlternate\fR, \fBBackup\fR, \fBDesignated\fR, \fBDisabled\fR, or \fBRoot\fR" نقش RSTP پورت\[char46] .IP "\fBrstp_status : rstp_port_state\fR: optional string, one of \fBDisabled\fR, \fBDiscarding\fR, \fBForwarding\fR, or \fBLearning\fR" وضعیت RSTP پورت\[char46] .IP "\fBrstp_status : rstp_designated_bridge_id\fR: optional string" شناسه پل تعیین‌شده RSTP پورت، در همان قالب \fBrstp_status:rstp_bridge_id\fR در جدول \fBBridge\fR\[char46] .IP "\fBrstp_status : rstp_designated_port_id\fR: optional string" شناسه پورت تعیین‌شده RSTP پورت، به صورت ۴ رقم هگزادسیمال\[char46] .IP "\fBrstp_status : rstp_designated_path_cost\fR: optional string, containing an integer" هزینه مسیر تعیین‌شده RSTP پورت\[char46] عدد کمتر بهتر است\[char46] .ST "آمار RSTP (RSTP Statistics):" .PP .IP "\fBrstp_statistics : rstp_tx_count\fR: optional integer" تعداد RSTP BPDUهای ارسال‌شده از طریق این پورت\[char46] .IP "\fBrstp_statistics : rstp_rx_count\fR: optional integer" تعداد RSTP BPDUهای معتبر دریافت‌شده توسط این پورت\[char46] .IP "\fBrstp_statistics : rstp_error_count\fR: optional integer" تعداد RSTP BPDUهای نامعتبر دریافت‌شده توسط این پورت\[char46] .IP "\fBrstp_statistics : rstp_uptime\fR: optional integer" مدت زمان پوشش‌داده‌شده توسط سایر آمارهای RSTP، بر حسب ثانیه\[char46] .ST "اسنوپینگ چندپخشی (Multicast Snooping):" .PP .IP "\fBother_config : mcast-snooping-flood\fR: optional string, either \fBtrue\fR or \fBfalse\fR" اگر روی \fBtrue\fR تنظیم شود، بسته‌های چندپخشی (به جز Reports) بدون قید و شرط به پورت خاص ارسال می‌شوند\[char46] .IP "\fBother_config : mcast-snooping-flood-reports\fR: optional string, either \fBtrue\fR or \fBfalse\fR" اگر روی \fBtrue\fR تنظیم شود، گزارش‌های چندپخشی (Reports) بدون قید و شرط به پورت خاص ارسال می‌شوند\[char46] .ST "سایر ویژگی‌ها (Other Features):" .PP .IP "\fBqos\fR: optional \fBQoS\fR" پیکربندی کیفیت خدمات (QoS) برای این پورت\[char46] .IP "\fBmac\fR: optional string" آدرس MAC مورد استفاده برای این پورت به منظور انتخاب آدرس MAC پل\[char46] این ستون لزوماً نشان‌دهنده آدرس MAC واقعی پورت نیست، و تنظیم آن نیز آدرس MAC واقعی پورت را تغییر نخواهد داد\[char46] .IP "\fBfake_bridge\fR: boolean" آیا این پورت نشان‌دهنده یک زیرپل (sub-bridge) برای VLAN برچسب‌خورده خود درون Bridge است؟ برای اطلاعات بیشتر به ovs-vsctl(8) مراجعه فرمایید\[char46] .IP "\fBprotected\fR: boolean" ویژگی پورت‌های محافظت‌شده به پورت‌های خاصی اجازه می‌دهد تا به عنوان محافظت‌شده تعیین شوند\[char46] ترافیک بین پورت‌های محافظت‌شده مسدود می‌شود\[char46] پورت‌های محافظت‌شده می‌توانند ترافیک را به پورت‌های محافظت‌نشده ارسال کنند\[char46] پورت‌های محافظت‌نشده می‌توانند ترافیک را به هر پورتی ارسال کنند\[char46] پیش‌فرض false است\[char46] .IP "\fBexternal_ids : fake-bridge-*\fR: optional string" شناسه‌های خارجی برای یک پل ساختگی (به ستون \fBfake_bridge\fR مراجعه کنید) با اضافه کردن پیشوند \fBfake\-bridge\-\fR به کلید \fBexternal_ids\fR در \fBBridge\fR تعریف می‌شوند، برای مثال \fBfake\-bridge\-bridge\-id\fR\[char46] .IP "\fBother_config : transient\fR: optional string, either \fBtrue\fR or \fBfalse\fR" اگر روی \fBtrue\fR تنظیم شود، هنگامی که از دستور \fBovs\-ctl start \-\-delete\-transient\-ports\fR استفاده شود، پورت حذف خواهد شد\[char46] .IP "\fBbond_active_slave\fR: optional string" برای یک پورت پیوندی، آدرس MAC عضو فعال فعلی را ثبت می‌کند\[char46] .ST "آمار پورت (Port Statistics):" .PP .PP .PP جفت‌های کلید\-مقدار که آمار پورت را گزارش می‌دهند\[char46] دوره به‌روزرسانی توسط \fBother_config:stats-update-interval\fR در جدول \fBOpen_vSwitch\fR کنترل می‌شود\[char46] .ST "آمار: شمارنده‌های ارسال و دریافت STP (Statistics: STP transmit and receive counters):" .PP .IP "\fBstatistics : stp_tx_count\fR: optional integer" تعداد BPDUهای STP ارسال‌شده روی این پورت توسط کتابخانه درخت پوشا\[char46] .IP "\fBstatistics : stp_rx_count\fR: optional integer" تعداد BPDUهای STP دریافت‌شده روی این پورت و پذیرفته‌شده توسط کتابخانه درخت پوشا\[char46] .IP "\fBstatistics : stp_error_count\fR: optional integer" تعداد BPDUهای خراب STP دریافت‌شده روی این پورت\[char46] بسته‌های خراب شامل بسته‌های کوتاه (runt) و بسته‌هایی با شناسه پروتکل غیرمنتظره هستند\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBother_config\fR: map of string-string pairs" .IP "\fBexternal_ids\fR: map of string-string pairs" .bp .SH "جدول Interface (Interface TABLE)" .PP یک رابط درون یک \fBPort\fR\[char46] .SS "چکیده (Summary):" .TQ .25in \fIویژگی‌های اصلی (Core Features):\fR .RS .25in .TQ 2.75in \fBname\fR رشته تغییرناپذیر (باید در جدول یکتا باشد) .TQ 2.75in \fBifindex\fR عدد صحیح اختیاری، در محدوده 0 تا 4,294,967,295 .TQ 2.75in \fBmac_in_use\fR رشته اختیاری .TQ 2.75in \fBmac\fR رشته اختیاری .TQ 2.75in \fBerror\fR رشته اختیاری .TQ .25in \fIشماره پورت OpenFlow (OpenFlow Port Number):\fR .RS .25in .TQ 2.50in \fBofport\fR عدد صحیح اختیاری .TQ 2.50in \fBofport_request\fR عدد صحیح اختیاری، در محدوده 1 تا 65,279 .RE .RE .TQ .25in \fIجزئیات وابسته به سیستم (System-Specific Details):\fR .RS .25in .TQ 2.75in \fBtype\fR رشته .RE .TQ .25in \fIگزینه‌های تونل (Tunnel Options):\fR .RS .25in .TQ 2.75in \fBoptions : remote_ip\fR رشته اختیاری .TQ 2.75in \fBoptions : local_ip\fR رشته اختیاری .TQ 2.75in \fBoptions : in_key\fR رشته اختیاری .TQ 2.75in \fBoptions : out_key\fR رشته اختیاری .TQ 2.75in \fBoptions : dst_port\fR رشته اختیاری .TQ 2.75in \fBoptions : key\fR رشته اختیاری .TQ 2.75in \fBoptions : tos\fR رشته اختیاری .TQ 2.75in \fBoptions : ttl\fR رشته اختیاری .TQ 2.75in \fBoptions : df_default\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBoptions : egress_pkt_mark\fR رشته اختیاری .TQ .25in \fIگزینه‌های تونل: فقط vxlan (Tunnel Options: vxlan only):\fR .RS .25in .TQ 2.50in \fBoptions : exts\fR رشته اختیاری .TQ 2.50in \fBoptions : packet_type\fR رشته اختیاری، یکی از \fBlegacy_l2\fR، \fBlegacy_l3\fR، یا \fBptap\fR .RE .TQ .25in \fIگزینه‌های تونل: فقط gre (Tunnel Options: gre only):\fR .RS .25in .TQ 2.50in \fBoptions : packet_type\fR رشته اختیاری، یکی از \fBlegacy_l2\fR، \fBlegacy_l3\fR، یا \fBptap\fR .TQ 2.50in \fBoptions : seq\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIگزینه‌های تونل: gre، ip6gre، geneve، bareudp و vxlan (Tunnel Options):\fR .RS .25in .TQ 2.50in \fBoptions : csum\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIگزینه‌های تونل: IPsec (Tunnel Options: IPsec):\fR .RS .25in .TQ 2.50in \fBoptions : psk\fR رشته اختیاری .TQ 2.50in \fBoptions : remote_cert\fR رشته اختیاری .TQ 2.50in \fBoptions : remote_name\fR رشته اختیاری .RE .RE .TQ .25in \fIگزینه‌های تونل: فقط erspan (Tunnel Options: erspan only):\fR .RS .25in .TQ 2.75in \fBoptions : erspan_idx\fR رشته اختیاری .TQ 2.75in \fBoptions : erspan_ver\fR رشته اختیاری .TQ 2.75in \fBoptions : erspan_dir\fR رشته اختیاری .TQ 2.75in \fBoptions : erspan_hwid\fR رشته اختیاری .RE .TQ .25in \fIگزینه‌های تونل: فقط Bareudp (Tunnel Options: Bareudp only):\fR .RS .25in .TQ 2.75in \fBoptions : payload_type\fR رشته اختیاری .RE .TQ .25in \fIگزینه‌های تونل: فقط srv6 (Tunnel Options: srv6 only):\fR .RS .25in .TQ 2.75in \fBoptions : srv6_segs\fR رشته اختیاری .TQ 2.75in \fBoptions : srv6_flowlabel\fR رشته اختیاری، یکی از \fBcompute\fR، \fBcopy\fR، یا \fBzero\fR .RE .TQ .25in \fIگزینه‌های Patch (Patch Options):\fR .RS .25in .TQ 2.75in \fBoptions : peer\fR رشته اختیاری .RE .TQ .25in \fIگزینه‌های PMD (درایور حالت پولینگ):\fR .RS .25in .TQ 2.75in \fBoptions : n_rxq\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 1 .TQ 2.75in \fBoptions : dpdk-devargs\fR رشته اختیاری .TQ 2.75in \fBother_config : pmd-rxq-affinity\fR رشته اختیاری .TQ 2.75in \fBoptions : xdp-mode\fR رشته اختیاری، یکی از \fBbest\-effort\fR، \fBgeneric\fR، \fBnative\-with\-zerocopy\fR، یا \fBnative\fR .TQ 2.75in \fBoptions : vhost-server-path\fR رشته اختیاری .TQ 2.75in \fBoptions : vhost-max-queue-pairs\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده 1 تا 128 .TQ 2.75in \fBoptions : tx-retries-max\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده 0 تا 32 .TQ 2.75in \fBoptions : n_rxq_desc\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 1 .TQ 2.75in \fBoptions : n_txq_desc\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 1 .TQ 2.75in \fBoptions : dpdk-vf-mac\fR رشته اختیاری .TQ 2.75in \fBoptions : rx-steering\fR رشته اختیاری، یا \fBrss+lacp\fR یا \fBrss\fR .TQ 2.75in \fBother_config : tx-steering\fR رشته اختیاری، یا \fBhash\fR یا \fBthread\fR .RE .TQ .25in \fIپیکربندی EMC (حافظه پنهان تطابق دقیق):\fR .RS .25in .TQ 2.75in \fBother_config : emc-enable\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIواحد انتقال بیشینه (MTU):\fR .RS .25in .TQ 2.75in \fBmtu\fR عدد صحیح اختیاری .TQ 2.75in \fBmtu_request\fR عدد صحیح اختیاری، حداقل 1 .RE .TQ .25in \fIوضعیت رابط (Interface Status):\fR .RS .25in .TQ 2.75in \fBadmin_state\fR رشته اختیاری، یا \fBdown\fR یا \fBup\fR .TQ 2.75in \fBlink_state\fR رشته اختیاری، یا \fBdown\fR یا \fBup\fR .TQ 2.75in \fBlink_resets\fR عدد صحیح اختیاری .TQ 2.75in \fBlink_speed\fR عدد صحیح اختیاری .TQ 2.75in \fBduplex\fR رشته اختیاری، یا \fBfull\fR یا \fBhalf\fR .TQ 2.75in \fBlacp_current\fR بولی اختیاری .TQ 2.75in \fBstatus\fR نگاشتی از جفت‌های رشته-رشته .TQ 2.75in \fBstatus : driver_name\fR رشته اختیاری .TQ 2.75in \fBstatus : driver_version\fR رشته اختیاری .TQ 2.75in \fBstatus : firmware_version\fR رشته اختیاری .TQ 2.75in \fBstatus : peer_ifindex\fR رشته اختیاری .TQ 2.75in \fBstatus : source_ip\fR رشته اختیاری .TQ 2.75in \fBstatus : tunnel_egress_iface\fR رشته اختیاری .TQ 2.75in \fBstatus : tunnel_egress_iface_carrier\fR رشته اختیاری، یا \fBdown\fR یا \fBup\fR .TQ .25in \fIdpdk:\fR .RS .25in .TQ 2.50in \fBstatus : port_no\fR رشته اختیاری .TQ 2.50in \fBstatus : numa_id\fR رشته اختیاری .TQ 2.50in \fBstatus : min_rx_bufsize\fR رشته اختیاری .TQ 2.50in \fBstatus : max_rx_pktlen\fR رشته اختیاری .TQ 2.50in \fBstatus : max_rx_queues\fR رشته اختیاری .TQ 2.50in \fBstatus : max_tx_queues\fR رشته اختیاری .TQ 2.50in \fBstatus : max_mac_addrs\fR رشته اختیاری .TQ 2.50in \fBstatus : max_hash_mac_addrs\fR رشته اختیاری .TQ 2.50in \fBstatus : max_vfs\fR رشته اختیاری .TQ 2.50in \fBstatus : max_vmdq_pools\fR رشته اختیاری .TQ 2.50in \fBstatus : n_rxq\fR رشته اختیاری .TQ 2.50in \fBstatus : n_txq\fR رشته اختیاری .TQ 2.50in \fBstatus : rx_csum_offload\fR رشته اختیاری .TQ 2.50in \fBstatus : if_type\fR رشته اختیاری .TQ 2.50in \fBstatus : if_descr\fR رشته اختیاری .TQ 2.50in \fBstatus : bus_info\fR رشته اختیاری .TQ 2.50in \fBstatus : dpdk-vf-mac\fR رشته اختیاری .TQ 2.50in \fBstatus : rx-steering\fR رشته اختیاری .TQ 2.50in \fBstatus : rx_steering_queue\fR رشته اختیاری .TQ 2.50in \fBstatus : rss_queues\fR رشته اختیاری .RE .TQ .25in \fIdpdkvhostuser:\fR .RS .25in .TQ 2.50in \fBstatus : mode\fR رشته اختیاری .TQ 2.50in \fBstatus : features\fR رشته اختیاری .TQ 2.50in \fBstatus : num_of_vrings\fR رشته اختیاری .TQ 2.50in \fBstatus : numa\fR رشته اختیاری .TQ 2.50in \fBstatus : socket\fR رشته اختیاری .TQ 2.50in \fBstatus : status\fR رشته اختیاری .TQ 2.50in \fBstatus : vring_n_size\fR رشته اختیاری .TQ 2.50in \fBstatus : userspace-tso\fR رشته اختیاری .RE .TQ .25in \fIafxdp:\fR .RS .25in .TQ 2.50in \fBstatus : xdp-mode\fR رشته اختیاری .RE .RE .TQ .25in \fIآمار (Statistics):\fR .RS .25in .TQ .25in \fIآمار: شمارنده‌های ارسال و دریافت موفق (Successful transmit and receive counters):\fR .RS .25in .TQ 2.50in \fBstatistics : rx_packets\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : rx_bytes\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : tx_packets\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : tx_bytes\fR عدد صحیح اختیاری .RE .TQ .25in \fIآمار: خطاهای دریافت (Receive errors):\fR .RS .25in .TQ 2.50in \fBstatistics : rx_dropped\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : rx_frame_err\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : rx_over_err\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : rx_crc_err\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : rx_errors\fR عدد صحیح اختیاری .RE .TQ .25in \fIآمار: خطاهای ارسال (Transmit errors):\fR .RS .25in .TQ 2.50in \fBstatistics : tx_dropped\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : collisions\fR عدد صحیح اختیاری .TQ 2.50in \fBstatistics : tx_errors\fR عدد صحیح اختیاری .RE .RE .TQ .25in \fIسیاست‌گذاری ورودی (Ingress Policing):\fR .RS .25in .TQ 2.75in \fBingress_policing_rate\fR عدد صحیح، حداقل 0 .TQ 2.75in \fBingress_policing_kpkts_rate\fR عدد صحیح، حداقل 0 .TQ 2.75in \fBingress_policing_burst\fR عدد صحیح، حداقل 0 .TQ 2.75in \fBingress_policing_kpkts_burst\fR عدد صحیح، حداقل 0 .RE .TQ .25in \fIتشخیص ارسال دوطرفه (BFD):\fR .RS .25in .TQ .25in \fIپیکربندی BFD (BFD Configuration):\fR .RS .25in .TQ 2.50in \fBbfd : enable\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBbfd : min_rx\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 1 .TQ 2.50in \fBbfd : min_tx\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 1 .TQ 2.50in \fBbfd : decay_min_rx\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.50in \fBbfd : forwarding_if_rx\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBbfd : cpath_down\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBbfd : check_tnl_key\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBbfd : bfd_local_src_mac\fR رشته اختیاری .TQ 2.50in \fBbfd : bfd_local_dst_mac\fR رشته اختیاری .TQ 2.50in \fBbfd : bfd_remote_dst_mac\fR رشته اختیاری .TQ 2.50in \fBbfd : bfd_src_ip\fR رشته اختیاری .TQ 2.50in \fBbfd : bfd_dst_ip\fR رشته اختیاری .TQ 2.50in \fBbfd : oam\fR رشته اختیاری .TQ 2.50in \fBbfd : mult\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده 1 تا 255 .RE .TQ .25in \fIوضعیت BFD (BFD Status):\fR .RS .25in .TQ 2.50in \fBbfd_status : state\fR رشته اختیاری، یکی از \fBadmin_down\fR، \fBdown\fR، \fBinit\fR، یا \fBup\fR .TQ 2.50in \fBbfd_status : forwarding\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBbfd_status : diagnostic\fR رشته اختیاری .TQ 2.50in \fBbfd_status : remote_state\fR رشته اختیاری، یکی از \fBadmin_down\fR، \fBdown\fR، \fBinit\fR، یا \fBup\fR .TQ 2.50in \fBbfd_status : remote_diagnostic\fR رشته اختیاری .TQ 2.50in \fBbfd_status : flap_count\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 0 .RE .RE .TQ .25in \fIمدیریت خطای اتصال (CFM):\fR .RS .25in .TQ 2.75in \fBcfm_mpid\fR عدد صحیح اختیاری .TQ 2.75in \fBcfm_flap_count\fR عدد صحیح اختیاری .TQ 2.75in \fBcfm_fault\fR بولی اختیاری .TQ 2.75in \fBcfm_fault_status : recv\fR بدون مقدار .TQ 2.75in \fBcfm_fault_status : rdi\fR بدون مقدار .TQ 2.75in \fBcfm_fault_status : maid\fR بدون مقدار .TQ 2.75in \fBcfm_fault_status : loopback\fR بدون مقدار .TQ 2.75in \fBcfm_fault_status : overflow\fR بدون مقدار .TQ 2.75in \fBcfm_fault_status : override\fR بدون مقدار .TQ 2.75in \fBcfm_fault_status : interval\fR بدون مقدار .TQ 2.75in \fBcfm_remote_opstate\fR رشته اختیاری، یا \fBdown\fR یا \fBup\fR .TQ 2.75in \fBcfm_health\fR عدد صحیح اختیاری، در محدوده 0 تا 100 .TQ 2.75in \fBcfm_remote_mpids\fR مجموعه‌ای از اعداد صحیح .TQ 2.75in \fBother_config : cfm_interval\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : cfm_extended\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : cfm_demand\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : cfm_opstate\fR رشته اختیاری، یا \fBdown\fR یا \fBup\fR .TQ 2.75in \fBother_config : cfm_ccm_vlan\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده 1 تا 4,095 .TQ 2.75in \fBother_config : cfm_ccm_pcp\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده 1 تا 7 .RE .TQ .25in \fIپیکربندی پیوند (Bonding Configuration):\fR .RS .25in .TQ 2.75in \fBother_config : lacp-port-id\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده 1 تا 65,535 .TQ 2.75in \fBother_config : lacp-port-priority\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده 1 تا 65,535 .TQ 2.75in \fBother_config : lacp-aggregation-key\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده 1 تا 65,535 .RE .TQ .25in \fIشناسه‌های ماشین مجازی (Virtual Machine Identifiers):\fR .RS .25in .TQ 2.75in \fBexternal_ids : attached-mac\fR رشته اختیاری .TQ 2.75in \fBexternal_ids : iface-id\fR رشته اختیاری .TQ 2.75in \fBexternal_ids : iface-status\fR رشته اختیاری، یا \fBactive\fR یا \fBinactive\fR .TQ 2.75in \fBexternal_ids : vm-id\fR رشته اختیاری .RE .TQ .25in \fIپیکربندی Auto Attach (Auto Attach Configuration):\fR .RS .25in .TQ 2.75in \fBlldp : enable\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIپیکربندی کنترل جریان (Flow control Configuration):\fR .RS .25in .TQ 2.75in \fBoptions : rx-flow-ctrl\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBoptions : tx-flow-ctrl\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBoptions : flow-ctrl-autoneg\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIحالت تشخیص تغییر وضعیت پیوند (Link State Change detection mode):\fR .RS .25in .TQ 2.75in \fBoptions : dpdk-lsc-interrupt\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIپیکربندی تخلیه بار سخت‌افزاری (Hardware Offload Configuration):\fR .RS .25in .TQ 2.75in \fBother_config : hw-offload-priority\fR رشته اختیاری .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBother_config\fR نگاشتی از جفت‌های رشته-رشته .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details):" .ST "ویژگی‌های اصلی (Core Features):" .PP .IP "\fBname\fR: رشته تغییرناپذیر (باید در جدول یکتا باشد)" نام رابط\[char46] باید حروفی\-عددی باشد\[char46] برای پورت‌های بدون پیوند (non-bonded)، این نام باید با نام پورت یکسان باشد\[char46] در غیر این صورت باید در میان نام‌های پورت‌ها، رابط‌ها و پل‌های موجود روی میزبان یکتا باشد\[char46] .IP حداکثر طول نام رابط به مسیر داده (datapath) زیرین بستگی دارد: .RS .IP \(bu نام رابط‌هایی که به عنوان دستگاه‌های شبکه لینوکس و BSD پیاده‌سازی شده‌اند، شامل رابط‌های از نوع \fBinternal\fR، \fBtap\fR یا \fBsystem\fR به علاوه انواع مختلف پورت‌های تونل، به 15 بایت محدود می‌شوند\[char46] به طور کلی، پیاده‌سازی‌های مختلف مسیر داده ممکن است محدودیت‌های متفاوتی داشته باشند\[char46] .IP \(bu نام‌های پورت‌های patch در مسیر داده زیرین استفاده نمی‌شوند، بنابراین محدودیت‌های سیستم‌عامل برای آن‌ها اعمال نمی‌شود\[char46] در نتیجه، می‌توانند طول دلخواهی داشته باشند\[char46] .RE .IP صرف‌نظر از سایر محدودیت‌ها، OpenFlow تنها از نام‌های 15 بایتی پشتیبانی می‌کند، که به این معنی است که \fBovs\-ofctl\fR و کنترل‌کننده‌های OpenFlow نام‌ها را برش‌خورده به 15 بایت نمایش خواهند داد\[char46] .IP "\fBifindex\fR: عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295" یک شاخص مثبت رابط مطابق با تعریف SNMP MIB-II در RFCهای 1213 و 2863، در صورتی که رابط دارای آن باشد، در غیر این صورت 0\[char46] مقدار ifindex برای یکپارچه‌سازی بی‌نقص با پروتکل‌هایی مانند SNMP و sFlow مفید است\[char46] .IP "\fBmac_in_use\fR: رشته اختیاری" آدرس MAC در حال استفاده توسط این رابط\[char46] .IP "\fBmac\fR: رشته اختیاری" آدرس اترنت که برای این رابط تنظیم می‌شود\[char46] در صورت عدم تنظیم، از آدرس MAC پیش‌فرض استفاده می‌شود: .RS .IP \(bu برای رابط محلی، مقدار پیش‌فرض کمترین شماره آدرس MAC در میان سایر پورت‌های پل است؛ یا مقدار \fBmac\fR در رکورد \fBPort\fR آن (در صورت تنظیم)، یا آدرس MAC واقعی آن (برای پورت‌های پیوندی، آدرس MAC عضوی که نامش از نظر الفبایی اول است)\[char46] پورت‌های داخلی و پورت‌های پلی که به عنوان مقصدهای آینه‌سازی پورت استفاده می‌شوند (جدول \fBMirror\fR را ببینید) نادیده گرفته می‌شوند\[char46] .IP \(bu برای سایر رابط‌های داخلی، آدرس MAC پیش‌فرض به صورت تصادفی تولید می‌شود\[char46] .IP \(bu رابط‌های خارجی معمولاً دارای یک آدرس MAC مرتبط با سخت‌افزار خود هستند\[char46] .RE .IP برخی از رابط‌ها ممکن است آدرس MAC قابل کنترل توسط نرم‌افزار نداشته باشند\[char46] این گزینه فقط بر پورت‌های داخلی تأثیر می‌گذارد\[char46] برای سایر انواع پورت‌ها، می‌توانید آدرس MAC را در خارج از Open vSwitch با استفاده از دستور ip تغییر دهید\[char46] .IP "\fBerror\fR: رشته اختیاری" اگر پیکربندی پورت با شکست مواجه شود، همان‌طور که با مقدار \-1 در \fBofport\fR مشخص می‌شود، Open vSwitch این ستون را با توضیحی درباره خطا به فرم قابل خواندن برای انسان تنظیم می‌کند\[char46] در غیر این صورت، Open vSwitch این ستون را پاک می‌نماید\[char46] .ST "شماره پورت OpenFlow (OpenFlow Port Number):" .PP .PP .PP هنگامی که یک کلاینت یک رابط جدید اضافه می‌کند، Open vSwitch یک شماره پورت OpenFlow برای پورت جدید انتخاب می‌کند\[char46] اگر کلاینتی که پورت را اضافه می‌کند مقدار \fBofport_request\fR را پر کرده باشد، در این صورت Open vSwitch سعی می‌کند از مقدار آن به عنوان شماره پورت OpenFlow استفاده کند\[char46] در غیر این صورت، یا اگر شماره پورت درخواستی قبلاً استفاده شده باشد یا به دلیل دیگری نتواند استفاده شود، Open vSwitch به طور خودکار یک شماره پورت آزاد را اختصاص می‌دهد\[char46] صرف‌نظر از چگونگی به دست آمدن شماره پورت، Open vSwitch سپس شماره پورت اختصاص‌یافته واقعی را در \fBofport\fR گزارش می‌دهد\[char46] .PP .PP سامانه Open vSwitch شماره پورت‌هایی را که به طور خودکار اختصاص می‌دهد به بازه 1 تا 32,767 (شامل خود آن‌ها) محدود می‌کند\[char46] بنابراین، کنترل‌کننده‌ها می‌توانند آزادانه از پورت‌های 32,768 به بالا استفاده کنند\[char46] .IP "\fBofport\fR: عدد صحیح اختیاری" شماره پورت OpenFlow برای این رابط\[char46] مقدار این ستون توسط Open vSwitch تنظیم می‌شود، بنابراین سایر کلاینت‌ها باید با آن به عنوان فقط‌خواندنی رفتار کنند\[char46] .IP پورت «محلی» OpenFlow برابر با (\fBOFPP_LOCAL\fR) 65,534 است\[char46] سایر شماره پورت‌های معتبر در بازه 1 تا 65,279 (شامل خود آن‌ها) قرار دارند\[char46] مقدار \-1 نشان‌دهنده بروز خطا در افزودن رابط است\[char46] .IP "\fBofport_request\fR: عدد صحیح اختیاری، در بازه 1 تا 65,279" شماره پورت درخواستی OpenFlow برای این رابط\[char46] .IP بهتر است کلاینت مقدار این ستون را در همان تراکنش پایگاه‌داده‌ای که برای ایجاد رابط استفاده می‌کند، تنظیم نماید\[char46] نسخه 2\[char46]1 و نسخه‌های بعدی Open vSwitch به درخواست‌های بعدی برای یک شماره پورت خاص احترام می‌گذارند، اگرچه ممکن است برخی از کنترل‌کننده‌ها را سردرگم کند: OpenFlow روشی برای اعلام تغییر شماره پورت ندارد، بنابراین Open vSwitch آن را در OpenFlow به صورت حذف پورت و بلافاصله پس از آن افزودن پورت نمایش می‌دهد\[char46] .IP اگر \fBofport_request\fR بر روی شماره پورت اختصاص‌یافته خودکار پورت دیگری تنظیم یا تغییر داده شود، Open vSwitch یک شماره پورت جدید برای پورت دوم انتخاب می‌کند\[char46] .ST "جزئیات وابسته به سیستم (System-Specific Details):" .PP .IP "\fBtype\fR: رشته" نوع رابط\[char46] انواع پشتیبانی‌شده توسط یک نمونه خاص از Open vSwitch در ستون \fBiface_types\fR در جدول \fBOpen_vSwitch\fR فهرست شده‌اند\[char46] انواع زیر تعریف شده‌اند: .RS .TP \fBsystem\fR یک دستگاه شبکه معمولی، مانند \fBeth0\fR در لینوکس\[char46] گاهی اوقات به عنوان «رابط‌های خارجی» از آن‌ها یاد می‌شود زیرا معمولاً به سخت‌افزاری متصل هستند که خارج از سیستمی است که Open vSwitch روی آن اجرا می‌شود\[char46] رشته خالی مترادفی برای \fBsystem\fR است\[char46] .TP \fBinternal\fR یک دستگاه شبکه شبیه‌سازی‌شده که ترافیک را ارسال و دریافت می‌کند\[char46] یک رابط داخلی که \fBname\fR آن با \fBname\fR پل آن یکسان باشد، «رابط محلی» نامیده می‌شود\[char46] پیوند دادن (bonding) یک رابط داخلی معنایی ندارد، بنابراین اصطلاحات «پورت» و «رابط» اغلب برای رابط‌های داخلی به صورت غیردقیق به کار می‌روند\[char46] .TP \fBtap\fR یک دستگاه TUN/TAP که توسط Open vSwitch مدیریت می‌شود\[char46] .IP سامانه Open vSwitch وضعیت رابط را پیش از ارسال بسته‌ها به دستگاه بررسی می‌کند\[char46] هنگامی که وضعیت آن \fBdown\fR باشد، بسته‌ها دور ریخته می‌شوند و آمار tx_dropped متناسب با آن به‌روزرسانی می‌شود\[char46] نسخه‌های قدیمی‌تر Open vSwitch وضعیت رابط را بررسی نمی‌کردند و در نتیجه مقدار tx_packets همراه با tx_dropped افزایش می‌یافت\[char46] .TP \fBgeneve\fR یک تونل IPv4/IPv6 اترنت روی Geneve (\fBhttp://tools\[char46]ietf\[char46]org/html/draft\-ietf\-nvo3\-geneve\fR)\[char46] شرح نحوه تطابق و تنظیم گزینه‌های Geneve را می‌توان در صفحه راهنمای \fBovs\-ofctl\fR یافت\[char46] .TP \fBgre\fR تونل کپسوله‌سازی مسیریابی عمومی (GRE) روی IPv4، با قابلیت پیکربندی برای کپسوله‌سازی ترافیک لایه 2 یا لایه 3\[char46] .TP \fBip6gre\fR تونل کپسوله‌سازی مسیریابی عمومی (GRE) روی IPv6، برای کپسوله‌سازی ترافیک لایه 2\[char46] .TP \fBvxlan\fR یک تونل اترنت روی پروتکل مبتنی بر UDP با نام VXLAN که در RFC 7348 شرح داده شده است\[char46] .IP سامانه Open vSwitch از پورت مقصد UDP با شماره 4789 که توسط IANA تخصیص یافته استفاده می‌کند\[char46] پورت مبدأ استفاده‌شده برای ترافیک VXLAN بر اساس هر جریان متغیر است و در محدوده پورت‌های زودگذر (ephemeral) قرار دارد\[char46] .TP \fBpatch\fR یک جفت دستگاه مجازی که مانند کابل پچ (patch cable) عمل می‌کنند\[char46] .TP \fBgtpu\fR پروتکل تونل‌سازی GPRS به اختصار (GTP)، گروهی از پروتکل‌های ارتباطی مبتنی بر IP است که برای انتقال سرویس عمومی بسته‌های رادیویی (GPRS) در شبکه‌های GSM، UMTS و LTE استفاده می‌شود\[char46] پروتکل GTP-U برای انتقال داده‌های کاربر درون شبکه اصلی GPRS و بین شبکه دسترسی رادیویی و شبکه اصلی استفاده می‌شود\[char46] داده‌های کاربر منتقل‌شده می‌توانند بسته‌هایی در هر یک از قالب‌های IPv4، IPv6 یا PPP باشند\[char46] .IP این پروتکل در نشانی http://www\[char46]3gpp\[char46]org/DynaReport/29281\[char46]htm مستند شده است\[char46] .IP سامانه Open vSwitch از پورت مقصد UDP با شماره 2152 استفاده می‌کند\[char46] پورت مبدأ استفاده‌شده برای ترافیک GTP بر اساس هر جریان متغیر است و در محدوده پورت‌های زودگذر قرار دارد\[char46] .TP \fBBareudp\fR تونل Bareudp پشتیبانی عمومی از کپسوله‌سازی L3 را برای تونل‌سازی پروتکل‌های مختلف L3 مانند MPLS، IP، NSH و غیره در داخل یک تونل UDP فراهم می‌کند\[char46] .TP \fBsrv6\fR تونل مسیریابی بخش IPv6 به اختصار (SRv6)، ترافیک L3 را به صورت «IPv6 در IPv6» یا «IPv4 در IPv6» همراه با هدر مسیریابی بخش (SRH) تعریف‌شده در RFC 8754 کپسوله می‌کند\[char46] فهرست بخش‌ها در SRH را می‌توان با استفاده از یک گزینه ویژه SRv6 تنظیم کرد\[char46] .RE .ST "گزینه‌های تونل (Tunnel Options):" .PP .PP .PP این گزینه‌ها برای رابط‌هایی با \fBtype\fR از نوع \fBgeneve\fR، \fBbareudp\fR، \fBgre\fR، \fBip6gre\fR، \fBvxlan\fR و \fBsrv6\fR اعمال می‌شوند\[char46] .PP .PP هر تونل باید به طور یکتا با ترکیبی از \fBtype\fR، \fBoptions:remote_ip\fR، \fBoptions:local_ip\fR و \fBoptions:in_key\fR شناسایی شود\[char46] اگر دو پورت تعریف شوند که یکسان باشند به جز اینکه یکی دارای شناسه اختیاری باشد و دیگری نباشد، موردی که خاص‌تر است ابتدا مطابقت داده می‌شود\[char46] اگر یک پورت یکی را تعریف کند و پورت دیگر دیگری را، \fBoptions:in_key\fR خاص‌تر از \fBoptions:local_ip\fR در نظر گرفته می‌شود\[char46] گزینه \fBoptions:in_key\fR برای تونل‌های bareudp و srv6 کاربرد ندارد\[char46] بنابراین هنگام شناسایی تونل‌های bareudp یا srv6 در نظر گرفته نمی‌شود\[char46] .IP "\fBoptions : remote_ip\fR: رشته اختیاری" الزامی\[char46] نقطه پایانی راه دور تونل، یکی از موارد زیر: .RS .IP \(bu یک آدرس IPv4 یا IPv6 (نه یک نام DNS)، برای مثال \fB192\[char46]168\[char46]0\[char46]123\fR\[char46] فقط نقاط پایانی تک‌پخشی (unicast) پشتیبانی می‌شوند\[char46] .IP \(bu کلمه \fBflow\fR\[char46] تونل بسته‌ها را از هر نقطه پایانی راه دور تونل می‌پذیرد\[char46] برای پردازش بسته‌ها فقط از یک نقطه پایانی راه دور مشخص تونل، مدخل‌های جریان می‌توانند روی فیلد \fBtun_src\fR یا \fBtun_ipv6_src\fR مطابقت داده شوند\[char46] هنگام ارسال بسته‌ها به یک تونل با \fBremote_ip=flow\fR، کنش‌های جریان باید فیلد \fBtun_dst\fR یا \fBtun_ipv6_dst\fR را صراحتاً روی آدرس IP نقطه پایانی راه دور مورد نظر تنظیم کنند، مثلاً با یک کنش \fBset_field\fR\[char46] .RE .IP نقطه پایانی راه دور تونل برای هر بسته دریافتی از تونل، در فیلد \fBtun_src\fR برای تطبیق در جدول جریان در دسترس است\[char46] .IP "\fBoptions : local_ip\fR: رشته اختیاری" اختیاری\[char46] آدرس IP مقصد تونل که بسته‌های دریافتی باید با آن مطابقت داشته باشند\[char46] حالت پیش‌فرض تطبیق با همه آدرس‌ها است\[char46] در صورت مشخص شدن، می‌تواند یکی از موارد زیر باشد: .RS .IP \(bu یک آدرس IPv4/IPv6 (نه یک نام DNS)، برای مثال \fB192\[char46]168\[char46]12\[char46]3\fR\[char46] .IP \(bu کلمه \fBflow\fR\[char46] تونل بسته‌های ارسالی به هر یک از آدرس‌های IP محلی سیستم اجراکننده OVS را می‌پذیرد\[char46] برای پردازش بسته‌های ارسالی فقط به یک آدرس IP مشخص، مدخل‌های جریان می‌توانند روی فیلد \fBtun_dst\fR یا \fBtun_ipv6_dst\fR مطابقت داده شوند\[char46] هنگام ارسال بسته‌ها به یک تونل با \fBlocal_ip=flow\fR، کنش‌های جریان می‌توانند فیلد \fBtun_src\fR یا \fBtun_ipv6_src\fR را صراحتاً روی آدرس IP مورد نظر تنظیم کنند، مثلاً با یک کنش \fBset_field\fR\[char46] با این حال، هنگام مسیریابی بسته تونل‌شده به بیرون، سیستم محلی ممکن است آدرس مشخص‌شده را با آدرس IP محلی پیکربندی‌شده برای رابط خروجی سیستم جایگزین کند\[char46] .IP این گزینه فقط برای تونل‌هایی معتبر است که با گزینه \fBremote_ip=flow\fR نیز پیکربندی شده باشند\[char46] .RE .IP آدرس IP مقصد تونل برای هر بسته دریافتی از یک تونل، در فیلد \fBtun_dst\fR یا \fBtun_ipv6_dst\fR برای تطبیق در جدول جریان در دسترس است\[char46] .IP "\fBoptions : in_key\fR: رشته اختیاری" اختیاری، برای \fBbareudp\fR و \fBsrv6\fR کاربرد ندارد\[char46] کلیدی که بسته‌های دریافتی باید شامل آن باشند، یکی از موارد زیر: .RS .IP \(bu \fB0\fR\[char46] تونل بسته‌های بدون کلید یا با کلید 0 را دریافت می‌کند\[char46] این معادل مشخص نکردن هیچ \fBoptions:in_key\fR است\[char46] .IP \(bu یک عدد مثبت 24 بیتی (برای Geneve و VXLAN) یا 32 بیتی (برای GRE)\[char46] تونل فقط بسته‌های دارای کلید مشخص‌شده را دریافت می‌کند\[char46] .IP \(bu کلمه \fBflow\fR\[char46] تونل بسته‌ها را با هر کلیدی می‌پذیرد\[char46] کلید در فیلد \fBtun_id\fR برای تطبیق در جدول جریان قرار داده خواهد شد\[char46] صفحه راهنمای \fBovs\-fields\fR(7) حاوی اطلاعات تکمیلی در مورد فیلدهای تطبیق در جریان‌های OpenFlow است\[char46] .RE .IP .IP "\fBoptions : out_key\fR: رشته اختیاری" اختیاری، برای \fBbareudp\fR و \fBsrv6\fR کاربرد ندارد\[char46] کلیدی که باید روی بسته‌های خروجی تنظیم شود، یکی از موارد زیر: .RS .IP \(bu \fB0\fR\[char46] بسته‌های ارسال‌شده از طریق تونل هیچ کلیدی نخواهند داشت\[char46] این معادل مشخص نکردن هیچ \fBoptions:out_key\fR است\[char46] .IP \(bu یک عدد مثبت 24 بیتی (برای Geneve و VXLAN) یا 32 بیتی (برای GRE)\[char46] بسته‌های ارسال‌شده از طریق تونل دارای کلید مشخص‌شده خواهند بود\[char46] .IP \(bu کلمه \fBflow\fR\[char46] بسته‌های ارسال‌شده از طریق تونل، کلید تنظیم‌شده با استفاده از افزونه ارائه‌دهنده \fBset_tunnel\fR در Nicira OpenFlow را خواهند داشت (در صورت عدم وجود کنش، 0 استفاده می‌شود)\[char46] صفحه راهنمای \fBovs\-fields\fR(7) شامل اطلاعات تکمیلی درباره افزونه‌های ارائه‌دهنده Nicira OpenFlow است\[char46] .RE .IP "\fBoptions : dst_port\fR: رشته اختیاری" اختیاری\[char46] پورت مقصد لایه انتقال تونل، برای پروتکل‌های تونل مبتنی بر UDP (مانند Geneve و VXLAN)\[char46] .IP "\fBoptions : key\fR: رشته اختیاری" اختیاری\[char46] روشی خلاصه برای تنظیم هم‌زمان \fBin_key\fR و \fBout_key\fR\[char46] .IP "\fBoptions : tos\fR: رشته اختیاری" اختیاری\[char46] مقدار بیت‌های ToS که باید روی بسته کپسوله‌کننده تنظیم شود\[char46] بیت‌های ToS به عنوان بیت‌های DSCP و ECN تفسیر می‌شوند و بخش ECN باید صفر باشد\[char46] همچنین می‌تواند کلمه \fBinherit\fR باشد که در این صورت، اگر بسته درونی IPv4 یا IPv6 باشد، ToS از آن رونوشت می‌شود (در غیر این صورت 0 خواهد بود)\[char46] فیلدهای ECN همیشه به ارث برده می‌شوند\[char46] مقدار پیش‌فرض 0 است\[char46] .IP "\fBoptions : ttl\fR: رشته اختیاری" اختیاری\[char46] مقدار TTL که باید روی بسته کپسوله‌کننده تنظیم شود\[char46] همچنین می‌تواند کلمه \fBinherit\fR باشد که در این صورت، اگر بسته درونی IPv4 یا IPv6 باشد، TTL از آن رونوشت می‌شود (در غیر این صورت مقدار پیش‌فرض سیستم خواهد بود که معمولاً 64 است)\[char46] مقدار پیش‌فرض برابر با TTL پیش‌فرض سیستم است\[char46] .IP "\fBoptions : df_default\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اختیاری\[char46] در صورت فعال بودن، بیت Don\(cqt Fragment روی هدرهای بیرونی تونل تنظیم می‌شود تا امکان کشف MTU مسیر فراهم گردد\[char46] مقدار پیش‌فرض فعال است؛ برای غیرفعال کردن روی \fBfalse\fR تنظیم کنید\[char46] .IP "\fBoptions : egress_pkt_mark\fR: رشته اختیاری" اختیاری\[char46] مقدار pkt_mark که باید روی بسته کپسوله‌کننده تنظیم شود\[char46] این گزینه نشان بسته را برای نقطه پایانی تونل برای تمام بسته‌های تونل شامل پایش تونل تنظیم می‌کند\[char46] .ST "گزینه‌های تونل: فقط vxlan:" .PP .IP "\fBoptions : exts\fR: رشته اختیاری" اختیاری\[char46] فهرستی از افزونه‌های اختیاری VXLAN جداشده با کاما برای فعال‌سازی\[char46] افزونه‌های زیر پشتیبانی می‌شوند: .RS .IP \(bu \fBgbp\fR: افزونه VXLAN-GBP امکان انتقال زمینه سیاست گروهی (group policy context) یک بسته را در سرتاسر تونل VXLAN به سایر همتایان شبکه فراهم می‌سازد\[char46] برای اطلاعات بیشتر توضیحات \fBtun_gbp_id\fR و \fBtun_gbp_flags\fR را در \fBovs\-fields\fR(7) مشاهده کنید\[char46] (\fBhttps://tools\[char46]ietf\[char46]org/html/draft\-smith\-vxlan\-group\-policy\fR) .IP \(bu \fBgpe\fR: پشتیبانی از کپسوله‌سازی پروتکل عمومی بر اساس پیش‌نویس IETF \fBhttps://tools\[char46]ietf\[char46]org/html/draft\-ietf\-nvo3\-vxlan\-gpe\fR\[char46] بدون این گزینه، یک بسته VXLAN همیشه یک فریم اترنت را کپسوله می‌کند\[char46] با این گزینه، یک بسته VXLAN ممکن است بسته‌های IPv4، IPv6، NSH یا MPLS را نیز کپسوله کند\[char46] .RE .IP "\fBoptions : packet_type\fR: رشته اختیاری، یکی از \fBlegacy_l2\fR، \fBlegacy_l3\fR، یا \fBptap\fR" این گزینه کنترل می‌کند که تونل چه انواعی از بسته‌ها را ارسال و دریافت کند و چگونه آن‌ها را نمایش دهد: .RS .IP \(bu به طور پیش‌فرض، یا در صورتی که این گزینه \fBlegacy_l2\fR باشد، تونل فقط فریم‌های اترنت را ارسال و دریافت می‌کند\[char46] .IP \(bu اگر این گزینه \fBlegacy_l3\fR باشد، تونل فقط بسته‌های غیر اترنت (L3) را ارسال و دریافت می‌کند، اما بسته‌ها برای سازگاری با کنترل‌کننده‌های قدیمی OpenFlow که انتظار این رفتار را دارند، به عنوان فریم‌های اترنت نمایش داده می‌شوند\[char46] این امر نیازمند فعال‌سازی \fBgpe\fR در \fBoptions:exts\fR است\[char46] .IP \(bu اگر این گزینه \fBptap\fR باشد، Open vSwitch بسته‌های موجود در تونل را با استفاده از مکانیزم \fBpacket_type\fR معرفی‌شده در OpenFlow 1\[char46]5 نمایش می‌دهد\[char46] این مکانیزم از هر نوع بسته‌ای پشتیبانی می‌کند، اما ارسال و دریافت واقعی بسته‌های غیر اترنت نیازمند فعال‌سازی اضافی \fBgpe\fR در \fBoptions:exts\fR است\[char46] .RE .ST "گزینه‌های تونل: فقط gre:" .PP .PP .PP رابط‌های \fBgre\fR از این گزینه‌ها پشتیبانی می‌کنند\[char46] .IP "\fBoptions : packet_type\fR: رشته اختیاری، یکی از \fBlegacy_l2\fR، \fBlegacy_l3\fR، یا \fBptap\fR" این گزینه کنترل می‌کند که تونل چه نوع بسته‌هایی را ارسال و دریافت کند و چگونه آن‌ها را نمایش دهد: .RS .IP \(bu به طور پیش‌فرض، یا اگر این گزینه \fBlegacy_l2\fR باشد، تونل فقط فریم‌های اترنت را ارسال و دریافت می‌کند\[char46] .IP \(bu اگر این گزینه \fBlegacy_l3\fR باشد، تونل فقط بسته‌های غیر اترنت (L3) را ارسال و دریافت می‌کند، اما بسته‌ها برای سازگاری با کنترل‌کننده‌های قدیمی OpenFlow که انتظار این رفتار را دارند به صورت فریم‌های اترنت نمایش داده می‌شوند\[char46] .IP \(bu اگر این گزینه \fBptap\fR باشد، تونل هر نوع بسته‌ای را ارسال و دریافت می‌کند\[char46] سامانه Open vSwitch بسته‌ها را در تونل با استفاده از مکانیزم \fBpacket_type\fR معرفی‌شده در OpenFlow 1\[char46]5 نمایش می‌دهد\[char46] .RE .IP "\fBoptions : seq\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اختیاری\[char46] یک فیلد شماره ترتیب 4 بایتی فقط برای تونل GRE\[char46] مقدار پیش‌فرض غیرفعال است، برای فعال‌سازی روی \fBtrue\fR تنظیم کنید\[char46] شماره ترتیب با هر بسته خروجی یک واحد افزایش می‌یابد\[char46] .ST "گزینه‌های تونل: gre، ip6gre، geneve، bareudp و vxlan:" .PP .PP .PP رابط‌های \fBgre\fR، \fBip6gre\fR، \fBgeneve\fR، \fBbareudp\fR و \fBvxlan\fR از این گزینه‌ها پشتیبانی می‌کنند\[char46] .IP "\fBoptions : csum\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اختیاری\[char46] محاسبه چکسام‌های هدر کپسوله‌سازی (یا GRE یا UDP) روی بسته‌های خروجی\[char46] در صورت عدم تنظیم (مقدار پیش‌فرض)، محاسبه چکسام برای بسته‌های خروجی برای تونل‌های UDP IPv6 فعال است و برای تونل‌های GRE و UDP IPv4 غیرفعال می‌باشد\[char46] هنگامی که روی \fBfalse\fR تنظیم شود، هیچ چکسامی برای هدرهای کپسوله‌سازی تونل خروجی محاسبه نخواهد شد\[char46] هنگامی که \fBtrue\fR باشد، چکسام‌ها برای تمام هدرهای کپسوله‌سازی تونل خروجی محاسبه می‌شوند\[char46] چکسام‌های موجود در بسته‌های ورودی صرف‌نظر از این تنظیم اعتبارسنجی خواهند شد\[char46] بسته‌های ورودی بدون چکسام نیز صرف‌نظر از این تنظیم پذیرفته خواهند شد\[char46] .IP هنگام استفاده از مسیر داده (datapath) هسته لینوکس، محاسبه چکسام‌ها برای \fBgeneve\fR و \fBvxlan\fR نیازمند نسخه 4\[char46]0 یا بالاتر هسته لینوکس است\[char46] رابط‌های \fBgre\fR و \fBip6gre\fR از چکسام‌ها در تمام نسخه‌های Open vSwitch که از GRE پشتیبانی می‌کنند، پشتیبانی می‌نمایند\[char46] .ST "گزینه‌های تونل: IPsec:" .PP .PP .PP تنظیم هر یک از این گزینه‌ها پشتیبانی از IPsec را برای یک تونل مشخص فعال می‌کند\[char46] رابط‌های \fBgre\fR، \fBgeneve\fR و \fBvxlan\fR از این گزینه‌ها پشتیبانی می‌کنند\[char46] برای توضیحات هر حالت، بخش \fBIPsec\fR در جدول \fBOpen_vSwitch\fR را مشاهده کنید\[char46] .IP "\fBoptions : psk\fR: رشته اختیاری" فقط در حالت PSK، راز پیش‌اشتراک‌گذاشته‌شده برای مذاکره تونل\[char46] این مقدار باید در هر دو انتهای تونل مطابقت داشته باشد\[char46] .IP "\fBoptions : remote_cert\fR: رشته اختیاری" فقط در حالت گواهی خودامضا (self-signed)، نام یک فایل PEM شامل گواهی سوئیچ راه دور\[char46] گواهی باید x\[char46]509 نسخه 3 بوده و رشته موجود در نام مشترک (CN) آن در نام جایگزین موضوع (SAN) نیز تنظیم شده باشد\[char46] .IP "\fBoptions : remote_name\fR: رشته اختیاری" فقط در حالت گواهی امضاشده توسط CA، نام مشترک (CN) گواهی راه دور\[char46] .ST "گزینه‌های تونل: فقط erspan:" .PP .PP .PP تنها رابط‌های \fBerspan\fR از این گزینه‌ها پشتیبانی می‌کنند\[char46] .IP "\fBoptions : erspan_idx\fR: رشته اختیاری" شاخص/شماره پورت 20 بیتی مرتبط با پورت مبدأ ترافیک ERSPAN و جهت آن (ورودی/خروجی)\[char46] این فیلد وابسته به پلتفرم است\[char46] .IP "\fBoptions : erspan_ver\fR: رشته اختیاری" نسخه ERSPAN: مقدار 1 برای نسخه 1 (نوع II) یا 2 برای نسخه 2 (نوع III)\[char46] .IP "\fBoptions : erspan_dir\fR: رشته اختیاری" جهت ترافیک آینه‌شده ERSPAN v2 را مشخص می‌کند\[char46] مقدار 1 برای ترافیک خروجی (egress) و 0 برای ترافیک ورودی (ingress)\[char46] .IP "\fBoptions : erspan_hwid\fR: رشته اختیاری" شناسه سخت‌افزاری ERSPAN یک شناسه یکتای 6 بیتی از یک موتور ERSPAN v2 در یک سیستم است\[char46] .ST "گزینه‌های تونل: فقط Bareudp:" .PP .IP "\fBoptions : payload_type\fR: رشته اختیاری" مقدار ethertype مربوط به پروتکل l3 را که دستگاه bareudp در حال تونل کردن آن است مشخص می‌کند\[char46] برای تونل‌هایی که از چندین ethertype یک پروتکل l3 پشتیبانی می‌کنند (IP، MPLS)، این فیلد نام پروتکل را به صورت یک رشته مشخص می‌نماید\[char46] .ST "گزینه‌های تونل: فقط srv6:" .PP .IP "\fBoptions : srv6_segs\fR: رشته اختیاری" فهرست بخش‌ها را در هدر مسیریابی بخش (SRH) مشخص می‌کند\[char46] این مقدار شامل فهرستی از بخش‌ها است که با کاما از هم جدا شده و در قالب IPv6 نمایش داده می‌شوند، مثلاً \(dqfc00:100::1,fc00:200::1,fc00:300::1\(dq\[char46] توجه داشته باشید که اولین بخش باید با \fBoptions:remote_ip\fR یکسان باشد\[char46] .IP "\fBoptions : srv6_flowlabel\fR: رشته اختیاری، یکی از \fBcompute\fR، \fBcopy\fR، یا \fBzero\fR" اختیاری\[char46] این گزینه نحوه پیکربندی برچسب جریان (flowlabel) را در هدر بیرونی IPv6 کنترل می‌کند\[char46] این گزینه مزیت تعادل بار بر اساس برچسب جریان IPv6 را به همراه دارد که توسط تجهیزات برخی از شرکت‌های مطرح پشتیبانی می‌شود\[char46] مانند پیکربندی سیستمی net\[char46]ipv6\[char46]seg6_flowlabel، یکی از سه مقدار زیر است: .RS .IP \(bu به طور پیش‌فرض، یا در صورتی که این گزینه \fBcopy\fR باشد، برچسب جریان هدر درونی IPv6 در برچسب جریان هدر بیرونی IPv6 رونوشت می‌شود\[char46] اگر هدر درونی IPv6 نباشد، روی 0 تنظیم می‌گردد\[char46] .IP \(bu اگر این گزینه \fBzero\fR باشد، برچسب جریان صرفاً روی 0 تنظیم می‌شود\[char46] .IP \(bu اگر این گزینه \fBcompute\fR باشد، برچسب جریان روی یک هش از فیلدهای L3/L4 بسته درونی تنظیم می‌شود\[char46] .RE .ST "گزینه‌های Patch (Patch Options):" .PP .PP .PP این گزینه‌ها فقط برای \fIپورت‌های پچ (patch ports)\fR اعمال می‌شوند، یعنی رابط‌هایی که ستون \fBtype\fR آن‌ها \fBpatch\fR است\[char46] پورت‌های پچ عمدتاً روشی برای اتصال پل‌های مستقل به یکدیگر هستند، شبیه به اینکه چگونه یک کابل اترنت (یک «کابل پچ») را به دو سوئیچ فیزیکی متصل می‌کنیم تا آن سوئیچ‌ها را به هم وصل کنیم\[char46] اثر وصل کردن یک پورت پچ به دو سوئیچ از نظر مفهومی مشابه وصل کردن دو سر یک دستگاه \fBveth\fR لینوکس به آن سوئیچ‌ها است، اما پیاده‌سازی پورت‌های پچ آن‌ها را بسیار کارآمدتر می‌کند\[char46] .PP .PP پورت‌های پچ ممکن است دو پل مختلف (حالت معمول) یا یک پل یکسان را به هم متصل کنند\[char46] در حالت دوم، برای جلوگیری از ایجاد حلقه (loop) باید دقت ویژه‌ای به خرج داد، مثلاً از طریق برنامه‌ریزی جریان‌های مناسب با OpenFlow\[char46] پورت‌های پچ در صورتی که دو سر آن‌ها به پل‌هایی روی مسیرهای داده (datapaths) متفاوتی متصل باشند کار نمی‌کنند، مثلاً برای اتصال پل‌ها در مسیرهای داده \fBsystem\fR و \fBnetdev\fR\[char46] .PP .PP دستور زیر پورت‌های پچ \fBp0\fR و \fBp1\fR را ایجاد و متصل کرده و آن‌ها را به ترتیب به پل‌های \fBbr0\fR و \fBbr1\fR اضافه می‌کند: .PP .nf \fB .br \fBovs\-vsctl add\-port br0 p0 \-\ set Interface p0 type=patch options:peer=p1 \e .br \fB \-\ add\-port br1 p1 \-\ set Interface p1 type=patch options:peer=p0 .br \fB \fR .fi .IP "\fBoptions : peer\fR: رشته اختیاری" مقدار \fBname\fR مربوط به \fBInterface\fR برای سمت دیگر پچ\[char46] گزینه \fBpeer\fR خودِ \fBInterface\fR نام‌برده باید نام این \fBInterface\fR را مشخص کند\[char46] یعنی این دو رابط پچ باید مقادیر \fBname\fR و \fBpeer\fR معکوس نسبت به هم داشته باشند\[char46] .ST "گزینه‌های درایور حالت پولینگ (PMD):" .PP .PP .PP تنها netdevهای PMD از این گزینه‌ها پشتیبانی می‌کنند\[char46] .IP "\fBoptions : n_rxq\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" حداکثر تعداد صف‌های rx را که برای netdev مربوط به PMD ایجاد می‌شوند مشخص می‌کند\[char46] اگر مشخص نشود یا روی 0 تنظیم شود، به طور پیش‌فرض یک صف rx ایجاد خواهد شد\[char46] توسط رابط‌های vHost در DPDK پشتیبانی نمی‌شود\[char46] .IP "\fBoptions : dpdk-devargs\fR: رشته اختیاری" آدرس PCI مرتبط با پورت را برای دستگاه‌های فیزیکی، یا درایور مجازی مورد استفاده برای پورت را در زمانی که قصد استفاده از PMD مجازی وجود دارد، مشخص می‌کند\[char46] برای مورد دوم، رشته آرگومان معمولاً به شکل \fBeth_\fIdriver_name\fB\fIx\fB\fR است، که در آن \fIdriver_name\fR نام معتبر درایور PMD مجازی DPDK و \fIx\fR یک شناسه یکتا به انتخاب شما برای پورت مورد نظر است\[char46] فقط توسط نوع پورت dpdk پشتیبانی می‌شود\[char46] .IP "\fBother_config : pmd-rxq-affinity\fR: رشته اختیاری" نگاشت صف‌های RX این رابط را به هسته‌های CPU مشخص می‌کند\[char46] .IP مقدار باید در قالب زیر تنظیم شود: .IP \fBother_config:pmd\-rxq\-affinity=\fR .IP به طوری که .IP .RS .IP \(bu ::= NULL | .IP \(bu ::= | , .IP \(bu ::= : .RE .IP "\fBoptions : xdp-mode\fR: رشته اختیاری، یکی از \fBbest\-effort\fR، \fBgeneric\fR، \fBnative\-with\-zerocopy\fR، یا \fBnative\fR" حالت عملیاتی برنامه XDP را مشخص می‌کند\[char46] .IP در حالت \fBnative\-with\-zerocopy\fR، برنامه XDP با فعال بودن رونوشت صفر (zero-copy) در RX و TX در درایور دستگاه بارگذاری می‌شود\[char46] این حالت نیازمند پشتیبانی درایور دستگاه است و بهترین کارایی را دارد زیرا هیچ رونوشت‌برداری از بسته‌ها نباید انجام شود\[char46] .IP حالت \fBnative\fR همانند \fBnative\-with\-zerocopy\fR است، اما بدون قابلیت رونوشت صفر\[char46] این حالت حداقل نیازمند یک بار رونوشت‌برداری بین هسته و فضای کاربر است\[char46] این حالت نیز نیازمند پشتیبانی از سوی درایور دستگاه می‌باشد\[char46] .IP در حالت \fBgeneric\fR، برنامه XDP در هسته پس از تخصیص skb در مراحل اولیه پردازش بسته درون پشته شبکه عمل می‌کند\[char46] این حالت نیازی به پشتیبانی درایور ندارد، اما کارایی بسیار پایین‌تری دارد\[char46] .IP حالت \fBbest\-effort\fR تلاش می‌کند بهترین (سریع‌ترین) حالت را از میان حالت‌های موجود برای رابط جاری تشخیص داده و انتخاب کند\[char46] .IP توجه داشته باشید که این گزینه مختص netdev-afxdp است\[char46] مقدار پیش‌فرض آن حالت \fBbest\-effort\fR است\[char46] .IP "\fBoptions : vhost-server-path\fR: رشته اختیاری" این مقدار مسیر سوکت مرتبط با دستگاه در حالت کلاینت vHost User را که توسط QEMU ایجاد شده است یا خواهد شد، مشخص می‌کند\[char46] فقط توسط رابط‌های dpdkvhostuserclient پشتیبانی می‌شود\[char46] .IP "\fBoptions : vhost-max-queue-pairs\fR: رشته اختیاری، شامل یک عدد صحیح، در بازه 1 تا 128" این مقدار حداکثر تعداد جفت‌های صف پشتیبانی‌شده توسط یک دستگاه vHost را مشخص می‌کند\[char46] این گزینه برای backendهای vhost-user نادیده گرفته می‌شود و فقط VDUSE پشتیبانی می‌شود\[char46] فقط توسط رابط‌های dpdkvhostuserclient پشتیبانی می‌شود\[char46] .IP مقدار پیش‌فرض 1 است\[char46] .IP "\fBoptions : tx-retries-max\fR: رشته اختیاری، شامل یک عدد صحیح، در بازه 0 تا 32" این مقدار حداکثر تعداد تلاش‌های مجدد tx در vhost را که می‌توان هنگام تلاش برای ارسال دسته‌ای از بسته‌ها به یک رابط انجام داد، مشخص می‌کند\[char46] فقط توسط رابط‌های dpdkvhostuserclient پشتیبانی می‌شود\[char46] .IP مقدار پیش‌فرض 8 است\[char46] .IP "\fBoptions : n_rxq_desc\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" اندازه صف rx (تعداد توصیف‌کننده‌های rx) را برای پورت‌های dpdk مشخص می‌کند\[char46] این مقدار باید توانی از 2 باشد و توسط سخت‌افزار دستگاه در حال پیکربندی پشتیبانی شود\[char46] اگر مشخص نشود یا مقدار نادرستی مشخص شود، به طور پیش‌فرض از 2048 توصیف‌کننده rx استفاده خواهد شد\[char46] .IP "\fBoptions : n_txq_desc\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" اندازه صف tx (تعداد توصیف‌کننده‌های tx) را برای پورت‌های dpdk مشخص می‌کند\[char46] این مقدار باید توانی از 2 باشد و توسط سخت‌افزار دستگاه در حال پیکربندی پشتیبانی شود\[char46] اگر مشخص نشود یا مقدار نادرستی مشخص شود، به طور پیش‌فرض از 2048 توصیف‌کننده tx استفاده خواهد شد\[char46] .IP "\fBoptions : dpdk-vf-mac\fR: رشته اختیاری" آدرس اترنت که برای این رابط VF تنظیم می‌شود\[char46] در صورت عدم تنظیم، از آدرس MAC پیش‌فرض استفاده می‌شود: .RS .IP \(bu برای بیشتر درایورها، آدرس MAC پیش‌فرض اختصاص‌یافته توسط سخت‌افزار آن‌ها\[char46] .IP \(bu برای درایورهای دوشاخه‌شده (bifurcated)، آدرس MAC در حال حاضر استفاده‌شده توسط netdevice هسته\[char46] .RE .IP این گزینه فقط ممکن است با نماینده‌های VF در dpdk استفاده شود\[char46] .IP "\fBoptions : rx-steering\fR: رشته اختیاری، یا \fBrss+lacp\fR یا \fBrss\fR" سیاست هدایت صف Rx سخت‌افزاری را پیکربندی می‌کند\[char46] .IP این گزینه یکی از مقادیر زیر را می‌پذیرد: .RS .TP \fBrss\fR توزیع بسته‌های ورودی در تمام صف‌های Rx بر اساس الگوریتم RSS\[char46] این رفتار پیش‌فرض است\[char46] .TP \fBrss+lacp\fR توزیع بسته‌های ورودی بر اساس الگوریتم RSS در تمام صف‌های Rx به جز آخرین صف\[char46] یک صف Rx اضافی برای بسته‌های LACP اختصاص داده می‌شود\[char46] .RE .IP اگر کاربر از قبل چندین \fBoptions:n_rxq\fR را روی پورت پیکربندی کرده باشد، یک صف اضافی برای پروتکل‌های مشخص‌شده اختصاص داده می‌شود\[char46] حتی اگر سخت‌افزار نتواند تعداد صف‌های درخواستی Rx را برآورده کند، از آخرین صف Rx استفاده خواهد شد\[char46] اگر فقط یک صف Rx در دسترس باشد یا اگر سخت‌افزار از تطبیق‌دهنده‌ها/کنش‌های rte_flow مورد نیاز برای تغییر مسیر پروتکل‌های انتخاب‌شده پشتیبانی نکند، مقدار سفارشی \fBrx\-steering\fR به حالت پیش‌فرض \fBrss\fR بازمی‌گردد\[char46] .IP این ویژگی با \fBother_config:hw-offload\fR ناسازگار است زیرا ممکن است با جریان‌های تخلیه‌بارشده تداخل داشته باشد\[char46] اگر هر دو فعال باشند، \fBrx\-steering\fR به حالت پیش‌فرض \fBrss\fR بازمی‌گردد\[char46] .IP این گزینه فقط برای رابط‌های با نوع \fBdpdk\fR قابل اعمال است\[char46] .IP "\fBother_config : tx-steering\fR: رشته اختیاری، یا \fBhash\fR یا \fBthread\fR" حالت هدایت Tx را برای رابط مشخص می‌کند\[char46] .IP مقدار \fBthread\fR نگاشت ایستا (1:1) ریسمان به txq را در زمانی که تعداد صف‌های Tx بیشتر از تعداد ریسمان‌های PMD باشد، و نگاشت پویا (N:1) را در صورت برابر یا کمتر بودن فعال می‌کند\[char46] در این حالت یک ریسمان منفرد نمی‌تواند از بیش از 1 صف ارسال پورت داده‌شده استفاده کند\[char46] .IP مقدار \fBhash\fR هدایت Tx مبتنی بر هش را فعال می‌کند که بسته‌ها را بر اساس هش 5‌تایی (5-tuple) آن‌ها روی تمام صف‌های ارسال توزیع می‌نماید\[char46] .IP مقدار پیش‌فرض \fBthread\fR است\[char46] .ST "پیکربندی کش تطابق دقیق (EMC):" .PP .PP .PP این تنظیمات رفتار جستجوها/درج‌های EMC را برای بسته‌های دریافت‌شده از رابط کنترل می‌کند\[char46] .IP "\fBother_config : emc-enable\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مشخص می‌کند که آیا کش تطابق دقیق (EMC) باید هنگام پردازش بسته‌های دریافتی از این رابط استفاده شود یا خیر\[char46] در صورت درست بودن، \fBother_config:emc-insert-inv-prob\fR روی این رابط تأثیر خواهد داشت\[char46] .IP مقدار پیش‌فرض true است\[char46] .ST "ام‌تی‌یو (MTU):" .PP .PP .PP مقدار MTU (حداکثر واحد انتقال) بزرگ‌ترین میزان داده‌ای است که می‌تواند در یک فریم اترنت منفرد جا بگیرد\[char46] مقدار استاندارد MTU اترنت 1500 بایت است\[char46] برخی رسانه‌های فیزیکی و بسیاری از انواع رابط‌های مجازی را می‌توان با MTUهای بالاتر پیکربندی کرد\[char46] .PP .PP یک کلاینت می‌تواند MTU یک رابط را با پر کردن \fBmtu_request\fR تغییر دهد\[char46] سپس Open vSwitch مقدار پیکربندی‌شده فعلی را در \fBmtu\fR گزارش می‌دهد\[char46] .IP "\fBmtu\fR: عدد صحیح اختیاری" مقدار فعلی پیکربندی‌شده MTU برای رابط\[char46] .IP این ستون برای رابطی که MTU ندارد، مانند برخی انواع تونل‌ها، خالی خواهد بود\[char46] .IP سامانه Open vSwitch مقدار این ستون را تنظیم می‌کند، بنابراین سایر کلاینت‌ها باید با آن به عنوان فقط‌خواندنی رفتار کنند\[char46] .IP "\fBmtu_request\fR: عدد صحیح اختیاری، حداقل 1" مقدار درخواستی MTU (حداکثر واحد انتقال) برای رابط\[char46] یک کلاینت می‌تواند این ستون را برای تغییر MTU یک رابط پر کند\[char46] .IP استاندارد RFC 791 ایجاب می‌کند که هر ماژول اینترنت قادر به هدایت یک دیتاگرام 68 اکتی بدون تکه‌تکه‌شدن بیشتر باشد\[char46] حداکثر اندازه یک بسته IP برابر با 65535 بایت است\[char46] .IP اگر این مقدار تنظیم نشود و رابط از نوع \fBinternal\fR باشد، Open vSwitch مقدار MTU را به گونه‌ای تغییر می‌دهد که با حداقل MTU سایر رابط‌های پل مطابقت داشته باشد\[char46] .ST "وضعیت رابط (Interface Status):" .PP .PP .PP اطلاعات وضعیت مربوط به رابط‌های متصل به پل‌ها، که هر 5 ثانیه یک بار به‌روزرسانی می‌شود\[char46] همه رابط‌ها دارای تمام این ویژگی‌ها نیستند؛ برای مثال، رابط‌های مجازی سرعت پیوند (link speed) ندارند\[char46] ستون‌های غیرقابل‌اعمال مقادیر خالی خواهند داشت\[char46] .IP "\fBadmin_state\fR: رشته اختیاری، یا \fBdown\fR یا \fBup\fR" وضعیت مدیریتی پیوند شبکه فیزیکی\[char46] .IP "\fBlink_state\fR: رشته اختیاری، یا \fBdown\fR یا \fBup\fR" وضعیت مشاهده‌شده پیوند شبکه فیزیکی\[char46] این مقدار معمولاً وضعیت حامل (carrier status) پیوند است\[char46] اگر \fBPort\fR مربوط به رابط یک پیوند پیکربندی‌شده برای پایش miimon باشد، در عوض وضعیت miimon پیوند شبکه خواهد بود\[char46] .IP "\fBlink_resets\fR: عدد صحیح اختیاری" تعداد دفعاتی که Open vSwitch تغییر در \fBlink_state\fR این \fBInterface\fR را مشاهده کرده است\[char46] .IP "\fBlink_speed\fR: عدد صحیح اختیاری" سرعت مذاکره‌شده پیوند شبکه فیزیکی\[char46] مقادیر معتبر، اعداد صحیح مثبت بزرگ‌تر از 0 هستند\[char46] .IP "\fBduplex\fR: رشته اختیاری، یا \fBfull\fR یا \fBhalf\fR" حالت دوطرفه (duplex) پیوند شبکه فیزیکی\[char46] .IP "\fBlacp_current\fR: مقدار بولی اختیاری" مقدار بولی که وضعیت LACP را برای این رابط نشان می‌دهد\[char46] در صورت درست بودن، این رابط اطلاعات LACP جاری درباره شریک LACP خود دارد\[char46] این اطلاعات ممکن است برای پایش سلامت رابط‌ها در یک پورت با LACP فعال استفاده شود\[char46] اگر LACP فعال نباشد این ستون خالی خواهد بود\[char46] .IP "\fBstatus\fR: نگاشتی از جفت‌های رشته-رشته" جفت‌های کلید-مقداری که وضعیت پورت را گزارش می‌دهند\[char46] مقادیر وضعیت پشتیبانی‌شده به \fBtype\fR وابسته‌اند؛ برای مثال، برخی از رابط‌ها ممکن است یک \fBstatus:driver_name\fR معتبر نداشته باشند\[char46] .IP "\fBstatus : driver_name\fR: رشته اختیاری" نام درایور دستگاه که آداپتور شبکه را کنترل می‌کند\[char46] .IP "\fBstatus : driver_version\fR: رشته اختیاری" رشته نسخه درایور دستگاه که آداپتور شبکه را کنترل می‌کند\[char46] .IP "\fBstatus : firmware_version\fR: رشته اختیاری" رشته نسخه سفت‌افزار (firmware) آداپتور شبکه، در صورت موجود بودن\[char46] .IP "\fBstatus : peer_ifindex\fR: رشته اختیاری" برای دستگاه‌های veth در لینوکس، این ستون حاوی شاخص رابط دستگاه veth همتا است\[char46] این امر به برنامه‌ها امکان می‌دهد جفت‌های veth را بدون نیاز به فراخوانی‌های سیستمی اضافی یا تجزیه اطلاعات رابط شبکه، به صورت برنامه‌نویسی‌شده کشف کنند\[char46] .IP فقط برای دستگاه‌های veth موجود است (زمانی که \fBstatus:driver_name\fR برابر \(dqveth\(dq باشد)\[char46] در سیستم‌های غیر لینوکسی در دسترس نیست\[char46] .IP "\fBstatus : source_ip\fR: رشته اختیاری" آدرس IP مبدأ استفاده‌شده برای یک نقطه پایانی تونل IPv4/IPv6، مانند \fBgre\fR\[char46] .IP "\fBstatus : tunnel_egress_iface\fR: رشته اختیاری" رابط خروجی برای تونل‌ها\[char46] در حال حاضر فقط برای تونل‌ها در سیستم‌های لینوکس مرتبط است؛ این ستون نام رابطی را نشان می‌دهد که مسئول مسیریابی ترافیک به مقصد \fBoptions:remote_ip\fR پیکربندی‌شده است\[char46] این می‌تواند یک رابط داخلی مانند یک پورت پل باشد\[char46] .IP "\fBstatus : tunnel_egress_iface_carrier\fR: رشته اختیاری، یا \fBdown\fR یا \fBup\fR" اینکه آیا حامل (carrier) روی \fBstatus:tunnel_egress_iface\fR شناسایی شده است یا خیر\[char46] .ST "dpdk:" .PP .PP .PP گزینه‌های وضعیت رابط ویژه DPDK\[char46] .IP "\fBstatus : port_no\fR: رشته اختیاری" شناسه پورت DPDK\[char46] .IP "\fBstatus : numa_id\fR: رشته اختیاری" شناسه سوکت NUMA که یک دستگاه اترنت به آن متصل است\[char46] .IP "\fBstatus : min_rx_bufsize\fR: رشته اختیاری" حداقل اندازه بافر RX\[char46] .IP "\fBstatus : max_rx_pktlen\fR: رشته اختیاری" حداکثر طول قابل پیکربندی بسته RX\[char46] .IP "\fBstatus : max_rx_queues\fR: رشته اختیاری" حداکثر تعداد صف‌های RX\[char46] .IP "\fBstatus : max_tx_queues\fR: رشته اختیاری" حداکثر تعداد صف‌های TX\[char46] .IP "\fBstatus : max_mac_addrs\fR: رشته اختیاری" حداکثر تعداد آدرس‌های MAC\[char46] .IP "\fBstatus : max_hash_mac_addrs\fR: رشته اختیاری" حداکثر تعداد آدرس‌های MAC هش برای MTA و UTA\[char46] .IP "\fBstatus : max_vfs\fR: رشته اختیاری" حداکثر تعداد آدرس‌های MAC هش برای MTA و UTA\[char46] حداکثر تعداد VFها\[char46] .IP "\fBstatus : max_vmdq_pools\fR: رشته اختیاری" حداکثر تعداد استخرهای VMDq\[char46] .IP "\fBstatus : n_rxq\fR: رشته اختیاری" تعداد صف‌های Rx\[char46] .IP "\fBstatus : n_txq\fR: رشته اختیاری" تعداد صف‌های Tx\[char46] .IP "\fBstatus : rx_csum_offload\fR: رشته اختیاری" اینکه آیا تخلیه بار چکسام Rx فعال است یا خیر\[char46] .IP "\fBstatus : if_type\fR: رشته اختیاری" شناسه نوع رابط بر اساس تعاریف ifTYPE MIB در IANA\[char46] .IP "\fBstatus : if_descr\fR: رشته اختیاری" رشته توصیف رابط\[char46] .IP "\fBstatus : bus_info\fR: رشته اختیاری" نام گذرگاه و اطلاعات گذرگاه مانند شناسه فروشنده (Vendor ID) و شناسه دستگاه (Device ID) دستگاه PCI\[char46] .IP "\fBstatus : dpdk-vf-mac\fR: رشته اختیاری" آدرس اترنت تنظیم‌شده برای این رابط VF\[char46] فقط برای نماینده‌های VF در dpdk گزارش می‌شود\[char46] .IP "\fBstatus : rx-steering\fR: رشته اختیاری" سیاست هدایت صف Rx سخت‌افزاری در حال استفاده\[char46] .IP "\fBstatus : rx_steering_queue\fR: رشته اختیاری" شناسه صف هدایت rx\[char46] فقط در صورتی گزارش می‌شود که \fBrx\-steering\fR توسط سخت‌افزار پشتیبانی شود\[char46] .IP "\fBstatus : rss_queues\fR: رشته اختیاری" شناسه‌های صف‌های rss\[char46] فقط در صورتی گزارش می‌شود که \fBrx\-steering\fR توسط سخت‌افزار پشتیبانی شود\[char46] .ST "dpdkvhostuser:" .PP .PP .PP اطلاعات وضعیت رابط ویژه netdevهای dpdkvhostuser و dpdkvhostuserclient\[char46] .IP "\fBstatus : mode\fR: رشته اختیاری" کلاینت (متصل‌شونده) یا سرور (گوش‌دهنده) در ارتباط سوکت\[char46] .IP "\fBstatus : features\fR: رشته اختیاری" بیت‌مپ ویژگی‌های virtio طبق مشخصات virtio\[char46] .IP "\fBstatus : num_of_vrings\fR: رشته اختیاری" تعداد virtqueueهای موجود\[char46] .IP "\fBstatus : numa\fR: رشته اختیاری" شناسه numa دستگاه و حافظه مهمان\[char46] .IP "\fBstatus : socket\fR: رشته اختیاری" مسیر سوکت استفاده‌شده برای ارتباط\[char46] .IP "\fBstatus : status\fR: رشته اختیاری" وضعیت اتصال به دستگاه\[char46] .IP "\fBstatus : vring_n_size\fR: رشته اختیاری" اندازه هر یک از virtqueueها گزارش خواهد شد، که در آن n شماره virtqueue از 0\[char46]\[char46](num_of_vrings\-1) است\[char46] .IP "\fBstatus : userspace-tso\fR: رشته اختیاری" اینکه آیا userspace-tso فعال یا غیرفعال است\[char46] .ST "afxdp:" .PP .PP .PP گزینه‌های وضعیت رابط ویژه AF_XDP\[char46] .IP "\fBstatus : xdp-mode\fR: رشته اختیاری" حالت XDP در حال استفاده فعلی\[char46] برای شرح مقادیر ممکن، \fBoptions:xdp-mode\fR را ببینید\[char46] .ST "آمار (Statistics):" .PP .PP .PP جفت‌های کلید-مقداری که آمار رابط را گزارش می‌دهند\[char46] پیاده‌سازی فعلی این شمارنده‌ها را به صورت دوره‌ای به‌روزرسانی می‌کند\[char46] دوره به‌روزرسانی توسط \fBother_config:stats-update-interval\fR در جدول \fBOpen_vSwitch\fR کنترل می‌شود\[char46] پیاده‌سازی‌های آینده ممکن است هنگام ایجاد یک رابط، هنگام پرس‌وجوی آن‌ها (مثلاً با استفاده از عملیات \fBselect\fR در OVSDB)، و درست قبل از حذف رابط به دلیل قطع گرم (hot-unplug) رابط مجازی یا خاموش شدن ماشین مجازی، و شاید در زمان‌های دیگر آن‌ها را به‌روزرسانی کنند، اما نه بر مبنای دوره‌ای منظم\[char46] .PP .PP این‌ها همان آماری هستند که توسط OpenFlow در ساختار \fBstruct ofp_port_stats\fR آن گزارش می‌شوند\[char46] اگر رابطی از یک آمار معین پشتیبانی نکند، آن جفت حذف می‌شود\[char46] .ST "آمار: شمارنده‌های ارسال و دریافت موفق:" .PP .IP "\fBstatistics : rx_packets\fR: عدد صحیح اختیاری" تعداد بسته‌های دریافت‌شده\[char46] .IP "\fBstatistics : rx_bytes\fR: عدد صحیح اختیاری" تعداد بایت‌های دریافت‌شده\[char46] .IP "\fBstatistics : tx_packets\fR: عدد صحیح اختیاری" تعداد بسته‌های ارسال‌شده\[char46] .IP "\fBstatistics : tx_bytes\fR: عدد صحیح اختیاری" تعداد بایت‌های ارسال‌شده\[char46] .ST "آمار: خطاهای دریافت:" .PP .IP "\fBstatistics : rx_dropped\fR: عدد صحیح اختیاری" تعداد بسته‌های دور ریخته‌شده توسط RX\[char46] .IP "\fBstatistics : rx_frame_err\fR: عدد صحیح اختیاری" تعداد خطاهای هم‌ترازی فریم (frame alignment)\[char46] .IP "\fBstatistics : rx_over_err\fR: عدد صحیح اختیاری" تعداد بسته‌های دارای سرریز (overrun) در RX\[char46] .IP "\fBstatistics : rx_crc_err\fR: عدد صحیح اختیاری" تعداد خطاهای CRC\[char46] .IP "\fBstatistics : rx_errors\fR: عدد صحیح اختیاری" تعداد کل خطاهای دریافت، بزرگ‌تر یا مساوی مجموع موارد بالا\[char46] .ST "آمار: خطاهای ارسال:" .PP .IP "\fBstatistics : tx_dropped\fR: عدد صحیح اختیاری" تعداد بسته‌های دور ریخته‌شده توسط TX\[char46] .IP "\fBstatistics : collisions\fR: عدد صحیح اختیاری" تعداد برخوردها (collisions)\[char46] .IP "\fBstatistics : tx_errors\fR: عدد صحیح اختیاری" تعداد کل خطاهای ارسال، بزرگ‌تر یا مساوی مجموع موارد بالا\[char46] .ST "سیاست‌گذاری ترافیک ورودی (Ingress Policing):" .PP .PP .PP این تنظیمات سیاست‌گذاری ورودی (ingress policing) را برای بسته‌های دریافت‌شده روی این رابط کنترل می‌کنند\[char46] روی یک رابط فیزیکی، این کار نرخی را محدود می‌کند که با آن ترافیک اجازه ورود به سیستم از بیرون را دارد؛ روی یک رابط مجازی (رابط متصل به یک ماشین مجازی)، این کار نرخی را که ماشین مجازی قادر به ارسال است محدود می‌کند\[char46] .PP .PP سیاست‌گذاری (policing) شکل ساده‌ای از کیفیت خدمات (QoS) است که صرفاً بسته‌های دریافتی مازاد بر نرخ پیکربندی‌شده را دور می‌ریزد\[char46] به دلیل سادگی، سیاست‌گذاری معمولاً دقت و اثربخشی کمتری نسبت به QoS خروجی دارد (که با استفاده از جداول \fBQoS\fR و \fBQueue\fR پیکربندی می‌شود)\[char46] .PP .PP تنظیمات سیاست‌گذاری را می‌توان بر حسب نرخ بایت یا نرخ بسته تعیین کرد، و می‌توان آن‌ها را با هم پیکربندی نمود که در این صورت با هم اعمال می‌شوند؛ این بدان معناست که محدودیت سرعت کوچک‌تر میان آن‌ها اعمال خواهد شد\[char46] .PP .PP در حال حاضر، سیاست‌گذاری نرخ بایت در لینوکس و OVS همراه با DPDK پیاده‌سازی شده است، در حالی که سیاست‌گذاری نرخ بسته فقط در لینوکس پیاده‌سازی شده است\[char46] هر دو پیاده‌سازی لینوکس و OVS DPDK از یک رویکرد ساده «سطل ژتون» (token bucket) استفاده می‌کنند\[char46] .PP .PP سیاست‌گذاری نرخ بایت: .RS .IP \(bu اندازه سطل با \fBingress_policing_burst\fR مطابقت دارد\[char46] در ابتدا سطل پر است\[char46] .IP \(bu هر زمان که بسته‌ای دریافت شود، اندازه آن (تبدیل‌شده به ژتون) با تعداد ژتون‌های فعلی موجود در سطل مقایسه می‌شود\[char46] اگر تعداد ژتون‌های مورد نیاز موجود باشد، ژتون‌ها برداشته شده و بسته هدایت (forward) می‌شود\[char46] در غیر این صورت، بسته دور ریخته می‌شود\[char46] .IP \(bu هر زمان که سطل پر نباشد، با ژتون‌ها با نرخی که توسط \fBingress_policing_rate\fR مشخص شده دوباره پر می‌شود\[char46] .RE .PP .PP سیاست‌گذاری نرخ بسته: .RS .IP \(bu اندازه سطل با \fBingress_policing_kpkts_burst\fR مطابقت دارد\[char46] در ابتدا سطل پر است\[char46] .IP \(bu هر زمان که بسته‌ای دریافت شود، یک ژتون از سطل فعلی مصرف خواهد کرد\[char46] اگر ژتون در سطل موجود باشد، برداشته شده و بسته هدایت می‌شود\[char46] در غیر این صورت، بسته دور ریخته می‌شود\[char46] .IP \(bu هر زمان که سطل پر نباشد، با ژتون‌ها با نرخی که توسط \fBingress_policing_kpkts_rate\fR مشخص شده دوباره پر می‌شود\[char46] .RE .PP .PP سیاست‌گذاری ترافیک با برخی از پروتکل‌های شبکه و به ویژه با بسته‌های تکه‌تکه‌شده (fragmented) IP تعامل نامناسبی دارد\[char46] فرض کنید فعالیت شبکه به اندازه‌ای باشد که سطل تقریباً همیشه خالی بماند\[char46] در این حالت، این الگوریتم سطل ژتون هر از چند گاهی یک بسته منفرد را هدایت می‌کند، به طوری که دوره زمانی آن به اندازه بسته و نرخ پیکربندی‌شده بستگی دارد\[char46] تمام تکه‌های یک بسته IP به طور معمول پشت سر هم و به صورت یک گروه ارسال می‌شوند\[char46] بنابراین در چنین شرایطی، تنها یکی از این تکه‌ها هدایت می‌شود و باقی تکه‌ها دور ریخته خواهند شد\[char46] پروتکل IP هیچ روشی را برای گیرنده مورد نظر فراهم نمی‌کند تا فقط تکه‌های باقی‌مانده را درخواست کند\[char46] در چنین حالتی دو احتمال عمده برای آنچه بعداً رخ خواهد داد وجود دارد: یا تمام تکه‌ها در نهایت دوباره ارسال خواهند شد (همان‌طور که TCP انجام می‌دهد) که در این صورت همان مشکل دوباره تکرار خواهد شد، یا فرستنده متوجه دور ریخته شدن بسته‌اش نخواهد شد و داده‌ها به سادگی از دست خواهند رفت (همان‌طور که برخی پروتکل‌های مبتنی بر UDP انجام می‌دهند)\[char46] در هر دو حالت، ممکن است هیچ پیشرفتی در ارسال ترافیک هرگز حاصل نشود\[char46] .IP "\fBingress_policing_rate\fR: عدد صحیح، حداقل 0" حداکثر نرخ برای داده‌های دریافتی روی این رابط، بر حسب کیلوبیت بر ثانیه (kbps)\[char46] داده‌هایی که سریع‌تر از این نرخ دریافت شوند دور ریخته می‌شوند\[char46] برای غیرفعال کردن سیاست‌گذاری، روی \fB0\fR (پیش‌فرض) تنظیم کنید\[char46] .IP "\fBingress_policing_kpkts_rate\fR: عدد صحیح، حداقل 0" حداکثر نرخ برای داده‌های دریافتی روی این رابط، بر حسب kpps (هر 1 kpps برابر با 1000 pps است)\[char46] داده‌هایی که سریع‌تر از این نرخ دریافت شوند دور ریخته می‌شوند\[char46] برای غیرفعال کردن سیاست‌گذاری، روی \fB0\fR (پیش‌فرض) تنظیم کنید\[char46] .IP "\fBingress_policing_burst\fR: عدد صحیح، حداقل 0" حداکثر اندازه جهش / انفجار (burst size) برای داده‌های دریافتی روی این رابط، بر حسب کیلوبیت (kb)\[char46] اندازه جهش پیش‌فرض در صورت تنظیم روی \fB0\fR برابر با 8000 کیلوبیت است\[char46] اگر \fBingress_policing_rate\fR برابر \fB0\fR باشد، این مقدار هیچ تأثیری ندارد\[char46] .IP مشخص کردن اندازه جهش بزرگ‌تر به الگوریتم اجازه می‌دهد بخشنده‌تر باشد، که برای پروتکل‌هایی مانند TCP که به بسته‌های دور ریخته‌شده واکنش شدیدی نشان می‌دهند، حائز اهمیت است\[char46] اندازه جهش باید حداقل به اندازه MTU رابط باشد\[char46] تعیین مقداری که از نظر عددی حداقل به اندازه 80% از \fBingress_policing_rate\fR باشد، به TCP کمک می‌کند تا به دستیابی به نرخ کامل نزدیک‌تر شود\[char46] .IP "\fBingress_policing_kpkts_burst\fR: عدد صحیح، حداقل 0" حداکثر اندازه جهش / انفجار برای داده‌های دریافتی روی این رابط، بر حسب kpkts (هر 1 kpkts برابر با 1000 بسته است)\[char46] اندازه جهش پیش‌فرض در صورت تنظیم روی \fB0\fR برابر با 16 kpkts است\[char46] اگر \fBingress_policing_kpkts_rate\fR برابر \fB0\fR باشد، این مقدار هیچ تأثیری ندارد\[char46] .IP مشخص کردن اندازه جهش بزرگ‌تر به الگوریتم اجازه می‌دهد بخشنده‌تر باشد، که برای پروتکل‌هایی مانند TCP که به بسته‌های دور ریخته‌شده واکنش شدیدی نشان می‌دهند، حائز اهمیت است\[char46] تعیین مقداری که از نظر عددی حداقل به اندازه 80% از \fBingress_policing_kpkts_rate\fR باشد، به TCP کمک می‌کند تا به دستیابی به نرخ کامل نزدیک‌تر شود\[char46] .ST "تشخیص ارسال دوطرفه (BFD):" .PP .PP .PP پروتکل BFD، تعریف‌شده در RFC 5880 و RFC 5881، امکان تشخیص نقطه به نقطه خرابی‌های اتصال را از طریق ارسال گاه‌به‌گاه پیام‌های کنترلی BFD فراهم می‌کند\[char46] سامانه Open vSwitch پروتکل BFD را پیاده‌سازی می‌کند تا به عنوان یک جایگزین محبوب‌تر و سازگارتر با استانداردها برای CFM عمل کند\[char46] .PP .PP پروتکل BFD با ارسال منظم پیام‌های کنترلی BFD با نرخی که به طور مستقل در هر جهت مذاکره می‌شود، کار می‌کند\[char46] هر نقطه پایانی نرخی را که در آن انتظار دریافت پیام‌های کنترلی را دارد و نرخی را که مایل به ارسال آن‌ها است، مشخص می‌کند\[char46] به طور پیش‌فرض، Open vSwitch از ضریب تشخیص (detection multiplier) سه استفاده می‌کند، به این معنی که اگر سه پیام کنترلی متوالی BFD نرسد، یک نقطه پایانی خطای اتصال را اعلام می‌کند\[char46] در صورت بروز مشکل اتصال یک‌طرفه، سیستمی که پیام‌های کنترلی BFD را دریافت نمی‌کند، مشکل را در پیام‌هایی که ارسال می‌کند به همتای خود علامت می‌دهد\[char46] .PP .PP پیاده‌سازی BFD در Open vSwitch با هدف پایبندی دقیق به الزامات RFC 5880 انجام شده است\[char46] سامانه Open vSwitch ویژگی‌های اختیاری احراز هویت (Authentication) یا «حالت انعکاس» (Echo Mode) را پیاده‌سازی نمی‌کند\[char46] .PP .PP نسخه OVS 2\[char46]13 و نسخه‌های پیشین آن تمام بسته‌های BFD را رهگیری و پردازش می‌کردند\[char46] نسخه OVS 2\[char46]14 و نسخه‌های جدیدتر تنها بسته‌های BFD را که به مقصد یک نمونه BFD پیکربندی‌شده ارسال شده‌اند رهگیری و پردازش می‌کنند، و سایر بسته‌های BFD در دسترس جدول جریان OVS برای هدایت قرار می‌گیرند\[char46] .ST "پیکربندی BFD (BFD Configuration):" .PP .PP .PP یک کنترل‌کننده برای فعال‌سازی و پیکربندی BFD، جفت‌های کلید-مقدار را در ستون \fBbfd\fR تنظیم می‌کند\[char46] .IP "\fBbfd : enable\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true برای فعال‌سازی BFD روی این \fBInterface\fR\[char46] در صورت عدم تعیین، BFD به طور پیش‌فرض فعال نخواهد شد\[char46] .IP "\fBbfd : min_rx\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" کوتاه‌ترین بازه زمانی، به میلی‌ثانیه، که این نشست BFD پیشنهاد می‌کند پیام‌های کنترلی BFD را دریافت کند\[char46] نقطه پایانی راه دور ممکن است تصمیم بگیرد پیام‌ها را با نرخ کمتری ارسال کند\[char46] مقدار پیش‌فرض \fB1000\fR است\[char46] .IP "\fBbfd : min_tx\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" کوتاه‌ترین بازه زمانی، به میلی‌ثانیه، که این نشست BFD مایل است پیام‌های کنترلی BFD را ارسال کند\[char46] اگر نقطه پایانی راه دور تمایلی به دریافت با سرعتی که تعیین شده نداشته باشد، پیام‌ها در عمل با نرخ کمتری ارسال خواهند شد\[char46] مقدار پیش‌فرض \fB100\fR است\[char46] .IP "\fBbfd : decay_min_rx\fR: رشته اختیاری، شامل یک عدد صحیح" یک بازه دریافت جایگزین، به میلی‌ثانیه، که باید بزرگ‌تر یا مساوی با \fBbfd:min_rx\fR باشد\[char46] زمانی که ترافیک داده ورودی آشکاری در رابط وجود نداشته باشد، پیاده‌سازی از \fBbfd:min_rx\fR به \fBbfd:decay_min_rx\fR سوئیچ می‌کند تا هزینه CPU و پهنای باند پایش یک رابط غیرفعال (idle) کاهش یابد\[char46] این ویژگی ممکن است با تنظیم مقدار 0 غیرفعال شود\[char46] هر زمان که \fBbfd:decay_min_rx\fR یا \fBbfd:min_rx\fR تغییر کند، این ویژگی بازنشانی می‌شود\[char46] .IP "\fBbfd : forwarding_if_rx\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" هنگامی که \fBtrue\fR باشد، ترافیک دریافت‌شده روی \fBInterface\fR برای نشان دادن قابلیت ورودی/خروجی (I/O) بسته استفاده می‌شود\[char46] بسته‌های کنترلی BFD همچنان ارسال و دریافت می‌شوند\[char46] حداقل یک بسته کنترلی BFD باید در هر بازه زمانی 100 * \fBbfd:min_rx\fR دریافت شود\[char46] در غیر این صورت، حتی در صورت دریافت ترافیک، مقدار \fBbfd:forwarding\fR برابر با \fBfalse\fR خواهد بود\[char46] .IP "\fBbfd : cpath_down\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" برای اطلاع به نقطه پایانی راه دور مبنی بر اینکه به دلیلی غیر از خرابی اتصال در رابط تحت پایش، ترافیک نباید به این سیستم هدایت شود، روی true تنظیم کنید\[char46] دلیل معمول در لایه زیرین «قطع بودن مسیر متوالی» (concatenated path down) است، به این معنی که اتصال فراتر از سیستم محلی قطع است\[char46] مقدار پیش‌فرض false است\[char46] .IP "\fBbfd : check_tnl_key\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" برای اینکه BFD فقط پیام‌های کنترلی با کلید تونل صفر را بپذیرد، روی true تنظیم کنید\[char46] به طور پیش‌فرض، BFD پیام‌های کنترلی با هر کلید تونلی را می‌پذیرد\[char46] .IP "\fBbfd : bfd_local_src_mac\fR: رشته اختیاری" برای تنظیم MAC مورد استفاده به عنوان مبدأ برای بسته‌های BFD ارسالی، روی یک آدرس اترنت در قالب \fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR تنظیم کنید\[char46] مقدار پیش‌فرض، آدرس mac رابطی است که BFD روی آن فعال شده است\[char46] .IP "\fBbfd : bfd_local_dst_mac\fR: رشته اختیاری" برای تنظیم MAC مورد استفاده به عنوان مقصد برای بسته‌های BFD ارسالی، روی یک آدرس اترنت در قالب \fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR تنظیم کنید\[char46] مقدار پیش‌فرض \fB00:23:20:00:00:01\fR است\[char46] .IP "\fBbfd : bfd_remote_dst_mac\fR: رشته اختیاری" برای تنظیم MAC مورد استفاده جهت بررسی مقصد بسته‌های BFD دریافتی، روی یک آدرس اترنت در قالب \fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR تنظیم کنید\[char46] بسته‌های دارای MAC مقصد متفاوت به عنوان بسته‌های BFD در نظر گرفته نخواهند شد\[char46] در صورت عدم تعیین، آدرس MAC مقصد بسته‌های BFD دریافتی بررسی نمی‌شود\[char46] .IP "\fBbfd : bfd_src_ip\fR: رشته اختیاری" برای تنظیم آدرس IP مورد استفاده به عنوان مبدأ برای بسته‌های BFD ارسالی، روی یک آدرس IPv4 تنظیم کنید\[char46] مقدار پیش‌فرض \fB169\[char46]254\[char46]1\[char46]1\fR است\[char46] .IP "\fBbfd : bfd_dst_ip\fR: رشته اختیاری" برای تنظیم آدرس IP مورد استفاده به عنوان مقصد برای بسته‌های BFD ارسالی، روی یک آدرس IPv4 تنظیم کنید\[char46] مقدار پیش‌فرض \fB169\[char46]254\[char46]1\[char46]0\fR است\[char46] .IP "\fBbfd : oam\fR: رشته اختیاری" برخی از پروتکل‌های تونل (مانند Geneve) شامل بیتی در هدر هستند که نشان می‌دهد بسته کپسوله‌شده یک فریم OAM است\[char46] با تنظیم این مقدار روی true، در صورت کپسوله‌سازی در یکی از این تونل‌ها، بسته‌های BFD به عنوان OAM علامت‌گذاری می‌شوند\[char46] .IP "\fBbfd : mult\fR: رشته اختیاری، شامل یک عدد صحیح، در بازه 1 تا 255" ضریب تشخیص BFD، که مقدار پیش‌فرض آن 3 است\[char46] اگر تعداد مشخص‌شده‌ای از پیام‌های کنترلی متوالی BFD نرسد، یک نقطه پایانی خطای اتصال را اعلام می‌کند\[char46] .ST "وضعیت BFD (BFD Status):" .PP .PP .PP سوئیچ جفت‌های کلید-مقدار را در ستون \fBbfd_status\fR تنظیم می‌کند تا وضعیت BFD را روی این رابط گزارش دهد\[char46] هنگامی که BFD فعال نیست (با \fBbfd:enable\fR)، سوئیچ تمام جفت‌های کلید-مقدار را از \fBbfd_status\fR پاک می‌کند\[char46] .IP "\fBbfd_status : state\fR: رشته اختیاری، یکی از \fBadmin_down\fR، \fBdown\fR، \fBinit\fR، یا \fBup\fR" وضعیت نشست BFD را گزارش می‌دهد\[char46] در صورت \fBUP\fR بودن، نشست BFD کاملاً سالم و مذاکره‌شده است\[char46] .IP "\fBbfd_status : forwarding\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" گزارش می‌دهد که آیا نشست BFD معتقد است که این \fBInterface\fR ممکن است برای هدایت ترافیک استفاده شود یا خیر\[char46] معمولاً این بدان معناست که نشست محلی وضعیت \fBUP\fR را علامت می‌دهد و سیستم راه دور نیز مشکلی مانند قطع بودن مسیر متوالی را اعلام نمی‌کند\[char46] .IP "\fBbfd_status : diagnostic\fR: رشته اختیاری" یک کد تشخیصی که دلیل سیستم محلی برای آخرین تغییر در وضعیت نشست را مشخص می‌کند\[char46] پیام‌های خطا در بخش 4\[char46]1 از [RFC 5880] تعریف شده‌اند\[char46] .IP "\fBbfd_status : remote_state\fR: رشته اختیاری، یکی از \fBadmin_down\fR، \fBdown\fR، \fBinit\fR، یا \fBup\fR" وضعیت نشست BFD نقطه پایانی راه دور را گزارش می‌دهد\[char46] .IP "\fBbfd_status : remote_diagnostic\fR: رشته اختیاری" یک کد تشخیصی که دلیل سیستم راه دور برای آخرین تغییر در وضعیت نشست را مشخص می‌کند\[char46] پیام‌های خطا در بخش 4\[char46]1 از [RFC 5880] تعریف شده‌اند\[char46] .IP "\fBbfd_status : flap_count\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" تعداد نوسانات (flaps) مربوط به \fBbfd_status:forwarding\fR را از زمان شروع می‌شمارد\[char46] هر تغییر در مقدار \fBbfd_status:forwarding\fR به عنوان یک نوسان در نظر گرفته می‌شود\[char46] .ST "مدیریت خطای اتصال (CFM):" .PP .PP .PP مدیریت خطای اتصال 802\[char46]1ag به اختصار (CFM)، به گروهی از نقاط نگهداری (MPs) به نام یک انجمن نگهداری (MA) اجازه می‌دهد تا مشکلات اتصال با یکدیگر را شناسایی کنند\[char46] نقاط نگهداری درون یک MA باید اتصال متقابل کامل و انحصاری داشته باشند\[char46] این امر با انتشار گاه‌به‌گاه پیام‌های بررسی تداوم (CCMs) در یک بازه ارسال قابل پیکربندی تأیید می‌شود\[char46] .PP .PP طبق مشخصات 802\[char46]1ag، هر نقطه نگهداری باید خارج از باند با فهرستی از نقاط نگهداری راه دور که باید با آن‌ها اتصال داشته باشد پیکربندی شود\[char46] سامانه Open vSwitch در این زمینه با مشخصات تفاوت دارد\[char46] این سامانه صرفاً فرض می‌کند اگر هیچ نقطه نگهداری راه دوری قابل دسترسی نباشد، پیوند دچار خطا است و در غیر این صورت آن را بدون خطا در نظر می‌گیرد\[char46] .PP .PP هنگام کار بر روی تونل‌هایی که فاقد \fBin_key\fR هستند یا مقدار \fBin_key\fR آن‌ها \fBflow\fR است، CFM تنها پیام‌های CCM با کلید تونل صفر را می‌پذیرد\[char46] .IP "\fBcfm_mpid\fR: عدد صحیح اختیاری" یک شناسه نقطه نگهداری (MPID) هر نقطه پایانی درون یک انجمن نگهداری را به طور یکتا مشخص می‌کند\[char46] شناسه MPID برای معرفی این نقطه پایانی به سایر نقاط نگهداری در MA استفاده می‌شود\[char46] هر سر پیوندی که پایش می‌شود باید MPID متفاوتی داشته باشد\[char46] برای فعال‌سازی CFM روی این \fBInterface\fR باید پیکربندی شود\[char46] .IP طبق مشخصات 802\[char46]1ag، شناسه‌های MPID تنها می‌توانند در بازه [1, 8191] باشند\[char46] با این حال، حالت توسعه‌یافته (ستون \fBother_config:cfm_extended\fR را ببینید) از MPIDهای هشت بایتی پشتیبانی می‌کند\[char46] .IP "\fBcfm_flap_count\fR: عدد صحیح اختیاری" تعداد نوسانات خطای cfm را از زمان بوت می‌شمارد\[char46] هر تغییر در مقدار \fBcfm_fault\fR به عنوان یک نوسان در نظر گرفته می‌شود\[char46] .IP "\fBcfm_fault\fR: مقدار بولی اختیاری" نشان‌دهنده خطای اتصال ایجادشده ناشی از عدم توانایی در دریافت تپش‌های قلب (heartbeats) از هر نقطه پایانی راه دور است\[char46] هنگامی که خطایی روی \fBInterface\fRهایی که در پیوندها (bonds) شرکت دارند ایجاد شود، آن‌ها غیرفعال خواهند شد\[char46] .IP خطاها می‌توانند به دلایل متعددی ایجاد شوند\[char46] مهم‌تر از همه، هنگامی ایجاد می‌شوند که هیچ پیام CCM برای مدتی معادل 3\[char46]5 برابر بازه ارسال دریافت نشود\[char46] همچنین خطاها زمانی ایجاد می‌شوند که هر یک از پیام‌های CCM نشان دهند که یک نقطه نگهداری راه دور پیام‌های CCM را دریافت نمی‌کند اما قادر به ارسال آن‌ها است\[char46] در نهایت، اگر یک CCM دریافت شود که نشان‌دهنده پیکربندی غیرمنتظره باشد، خطا ایجاد می‌شود\[char46] به ویژه، این حالت زمانی رخ می‌دهد که یک CCM دریافت شود که MPID محلی را اعلان می‌کند\[char46] .IP "\fBcfm_fault_status : recv\fR: ندارد (none)" نشان می‌دهد که یک خطای CFM به دلیل عدم دریافت پیام‌های CCM در \fBInterface\fR ایجاد شده است\[char46] .IP "\fBcfm_fault_status : rdi\fR: ندارد (none)" نشان می‌دهد که یک خطای CFM به دلیل دریافت یک CCM با بیت RDI نشانه‌گذاری‌شده ایجاد شده است\[char46] نقاط پایانی زمانی که خودشان پیام‌های CCM را دریافت نمی‌کنند، بیت RDI را در CCMهای خود تنظیم می‌کنند\[char46] این امر معمولاً نشان‌دهنده نقص در اتصال یک‌طرفه است\[char46] .IP "\fBcfm_fault_status : maid\fR: ندارد (none)" نشان می‌دهد که یک خطای CFM به دلیل دریافت یک CCM با مقداری برای MAID غیر از آنچه Open vSwitch استفاده می‌کند ایجاد شده است\[char46] انتشارهای CFM علاوه بر MPID، با یک شماره شناسایی به نام MAID برچسب‌گذاری می‌شوند\[char46] سامانه Open vSwitch تنها از دریافت انتشارهای CCM برچسب‌گذاری‌شده با MAID که خود در داخل استفاده می‌کند، پشتیبانی می‌نماید\[char46] .IP "\fBcfm_fault_status : loopback\fR: ندارد (none)" نشان می‌دهد که یک خطای CFM به دلیل دریافت یک CCM ایجاد شده است که همان MPID پیکربندی‌شده در ستون \fBcfm_mpid\fR این \fBInterface\fR را اعلان می‌کند\[char46] این ممکن است نشان‌دهنده وجود یک حلقه در شبکه باشد\[char46] .IP "\fBcfm_fault_status : overflow\fR: ندارد (none)" نشان می‌دهد که یک خطای CFM به این دلیل رخ داده است که ماژول CFM پیام‌های CCM را از نقاط پایانی راه دوری بیشتر از آنچه می‌تواند ردیابی کند، دریافت کرده است\[char46] .IP "\fBcfm_fault_status : override\fR: ندارد (none)" نشان می‌دهد که یک خطای CFM به صورت دستی توسط یک مدیر سیستم با استفاده از یک دستور \fBovs\-appctl\fR فعال شده است\[char46] .IP "\fBcfm_fault_status : interval\fR: ندارد (none)" نشان می‌دهد که یک خطای CFM به دلیل دریافت یک فریم CCM با بازه زمانی نامعتبر ایجاد شده است\[char46] .IP "\fBcfm_remote_opstate\fR: رشته اختیاری، یا \fBdown\fR یا \fBup\fR" در حالت توسعه‌یافته، وضعیت عملیاتی نقطه پایانی راه دور را به عنوان \fBup\fR یا \fBdown\fR نشان می‌دهد\[char46] ستون \fBother_config:cfm_opstate\fR را ببینید\[char46] .IP "\fBcfm_health\fR: عدد صحیح اختیاری، در بازه 0 تا 100" سلامت رابط را به صورت درصدی از فریم‌های CCM دریافت‌شده در طول 21 \fBother_config:cfm_interval\fRs نشان می‌دهد\[char46] سلامت یک رابط در صورتی که با بیش از یک \fBcfm_remote_mpids\fR در حال ارتباط باشد، تعریف‌نشده است\[char46] اگر تپش‌های قلب سالم با نرخ مورد انتظار دریافت نشوند کاهش می‌یابد، و با دریافت تپش‌های قلب سالم با نرخ مورد نظر به تدریج بهبود می‌یابد\[char46] هر 21 \fBother_config:cfm_interval\fRs، سلامت رابط نوسازی می‌شود\[char46] .IP همان‌طور که در بالا ذکر شد، خطاها می‌توانند به دلایل متعددی رخ دهند\[char46] سلامت پیوند حتی اگر تپش‌های قلب دریافت شوند اما ناسالم گزارش شوند، کاهش می‌یابد\[char46] یک تپش قلب ناسالم در این زمینه، تپش قلبی است که برای آن خطایی تنظیم شده باشد یا خارج از ترتیب باشد\[char46] سلامت رابط تنها در صورت دریافت تپش‌های قلب سالم با نرخ مورد نظر می‌تواند 100 باشد\[char46] .IP "\fBcfm_remote_mpids\fR: مجموعه‌ای از اعداد صحیح" هنگامی که CFM به درستی پیکربندی شده باشد، Open vSwitch گاه‌به‌گاه انتشارهای CCM را دریافت خواهد کرد\[char46] این انتشارها حاوی MPID نقطه نگهداری فرستنده هستند\[char46] فهرست MPIDهایی که این \fBInterface\fR از آن‌ها انتشار دریافت می‌کند به طور منظم جمع‌آوری شده و در این ستون نوشته می‌شود\[char46] .IP "\fBother_config : cfm_interval\fR: رشته اختیاری، شامل یک عدد صحیح" بازه زمانی، به میلی‌ثانیه، بین ارسال‌های تپش قلب CFM\[char46] عدم دریافت سه تپش قلب نشان‌دهنده خطای اتصال است\[char46] .IP در عملکرد استاندارد تنها بازه‌های 3، 10، 100، 1,000، 10,000، 60,000 یا 600,000 میلی‌ثانیه پشتیبانی می‌شوند\[char46] سایر مقادیر به نزدیک‌ترین مقدار موجود در فهرست به سمت پایین گرد خواهند شد\[char46] حالت توسعه‌یافته (ستون \fBother_config:cfm_extended\fR را ببینید) از هر بازه‌ای تا 65,535 میلی‌ثانیه پشتیبانی می‌کند\[char46] در هر دو حالت، مقدار پیش‌فرض 1000 میلی‌ثانیه است\[char46] .IP استفاده از بازه‌های کمتر از 100 میلی‌ثانیه توصیه نمی‌شود\[char46] .IP "\fBother_config : cfm_extended\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" هنگامی که \fBtrue\fR باشد، ماژول CFM در حالت توسعه‌یافته عمل می‌کند\[char46] این امر باعث می‌شود که از یک آدرس مقصد غیراستاندارد استفاده کند تا از تداخل با پیاده‌سازی‌های سازگار با استاندارد که ممکن است هم‌زمان روی شبکه در حال اجرا باشند جلوگیری شود\[char46] علاوه بر این، حالت توسعه‌یافته با شکستن سازگاری خط ارتباطی با پیاده‌سازی‌های منطبق با استاندارد 802\[char46]1ag، دقت پارامتر پیکربندی \fBcfm_interval\fR را افزایش می‌دهد\[char46] همچنین حالت توسعه‌یافته امکان استفاده از MPIDهای هشت بایتی را فراهم می‌سازد\[char46] مقدار پیش‌فرض \fBfalse\fR است\[char46] .IP "\fBother_config : cfm_demand\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" هنگامی که \fBtrue\fR باشد و \fBother_config:cfm_extended\fR نیز درست باشد، ماژول CFM در حالت تقاضا (demand mode) عمل می‌کند\[char46] در حالت تقاضا، ترافیک دریافت‌شده روی \fBInterface\fR برای نشان دادن زنده بودن پیوند استفاده می‌شود\[char46] پیام‌های CCM همچنان ارسال و دریافت می‌شوند\[char46] حداقل یک CCM باید در هر بازه زمانی 100 * \fBother_config:cfm_interval\fR دریافت شود\[char46] در غیر این صورت، حتی در صورت دریافت ترافیک، ماژول CFM خطای اتصال را اعلام خواهد کرد\[char46] .IP حالت تقاضا دارای چند نکته مهم است: .RS .IP \(bu برای اطمینان از اینکه ovs-vswitchd زمان کافی برای دریافت آمار از مسیر داده (datapath) را دارد، بازه تشخیص خطا روی 3\[char46]5 * MAX(\fBother_config:cfm_interval\fR, 500) میلی‌ثانیه تنظیم شده است\[char46] .IP \(bu برای جلوگیری از ابهام، حالت تقاضا در صورت وجود چندین نقطه نگهداری راه دور، خود را غیرفعال می‌کند\[char46] .IP \(bu اگر \fBInterface\fR به شدت شلوغ و متراکم باشد، ممکن است پیام‌های CCM حاوی وضعیت \fBother_config:cfm_opstate\fR دور ریخته شوند که باعث تأخیر در تغییرات وضعیت عملیاتی می‌شود\[char46] به طور مشابه، اگر پیام‌های CCM حاوی بیت RDI دریافت نشوند، خرابی‌های پیوند یک‌طرفه ممکن است شناسایی نشوند\[char46] .RE .IP "\fBother_config : cfm_opstate\fR: رشته اختیاری، یا \fBdown\fR یا \fBup\fR" هنگامی که \fBdown\fR باشد، ماژول CFM تمام پیام‌های CCM تولیدی خود را به عنوان از نظر عملیاتی غیرفعال بدون اعلام خطا علامت‌گذاری می‌کند\[char46] این امر به نقاط نگهداری راه دور اجازه می‌دهد تصمیم بگیرند ترافیک را به \fBInterface\fR که این ماژول CFM روی آن اجرا می‌شود هدایت نکنند\[char46] در حال حاضر، در Open vSwitch، بیت opdown در پیام‌های CCM بر \fBInterface\fRهایی که در پیوندها شرکت دارند و کنش OpenFlow از نوع bundle تأثیر می‌گذارد\[char46] اگر CFM در حالت توسعه‌یافته نباشد، این تنظیم نادیده گرفته می‌شود\[char46] مقدار پیش‌فرض \fBup\fR است\[char46] .IP "\fBother_config : cfm_ccm_vlan\fR: رشته اختیاری، شامل یک عدد صحیح، در بازه 1 تا 4,095" در صورت تنظیم، ماژول CFM یک برچسب VLAN را با مقدار داده‌شده برای تمام پیام‌های CCM که تولید می‌کند اعمال خواهد کرد\[char46] می‌تواند رشته \fBrandom\fR باشد که در این صورت هر CCM با یک VLAN تصادفی تولیدشده متفاوت برچسب‌گذاری می‌شود\[char46] .IP "\fBother_config : cfm_ccm_pcp\fR: رشته اختیاری، شامل یک عدد صحیح، در بازه 1 تا 7" در صورت تنظیم، ماژول CFM یک برچسب VLAN را برای تمام پیام‌های CCM که تولید می‌کند با مقدار PCP ارائه‌شده اعمال خواهد کرد؛ شناسه VLAN برچسب توسط مقدار \fBother_config:cfm_ccm_vlan\fR تعیین می‌شود\[char46] اگر \fBother_config:cfm_ccm_vlan\fR تنظیم نشده باشد، شناسه VLAN صفر استفاده می‌شود\[char46] .ST "پیکربندی پیوند (Bonding Configuration):" .PP .IP "\fBother_config : lacp-port-id\fR: رشته اختیاری، شامل یک عدد صحیح، در بازه 1 تا 65,535" شناسه پورت LACP برای این \fBInterface\fR\[char46] شناسه‌های پورت در مذاکرات LACP برای شناسایی تک‌تک پورت‌های شرکت‌کننده در یک پیوند استفاده می‌شوند\[char46] .IP "\fBother_config : lacp-port-priority\fR: رشته اختیاری، شامل یک عدد صحیح، در بازه 1 تا 65,535" اولویت پورت LACP برای این \fBInterface\fR\[char46] در مذاکرات LACP، رابط‌های (\fBInterface\fR) دارای اولویت‌های با شماره کمتر برای تجمیع ترجیح داده می‌شوند\[char46] .IP "\fBother_config : lacp-aggregation-key\fR: رشته اختیاری، شامل یک عدد صحیح، در بازه 1 تا 65,535" کلید تجمیع LACP برای این \fBInterface\fR\[char46] رابط‌های (\fBInterface\fR) دارای کلیدهای تجمیع متفاوت ممکن است به طور هم‌زمان در یک \fBPort\fR مشخص فعال نباشند\[char46] .ST "شناسه‌های ماشین مجازی (Virtual Machine Identifiers):" .PP .PP .PP این جفت‌های کلید-مقدار به طور خاص برای رابطی اعمال می‌شوند که نشان‌دهنده یک رابط اترنت مجازی متصل به یک ماشین مجازی است\[char46] این جفت‌های کلید-مقدار نباید برای سایر انواع رابط‌ها وجود داشته باشند\[char46] کلیدهایی که نام آن‌ها با \fB\-uuid\fR پایان می‌یابد، دارای مقادیری هستند که موجودیت مورد نظر را به طور یکتا مشخص می‌کنند\[char46] .IP "\fBexternal_ids : attached-mac\fR: رشته اختیاری" آدرس MAC برنامه‌ریزی‌شده در «سخت‌افزار مجازی» برای این رابط، در قالب \fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR:\fIxx\fR\[char46] .IP "\fBexternal_ids : iface-id\fR: رشته اختیاری" یک شناسه یکتا در سطح سیستم برای رابط\[char46] .IP "\fBexternal_ids : iface-status\fR: رشته اختیاری، یا \fBactive\fR یا \fBinactive\fR" هایپروایزرها ممکن است گاهی بیش از یک رابط مرتبط با یک \fBexternal_ids:iface-id\fR مشخص داشته باشند، که تنها یکی از آن‌ها در یک زمان معین واقعاً مورد استفاده قرار می‌گیرد\[char46] برای مثال، در برخی شرایط ممکن است هایپروایزر هم یک رابط «tap» و هم یک رابط «vif» برای یک \fBexternal_ids:iface-id\fR منفرد داشته باشد، اما در هر زمان تنها از یکی از آن‌ها استفاده کند\[char46] هایپروایزری که این‌گونه عمل می‌کند باید رابط در حال استفاده فعلی را \fBactive\fR و سایرین را \fBinactive\fR علامت‌گذاری کند\[char46] هایپروایزری که هرگز بیش از یک رابط برای یک \fBexternal_ids:iface-id\fR مشخص ندارد، می‌تواند آن رابط را \fBactive\fR علامت‌گذاری کند یا \fBexternal_ids:iface-status\fR را به طور کامل حذف نماید\[char46] .IP در طول مهاجرت ماشین مجازی (VM migration)، ممکن است یک \fBexternal_ids:iface-id\fR مشخص به طور موقت روی دو هایپروایزر مختلف به عنوان \fBactive\fR علامت‌گذاری شود\[char46] به عبارت دیگر، \fBactive\fR به این معنا است که این \fBexternal_ids:iface-id\fR نمونه فعال در یک هایپروایزر منفرد است، نه در دامنه‌ای وسیع‌تر\[char46] یک استثنا وجود دارد: برخی هایپروایزرها از «مهاجرت» از یک هایپروایزر به خودش (بیشتر برای اهداف آزمایشی) پشتیبانی می‌کنند\[char46] در طول چنین «مهاجرتی»، دو نمونه از یک \fBexternal_ids:iface-id\fR منفرد ممکن است هر دو برای مدت کوتاهی روی یک هایپروایزر به عنوان \fBactive\fR علامت‌گذاری شوند\[char46] .IP "\fBexternal_ids : vm-id\fR: رشته اختیاری" ماشین مجازی که این رابط به آن تعلق دارد\[char46] .ST "پیکربندی اتصال خودکار (Auto Attach Configuration):" .PP .PP .PP پیکربندی اتصال خودکار برای یک رابط مشخص\[char46] .IP "\fBlldp : enable\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true برای فعال‌سازی LLDP روی این \fBInterface\fR\[char46] در صورت عدم تعیین، LLDP به طور پیش‌فرض غیرفعال خواهد بود\[char46] .ST "پیکربندی کنترل جریان (Flow control Configuration):" .PP .PP .PP کنترل جریان اترنت تعریف‌شده در IEEE 802\[char46]1Qbb کنترل جریان در سطح پیوند را با استفاده از فریم‌های مکث (pause) مربوط به MAC فراهم می‌کند\[char46] فقط برای رابط‌هایی با نوع \fBdpdk\fR پیاده‌سازی شده است\[char46] .IP "\fBoptions : rx-flow-ctrl\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" برای فعال‌سازی کنترل جریان Rx روی پورت‌های فیزیکی، روی \fBtrue\fR تنظیم کنید\[char46] به طور پیش‌فرض، کنترل جریان Rx غیرفعال است\[char46] .IP "\fBoptions : tx-flow-ctrl\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" برای فعال‌سازی کنترل جریان Tx روی پورت‌های فیزیکی، روی \fBtrue\fR تنظیم کنید\[char46] به طور پیش‌فرض، کنترل جریان Tx غیرفعال است\[char46] .IP "\fBoptions : flow-ctrl-autoneg\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" برای فعال‌سازی مذاکره خودکار کنترل جریان روی پورت‌های فیزیکی، روی \fBtrue\fR تنظیم کنید\[char46] به طور پیش‌فرض، مذاکره خودکار غیرفعال است\[char46] .ST "حالت تشخیص تغییر وضعیت پیوند (Link State Change detection mode):" .PP .IP "\fBoptions : dpdk-lsc-interrupt\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" این مقدار را روی \fBfalse\fR تنظیم کنید تا حالت پولینگ (poll mode) برای تشخیص تغییر وضعیت پیوند (LSC) به جای حالت وقفه (interrupt mode) برای رابط DPDK پیکربندی شود\[char46] .IP اگر این مقدار تنظیم نشود، حالت وقفه پیکربندی می‌شود\[char46] .IP این پارامتر تنها روی رابط‌های dpdk مربوط به netdev تأثیر دارد\[char46] .ST "پیکربندی تخلیه بار سخت‌افزاری (Hardware Offload Configuration):" .PP .IP "\fBother_config : hw-offload-priority\fR: رشته اختیاری" این پیکربندی فهرستی صریح از ارائه‌دهندگان تخلیه بار سخت‌افزاری را برای امتحان کردن روی این رابط تعیین می‌کند\[char46] آرگومان باید فهرستی از نام‌های ارائه‌دهندگان تخلیه بار سخت‌افزاری باشد که با کاما از هم جدا شده‌اند، یا کلمه \fBnone\fR باشد\[char46] .IP اگر \fBnone\fR در فهرست مشاهده شود، تلاش‌های بیشتر برای ارائه‌دهندگان تخلیه بار متوقف می‌شود\[char46] برای مثال، اگر فهرست فقط شامل \fBnone\fR باشد، تخلیه بار سخت‌افزاری روی این رابط غیرفعال می‌شود حتی اگر به صورت سراسری فعال باشد\[char46] توجه داشته باشید که نام‌های ناشناخته ارائه‌دهندگان تخلیه بار سخت‌افزاری نادیده گرفته می‌شوند\[char46] .IP در صورت عدم تنظیم، از پیکربندی سراسری \fBother_config:hw-offload-priority\fR استفاده می‌شود\[char46] تغییر این مقدار پس از فعال‌سازی تخلیه بار نیازمند راه‌اندازی مجدد دیمن است\[char46] برای جلوگیری از راه‌اندازی مجدد دیمن، این گزینه را در همان تراکنشی که پورت را اضافه می‌کند تنظیم نمایید\[char46] برای مثال: .IP .nf \fB .br \fBovs\-vsctl add\-port br0 p1 \-\ \e .br \fB set Interface p1 other_config:hw\-offload\-priority=none .br \fB \fR .fi .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند شرح داده شده است\[char46] .IP "\fBother_config\fR: نگاشتی از جفت‌های رشته-رشته" .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته" .bp .SH "جدول Flow_Table (Flow_Table TABLE)" .PP .PP .PP پیکربندی برای یک جدول OpenFlow مشخص\[char46] .SS "چکیده (Summary):" .TQ 3.00in \fBname\fR رشته اختیاری .TQ .25in \fIسیاست اخراج (Eviction Policy):\fR .RS .25in .TQ 2.75in \fBflow_limit\fR عدد صحیح اختیاری، حداقل ۰ .TQ 2.75in \fBoverflow_policy\fR رشته اختیاری، یا \fBevict\fR یا \fBrefuse\fR .TQ 2.75in \fBgroups\fR مجموعه‌ای از رشته‌ها .RE .TQ .25in \fIبهینه‌سازی دسته‌بندی‌کننده (Classifier Optimization):\fR .RS .25in .TQ 2.75in \fBprefixes\fR مجموعه‌ای از حداکثر ۴ رشته .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته\-رشته .RE .SS "جزئیات (Details):" .IP "\fBname\fR: رشته اختیاری" نام جدول\[char46] این ستون را برای تغییر نامی که کنترل‌کننده‌ها هنگام درخواست آمار جدول دریافت می‌کنند تنظیم کنید، به عنوان مثال \fBovs\-ofctl dump\-tables\fR\[char46] این نام تأثیری بر رفتار سوییچ ندارد\[char46] .ST "سیاست اخراج (Eviction Policy):" .PP .PP .PP سامانه Open vSwitch از طریق ستون \fBflow_limit\fR از محدود کردن تعداد جریان‌هایی که می‌توانند در یک جدول جریان نصب شوند پشتیبانی می‌کند\[char46] هنگامی که افزودن یک جریان از این محدودیت فراتر رود، Open vSwitch به طور پیش‌فرض خطایی گزارش می‌دهد، اما دو راه برای پیکربندی Open vSwitch وجود دارد تا به جای آن، جریانی را برای باز کردن فضا برای جریان جدید حذف («اخراج» یا «evict») کند: .RS .IP \(bu تنظیم ستون \fBoverflow_policy\fR روی \fBevict\fR\[char46] .IP \(bu ارسال یک «درخواست تغییر جدول» (table mod request) مربوط به +OpenFlow 1\[char46]4 برای فعال‌سازی اخراج برای جدول جریان (به عنوان مثال \fBovs\-ofctl \-O OpenFlow14 mod\-table br0 0 evict\fR برای فعال‌سازی اخراج در جدول جریان ۰ از پل \fBbr0\fR)\[char46] .RE .PP .PP هنگامی که جریانی به دلیل سرریز باید اخراج شود، جریان مورد نظر برای اخراج از طریق تقریبی از الگوریتم زیر انتخاب می‌شود\[char46] این الگوریتم صرف‌نظر از چگونگی فعال شدن اخراج به کار گرفته می‌شود: .RS .IP 1. .4in جریان‌های درون جدول بر اساس مقادیر فیلدها یا زیرفیلدهای مشخص‌شده در ستون \fBgroups\fR به گروه‌هایی تقسیم می‌شوند، به طوری که تمام جریان‌های یک گروه مشخص دارای مقادیر یکسانی برای آن فیلدها باشند\[char46] اگر جریانی فیلد مشخصی را تعیین نکرده باشد، مقدار آن فیلد معادل ۰ در نظر گرفته می‌شود\[char46] اگر \fBgroups\fR خالی باشد، تمام جریان‌های جدول جریان به عنوان یک گروه واحد در نظر گرفته می‌شوند\[char46] .IP 2. .4in جریان‌های بزرگ‌ترین گروه بررسی می‌شوند؛ یعنی گروهی که بیشترین تعداد جریان را در بر دارد\[char46] اگر دو یا چند گروه همگی بیشترین تعداد یکسان جریان را داشته باشند، جریان‌های تمام آن گروه‌ها مورد بررسی قرار می‌گیرند\[char46] .IP 3. .4in اگر جریان‌های تحت بررسی مقادیر اهمیت (importance) متفاوتی داشته باشند، هر جریانی به جز آن‌هایی که کمترین مقدار اهمیت را دارند از بررسی کنار گذاشته می‌شوند\[char46] («اهمیت»، یک مقدار عدد صحیح ۱۶ بیتی متصل به هر جریان، در OpenFlow 1\[char46]4 معرفی شد\[char46] جریان‌های درج‌شده با نسخه‌های قدیمی‌تر OpenFlow همواره اهمیتی برابر با ۰ دارند\[char46]) .IP 4. .4in از میان جریان‌های تحت بررسی، جریانی که زودتر از همه منقضی می‌شود برای اخراج انتخاب می‌شود\[char46] .RE .PP .PP فرایند اخراج فقط جریان‌هایی را بررسی می‌کند که دارای مهلت زمانی عدم فعالیت (idle timeout) یا مهلت زمانی قطعی (hard timeout) هستند\[char46] به عبارت دیگر، اخراج هرگز جریان‌های دائمی را حذف نمی‌کند\[char46] (جریان‌های دائمی در شمارش مربوط به \fBflow_limit\fR محاسبه می‌شوند\[char46]) .IP "\fBflow_limit\fR: عدد صحیح اختیاری، حداقل ۰" در صورت تنظیم، تعداد جریان‌هایی را که ممکن است به جدول اضافه شوند محدود می‌کند\[char46] همچنین سامانه Open vSwitch ممکن است به دلایل دیگر، به عنوان مثال به دلیل محدودیت‌های سخت‌افزاری یا دلایل مربوط به در دسترس بودن منابع یا کارایی، تعداد جریان‌های یک جدول را محدود کند\[char46] .IP "\fBoverflow_policy\fR: رشته اختیاری، یا \fBevict\fR یا \fBrefuse\fR" رفتار سوییچ را زمانی که یک درخواست اصلاح جدول جریان OpenFlow جریان‌هایی فراتر از \fBflow_limit\fR اضافه کند، کنترل می‌نماید\[char46] مقادیر پشتیبانی‌شده عبارتند از: .RS .TP \fBrefuse\fR از افزودن جریان یا جریان‌ها خودداری می‌کند\[char46] این مقدار در زمانی که \fBoverflow_policy\fR تنظیم نشده باشد نیز سیاست پیش‌فرض است\[char46] .TP \fBevict\fR جریانی را که بر اساس الگوریتم تشریح‌شده در بالا انتخاب شده است، حذف می‌کند\[char46] .RE .IP "\fBgroups\fR: مجموعه‌ای از رشته‌ها" هنگامی که \fBoverflow_policy\fR برابر با \fBevict\fR باشد، نحوه انتخاب جریان‌ها را برای اخراج در شرایطی که در غیر این صورت جدول جریان از تعداد جریان‌های \fBflow_limit\fR فراتر می‌رود، کنترل می‌کند\[char46] مقدار آن مجموعه‌ای از فیلدها یا زیرفیلدهای NXM است که هر یک از آن‌ها یکی از قالب‌های \fB\fIfield\fB[]\fR یا \fB\fIfield\fB[\fIstart\fB\[char46]\[char46]\fIend\fB]\fR را می‌گیرند، مانند \fBNXM_OF_IN_PORT[]\fR\[char46] لطفاً برای مشاهده فهرست کامل نام‌های فیلدهای NXM به \fBmeta\-flow\[char46]h\fR مراجعه کنید\[char46] .IP سامانه Open vSwitch هرگونه مشخصات فیلد نامعتبر یا ناشناخته را نادیده می‌گیرد\[char46] .IP هنگامی که اخراج از طریق \fBoverflow_policy\fR یا یک «table mod» در +OpenFlow 1\[char46]4 فعال نشده باشد، این ستون هیچ تأثیری ندارد\[char46] .ST "بهینه‌سازی دسته‌بندی‌کننده (Classifier Optimization):" .PP .IP "\fBprefixes\fR: مجموعه‌ای از حداکثر ۴ رشته" این مجموعه رشته تعیین می‌کند که کدام فیلدها باید برای ردیابی پیشوند آدرس (prefix tracking) استفاده شوند\[char46] ردیابی پیشوند به دسته‌بندی‌کننده (classifier) اجازه می‌دهد قواعدی با پیشوندهای طولانی‌تر از حد لازم را نادیده بگیرد، که منجر به وایلدکاردسازی (wildcarding) بهتر برای جریان‌های مسیر داده (datapath flows) می‌شود\[char46] .IP ردیابی پیشوند ممکن است زمانی سودمند باشد که یک جدول جریان شامل تطابق‌هایی روی فیلدهای آدرس IP با طول پیشوندهای متفاوت باشد\[char46] به عنوان مثال، هنگامی که یک جدول جریان شامل تطابق‌های آدرس IP هم روی آدرس‌های کامل و هم روی پیشوندهای سره (proper prefixes) باشد، تطابق‌های آدرس کامل معمولاً باعث می‌شوند که جریان مسیر داده کل فیلد آدرس را از حالت وایلدکارد خارج کند (بسته به اولویت‌های مدخل جریان)\[char46] در این حالت، هر بسته با آدرس متفاوت برای پردازش جریان به فضای کاربری (userspace) تحویل داده می‌شود و جریان مسیر داده اختصاصی خود را تولید می‌کند\[char46] با فعال بودن ردیابی پیشوند برای فیلد آدرس مورد نظر، بسته‌هایی با آدرس‌های منطبق بر پیشوندهای کوتاه‌تر، جریان‌های مسیر داده‌ای تولید می‌کنند که در آن‌ها بیت‌های نامربوط آدرس وایلدکارد شده‌اند، که این امر به همان جریان مسیر داده اجازه می‌دهد تمامی بسته‌های درون پیشوند مورد نظر را پردازش کند\[char46] در این حالت می‌توان از بسیاری از فراخوانی‌های رو به بالا به فضای کاربری (userspace upcalls) اجتناب کرد و کارایی کلی بهتر خواهد شد\[char46] .IP این قابلیت صرفاً یک بهینه‌سازی کارایی است، بنابراین بسته‌ها با یا بدون ردیابی پیشوند رفتار یکسانی دریافت خواهند کرد\[char46] .IP فیلدهای پشتیبانی‌شده عبارتند از: \fBtun_id\fR، \fBtun_src\fR، \fBtun_dst\fR، \fBtun_ipv6_src\fR، \fBtun_ipv6_dst\fR، \fBnw_src\fR، \fBnw_dst\fR (یا نام‌های مستعار \fBip_src\fR و \fBip_dst\fR)، \fBipv6_src\fR و \fBipv6_dst\fR\[char46] (استفاده از این ویژگی برای \fBtun_id\fR تنها زمانی معنا دارد که شناسه‌های تونل ساختار پیشوندی مشابه با آدرس‌های IP داشته باشند\[char46]) .IP به طور پیش‌فرض، مقادیر \fBprefixes=ip_dst,ip_src,ipv6_dst,ipv6_src\fR در هر جدول جریان استفاده می‌شوند\[char46] این امر به دسته‌بندی‌کننده جریان دستور می‌دهد تا آدرس‌های مبدأ و مقصد IPv4 و IPv6 استفاده‌شده توسط قواعد را در این جدول جریان خاص ردیابی کند\[char46] .IP کلمه کلیدی \fBnone\fR به عنوان بازنویسی صریح مقادیر پیش‌فرض شناخته می‌شود و باعث می‌شود هیچ فیلد پیشوندی ردیابی نشود\[char46] .IP برای تنظیم فیلدهای پیشوند، رکورد جدول جریان باید وجود داشته باشد: .RS .TP \fBovs\-vsctl set Bridge br0 flow_tables:0=@N1 \-\- \-\-id=@N1 create Flow_Table name=table0\fR یک رکورد جدول جریان برای جدول شماره ۰ در OpenFlow ایجاد می‌کند\[char46] .TP \fBovs\-vsctl set Flow_Table table0 prefixes=ip_dst,ip_src\fR ردیابی پیشوند را برای فیلدهای آدرس مبدأ و مقصد IPv4 فعال می‌کند\[char46] .RE .IP حداکثر تعدادی از فیلدها وجود دارد که می‌توان برای هر جدول جریان فعال کرد\[char46] در حال حاضر این محدودیت ۴ است\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند تشریح شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته\-رشته" .bp .SH "جدول QoS (QoS TABLE)" .PP .PP .PP پیکربندی کیفیت خدمات (QoS) برای هر Port که به آن ارجاع می‌دهد\[char46] .SS "چکیده (Summary):" .TQ 3.00in \fBtype\fR رشته .TQ 3.00in \fBqueues\fR نگاشتی از جفت‌های عدد صحیح\-\fBQueue\fR، کلید در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ .25in \fIپیکربندی برای linux-htb و linux-hfsc (Configuration for linux-htb and linux-hfsc):\fR .RS .25in .TQ 2.75in \fBother_config : max-rate\fR رشته اختیاری، شامل یک عدد صحیح .RE .TQ .25in \fIپیکربندی برای QoS از نوع egress-policer (Configuration for egress-policer QoS):\fR .RS .25in .TQ 2.75in \fBother_config : cir\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : cbs\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : eir\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : ebs\fR رشته اختیاری، شامل یک عدد صحیح .RE .TQ .25in \fIپیکربندی برای linux-sfq (Configuration for linux-sfq):\fR .RS .25in .TQ 2.75in \fBother_config : perturb\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : quantum\fR رشته اختیاری، شامل یک عدد صحیح .RE .TQ .25in \fIپیکربندی برای linux-netem (Configuration for linux-netem):\fR .RS .25in .TQ 2.75in \fBother_config : latency\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : limit\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : loss\fR رشته اختیاری، شامل یک عدد صحیح .TQ 2.75in \fBother_config : jitter\fR رشته اختیاری، شامل یک عدد صحیح .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBother_config\fR نگاشتی از جفت‌های رشته\-رشته .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته\-رشته .RE .SS "جزئیات (Details):" .IP "\fBtype\fR: رشته" نوع QoS برای پیاده‌سازی\[char46] انواع تعریف‌شده کنونی در زیر فهرست شده‌اند: .RS .TP \fBlinux\-htb\fR دسته‌بندی‌کننده «hierarchy token bucket» در لینوکس\[char46] برای اطلاعات درباره نحوه کارکرد این دسته‌بندی‌کننده و نحوه پیکربندی آن، tc-htb(8) (همچنین در \fBhttp://linux\[char46]die\[char46]net/man/8/tc\-htb\fR) و راهنمای HTB (\fBhttp://luxik\[char46]cdi\[char46]cz/~devik/qos/htb/manual/userg\[char46]htm\fR) را ببینید\[char46] .TP \fBlinux\-hfsc\fR دسته‌بندی‌کننده «Hierarchical Fair Service Curve» در لینوکس\[char46] برای اطلاعات درباره نحوه کارکرد این دسته‌بندی‌کننده به \fBhttp://linux\-ip\[char46]net/articles/hfsc\[char46]en\fR مراجعه کنید\[char46] .TP \fBlinux\-sfq\fR دسته‌بندی‌کننده «Stochastic Fairness Queueing» در لینوکس\[char46] برای اطلاعات درباره نحوه کارکرد این دسته‌بندی‌کننده به \fBtc\-sfq\fR(8) (همچنین در \fBhttp://linux\[char46]die\[char46]net/man/8/tc\-sfq\fR) مراجعه کنید\[char46] .TP \fBlinux\-codel\fR دسته‌بندی‌کننده «Controlled Delay» در لینوکس\[char46] برای اطلاعات درباره نحوه کارکرد این دسته‌بندی‌کننده به \fBtc\-codel\fR(8) (همچنین در \fBhttp://man7\[char46]org/linux/man\-pages/man8/tc\-codel\[char46]8\[char46]html\fR) مراجعه کنید\[char46] .TP \fBlinux\-fq_codel\fR دسته‌بندی‌کننده «Fair Queuing with Controlled Delay» در لینوکس\[char46] برای اطلاعات درباره نحوه کارکرد این دسته‌بندی‌کننده به \fBtc\-fq_codel\fR(8) (همچنین در \fBhttp://man7\[char46]org/linux/man\-pages/man8/tc\-fq_codel\[char46]8\[char46]html\fR) مراجعه کنید\[char46] .TP \fBlinux\-netem\fR دسته‌بندی‌کننده «Network Emulator» در لینوکس\[char46] برای اطلاعات درباره نحوه کارکرد این دسته‌بندی‌کننده به \fBtc\-netem\fR(8) (همچنین در \fBhttp://man7\[char46]org/linux/man\-pages/man8/tc\-netem\[char46]8\[char46]html\fR) مراجعه کنید\[char46] .TP \fBlinux\-noop\fR «بدون عملیات» (No operation) در لینوکس\[char46] سامانه Open vSwitch به طور پیش‌فرض کیفیت خدمات را روی تمام پورت‌های پیکربندی‌شده خود مدیریت می‌کند\[char46] این امر می‌تواند مفید باشد، اما گاهی مدیران ترجیح می‌دهند از نرم‌افزارهای دیگری برای مدیریت QoS استفاده کنند\[char46] این \fBtype\fR مانع از آن می‌شود که Open vSwitch پیکربندی QoS را برای یک پورت تغییر دهد\[char46] .TP \fBegress\-policer\fR الگوریتم نظارت بر خروجی (egress policer) در DPDK با استفاده از کتابخانه rte_meter در DPDK\[char46] کتابخانه rte_meter پیاده‌سازی لازم را برای اندازه‌گیری و نظارت (policing) بر ترافیک فراهم می‌کند\[char46] پیاده‌سازی در OVS اساساً یک سطل ژتون (token bucket) منفرد ایجاد می‌کند که برای نظارت بر ترافیک استفاده می‌شود\[char46] باید توجه داشت که وقتی rte_meter به عنوان بخشی از QoS پیکربندی می‌شود، سربار کارایی به همراه خواهد داشت زیرا خود rte_meter برای نظارت بر ترافیک چرخه‌های پردازنده (CPU) را مصرف می‌کند\[char46] این چرخه‌های پردازنده به طور معمول برای پردازش بسته‌ها استفاده می‌شوند\[char46] به این ترتیب، افت کارایی در مجموع پهنای باند ترافیک محسوس خواهد بود\[char46] .TP \fBtrtcm\-policer\fR الگوریتم نظارت بر خروجی DPDK با استفاده از نشانه‌گذار دونوخی، سه‌رنگی (Two-Rate, Three-Color marker) استاندارد RFC 4115\[char46] این یک ناظر سلسله‌مراتبی دو سطحی است که ابتدا نشانه‌گذاری بدون توجه به رنگ (color-blind) ترافیک را در سطح صف انجام می‌دهد، و به دنبال آن نشانه‌گذاری با توجه به رنگ (color-aware) را در سطح پورت به کار می‌گیرد\[char46] در پایان، ترافیک نشانه‌گذاری‌شده به رنگ سبز یا زرد هدایت می‌شود و ترافیک قرمز دور انداخته می‌شود\[char46] برای جزئیات نحوه نشانه‌گذاری ترافیک به RFC 4115 مراجعه کنید\[char46] اگر «صف پیش‌فرض»، یعنی ۰، پیکربندی نشده باشد، به صورت خودکار با همان مقادیر \fBother_config\fR پورت فیزیکی ایجاد می‌شود\[char46] .RE .IP "\fBqueues\fR: نگاشتی از جفت‌های عدد صحیح\-\fBQueue\fR، کلید در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" نگاشتی از شماره‌های صف به رکوردهای \fBQueue\fR\[char46] محدوده پشتیبانی‌شده شماره‌های صف به \fBtype\fR بستگی دارد\[char46] شماره‌های صف همان \fBqueue_id\fR استفاده‌شده در OpenFlow در \fBstruct ofp_action_enqueue\fR و ساختارهای دیگر هستند\[char46] .IP صف ۰ «صف پیش‌فرض» است\[char46] این صف توسط عملیات‌های خروجی OpenFlow زمانی استفاده می‌شود که هیچ صف مشخصی تعیین نشده باشد\[char46] هنگامی که هیچ پیکربندی برای صف ۰ وجود نداشته باشد، به طور خودکار به گونه‌ای پیکربندی می‌شود که گویی یک رکورد \fBQueue\fR با ستون‌های خالی \fBdscp\fR و \fBother_config\fR مشخص شده است\[char46] (قبل از نسخه 1\[char46]6، سامانه Open vSwitch در این حالت صف ۰ را بدون پیکربندی رها می‌کرد\[char46] با برخی از انضباط‌های صف‌بندی، این امر باعث دور ریخته شدن تمام بسته‌های مقصد صف پیش‌فرض می‌شد\[char46]) .ST "پیکربندی برای linux-htb و linux-hfsc (Configuration for linux-htb and linux-hfsc):" .PP .PP .PP کلاس‌های \fBlinux\-htb\fR و \fBlinux\-hfsc\fR از جفت کلید\-مقدار زیر پشتیبانی می‌کنند: .IP "\fBother_config : max-rate\fR: رشته اختیاری، شامل یک عدد صحیح" حداکثر نرخ به اشتراک گذاشته شده توسط تمام ترافیک در صف قرار گرفته، به بیت بر ثانیه (bit/s)\[char46] اختیاری\[char46] در صورت عدم تعیین، برای رابط‌های فیزیکی، مقدار پیش‌فرض همان نرخ پیوند (link rate) است\[char46] برای سایر رابط‌ها یا اگر نرخ پیوند قابل تعیین نباشد، مقدار پیش‌فرض در حال حاضر 10 Gbps است\[char46] .ST "پیکربندی برای QoS از نوع egress-policer (Configuration for egress-policer QoS):" .PP .PP .PP مقدار \fBtype\fR در \fBQoS\fR با مقدار \fBegress\-policer\fR، نظارت بر خروجی (egress policing) را برای انواع پورت‌های فضای کاربری با DPDK فراهم می‌کند\[char46] جفت‌های کلید\-مقدار زیر برای آن تعریف شده‌اند\[char46] .IP "\fBother_config : cir\fR: رشته اختیاری، شامل یک عدد صحیح" نرخ اطلاعات متعهدشده (Committed Information Rate یا CIR) بر حسب بایت‌های بسته‌های IP در ثانیه سنجیده می‌شود، به این معنی که شامل سرآیند IP می‌شود، اما شامل سرآیندهای خاص پیوند (مانند اترنت) نیست\[char46] این مقدار نشان‌دهنده نرخ بایت بر ثانیه‌ای است که سطل ژتون با آن به‌روزرسانی خواهد شد\[char46] مقدار cir از ضرب (pps در اندازه داده بسته) محاسبه می‌شود\[char46] برای مثال، با فرض اینکه کاربری بخواهد جریانی متشکل از بسته‌های ۶۴ بایتی را به ۱ میلیون بسته بر ثانیه محدود کند، مقدار CIR روی 46000000 تنظیم می‌شود\[char46] این مقدار را می‌توان به «1,000,000 x 46» تفکیک کرد؛ جایی که 1,000,000 نرخ نظارت برای تعداد بسته‌ها در ثانیه است و 46 نشان‌دهنده اندازه داده بسته برای یک بسته IP با اندازه ۶۴ بایت بدون ۱۴ بایت سرآیند اترنت و ۴ بایت سرآیند FCS است\[char46] .IP "\fBother_config : cbs\fR: رشته اختیاری، شامل یک عدد صحیح" اندازه جهش متعهدشده (Committed Burst Size یا CBS) بر حسب بایت سنجیده می‌شود و نمایانگر یک سطل ژتون است\[char46] حداقل این مقدار باید بر روی بزرگ‌ترین اندازه بسته مورد انتظار در جریان ترافیک تنظیم شود\[char46] در عمل می‌توان از مقادیر بزرگ‌تر برای افزایش اندازه سطل ژتون استفاده کرد\[char46] اگر بسته‌ای بتواند ارسال شود، مقدار cbs به اندازه تعداد بایت‌ها/ژتون‌های بسته کاهش می‌یابد\[char46] اگر ژتون کافی در سطل cbs وجود نداشته باشد، بسته دور انداخته خواهد شد\[char46] .IP "\fBother_config : eir\fR: رشته اختیاری، شامل یک عدد صحیح" نرخ اطلاعات مازاد (Excess Information Rate یا EIR) بر حسب بایت‌های بسته‌های IP در ثانیه سنجیده می‌شود، به این معنی که شامل سرآیند IP می‌شود، اما شامل سرآیندهای خاص پیوند (مانند اترنت) نیست\[char46] این مقدار نشان‌دهنده نرخ بایت بر ثانیه‌ای است که سطل ژتون با آن به‌روزرسانی خواهد شد\[char46] مقدار eir از ضرب (pps در اندازه داده بسته) محاسبه می‌شود\[char46] برای مثال، با فرض اینکه کاربری بخواهد جریانی متشکل از بسته‌های ۶۴ بایتی را به ۱ میلیون بسته بر ثانیه محدود کند، مقدار EIR روی 46000000 تنظیم می‌شود\[char46] این مقدار را می‌توان به «1,000,000 x 46» تفکیک کرد؛ جایی که 1,000,000 نرخ نظارت برای تعداد بسته‌ها در ثانیه است و 46 نشان‌دهنده اندازه داده بسته برای یک بسته IP با اندازه ۶۴ بایت بدون ۱۴ بایت سرآیند اترنت و ۴ بایت سرآیند FCS است\[char46] .IP "\fBother_config : ebs\fR: رشته اختیاری، شامل یک عدد صحیح" اندازه جهش مازاد (Excess Burst Size یا EBS) بر حسب بایت سنجیده می‌شود و نمایانگر یک سطل ژتون است\[char46] حداقل این مقدار باید بر روی بزرگ‌ترین اندازه بسته مورد انتظار در جریان ترافیک تنظیم شود\[char46] در عمل می‌توان از مقادیر بزرگ‌تر برای افزایش اندازه سطل ژتون استفاده کرد\[char46] اگر بسته‌ای بتواند ارسال شود، مقدار ebs به اندازه تعداد بایت‌ها/ژتون‌های بسته کاهش می‌یابد\[char46] اگر ژتون کافی در سطل ebs وجود نداشته باشد، ممکن است بسته دور انداخته شود\[char46] .ST "پیکربندی برای linux-sfq (Configuration for linux-sfq):" .PP .PP .PP کیفیت خدمات \fBlinux\-sfq\fR از جفت‌های کلید\-مقدار زیر پشتیبانی می‌کند: .IP "\fBother_config : perturb\fR: رشته اختیاری، شامل یک عدد صحیح" تعداد ثانیه‌های بین پریشانی‌های (perturbations) متوالی در الگوریتم درهم‌سازی (هشینگ)\[char46] جریان‌های مختلف ممکن است در یک سطل هش مشترک قرار گیرند و باعث بی‌عدالتی شوند\[char46] هدف از پریشانی، از بین بردن بی‌عدالتی‌های احتمالی است\[char46] مقدار پیش‌فرض و توصیه‌شده ۱۰ است\[char46] مقدار خیلی پایین توصیه نمی‌شود، زیرا هر پریشانی می‌تواند باعث به‌هم‌ریختگی ترتیب بسته‌ها (packet reordering) شود\[char46] .IP "\fBother_config : quantum\fR: رشته اختیاری، شامل یک عدد صحیح" تعداد بایت‌هایی که QoS از نوع \fBlinux\-sfq\fR می‌تواند در یک نوبت به شیوه نوبت‌گردشی (round-robin) از یک جریان از صف خارج کند (dequeue)\[char46] مقدار پیش‌فرض و توصیه‌شده برابر با MTU رابط است\[char46] .ST "پیکربندی برای linux-netem (Configuration for linux-netem):" .PP .PP .PP کیفیت خدمات \fBlinux\-netem\fR از جفت‌های کلید\-مقدار زیر پشتیبانی می‌کند: .IP "\fBother_config : latency\fR: رشته اختیاری، شامل یک عدد صحیح" تاخیر انتخاب‌شده را به بسته‌های خروجی به سمت رابط شبکه انتخاب‌شده اضافه می‌کند\[char46] مقدار تاخیر (latency) بر حسب میکروثانیه (us) بیان می‌شود\[char46] .IP "\fBother_config : limit\fR: رشته اختیاری، شامل یک عدد صحیح" حداکثر تعداد بسته‌هایی که qdisc می‌تواند در یک زمان در صف نگه دارد\[char46] مقدار پیش‌فرض 1000 است\[char46] .IP "\fBother_config : loss\fR: رشته اختیاری، شامل یک عدد صحیح" یک احتمال افت (loss) مستقل را به بسته‌های خروجی از رابط شبکه انتخاب‌شده اضافه می‌کند\[char46] .IP "\fBother_config : jitter\fR: رشته اختیاری، شامل یک عدد صحیح" جیتر (jitter) ارائه‌شده را به تاخیر خروجی به سمت رابط شبکه انتخاب‌شده اضافه می‌کند\[char46] مقدار جیتر بر حسب میکروثانیه (us) بیان می‌شود\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند تشریح شده است\[char46] .IP "\fBother_config\fR: نگاشتی از جفت‌های رشته\-رشته" .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته\-رشته" .bp .SH "جدول Queue (Queue TABLE)" .PP .PP .PP پیکربندی برای یک صف خروجی پورت، که در پیکربندی ویژگی‌های کیفیت خدمات (QoS) استفاده می‌شود\[char46] ممکن است توسط ستون \fBqueues\fR در جدول \fBQoS\fR مورد ارجاع قرار گیرد\[char46] .SS "چکیده (Summary):" .TQ 3.00in \fBdscp\fR عدد صحیح اختیاری، در محدوده ۰ تا ۶۳ .TQ .25in \fIپیکربندی برای QoS از نوع linux-htb (Configuration for linux-htb QoS):\fR .RS .25in .TQ 2.75in \fBother_config : min-rate\fR رشته اختیاری، شامل یک عدد صحیح، حداقل ۱ .TQ 2.75in \fBother_config : max-rate\fR رشته اختیاری، شامل یک عدد صحیح، حداقل ۱ .TQ 2.75in \fBother_config : burst\fR رشته اختیاری، شامل یک عدد صحیح، حداقل ۱ .TQ 2.75in \fBother_config : priority\fR رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .RE .TQ .25in \fIپیکربندی برای QoS از نوع linux-hfsc (Configuration for linux-hfsc QoS):\fR .RS .25in .TQ 2.75in \fBother_config : min-rate\fR رشته اختیاری، شامل یک عدد صحیح، حداقل ۱ .TQ 2.75in \fBother_config : max-rate\fR رشته اختیاری، شامل یک عدد صحیح، حداقل ۱ .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBother_config\fR نگاشتی از جفت‌های رشته\-رشته .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته\-رشته .RE .SS "جزئیات (Details):" .IP "\fBdscp\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۶۳" در صورت تنظیم، سامانه Open vSwitch تمام ترافیک خروجی از این \fBQueue\fR را با بیت‌های DSCP داده‌شده علامت‌گذاری می‌کند\[char46] ترافیک خارج‌شده از \fBQueue\fR پیش‌فرض تنها در صورتی علامت‌گذاری می‌شود که در زمان خروج بسته، به طور صریح به عنوان \fBQueue\fR انتخاب شده باشد\[char46] در صورت عدم تنظیم، بیت‌های DSCP ترافیک خروجی از این \fBQueue\fR بدون تغییر باقی خواهند ماند\[char46] .ST "پیکربندی برای QoS از نوع linux-htb (Configuration for linux-htb QoS):" .PP .PP .PP نوع \fBlinux\-htb\fR در \fBQoS\fR ممکن است از \fBqueue_id\fRهای کمتر از ۶۱۴۴۰ استفاده کند\[char46] جفت‌های کلید\-مقدار زیر برای آن تعریف شده‌اند\[char46] .IP "\fBother_config : min-rate\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل ۱" حداقل پهنای باند تضمین‌شده، بر حسب بیت بر ثانیه (bit/s)\[char46] .IP "\fBother_config : max-rate\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل ۱" حداکثر پهنای باند مجاز، بر حسب بیت بر ثانیه (bit/s)\[char46] اختیاری\[char46] در صورت تعیین، نرخ صف اجازه نخواهد داشت از مقدار مشخص‌شده فراتر رود، حتی اگر پهنای باند مازاد در دسترس باشد\[char46] در صورت عدم تعیین، به طور پیش‌فرض بدون محدودیت است\[char46] .IP "\fBother_config : burst\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل ۱" اندازه جهش، بر حسب بیت\[char46] این حداکثر مقدار «اعتباری» است که یک صف می‌تواند در زمان بیکار بودن ذخیره کند\[char46] اختیاری\[char46] جزئیات پیاده‌سازی \fBlinux\-htb\fR نیازمند حداقل اندازه جهش است، بنابراین مقدار بسیار کوچک \fBburst\fR بدون هشدار نادیده گرفته خواهد شد\[char46] .IP "\fBother_config : priority\fR: رشته اختیاری، شامل یک عدد صحیح، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" صفی با \fBpriority\fR کوچک‌تر، تمام پهنای باند مازادی را که بتواند مصرف کند، پیش از دریافت هرگونه پهنای باندی توسط صفی با اولویت بزرگ‌تر دریافت خواهد کرد\[char46] مقادیر خاص اولویت اهمیت ندارند؛ فقط ترتیب نسبی آن‌ها مهم است\[char46] در صورت عدم تعیین، مقدار پیش‌فرض ۰ است\[char46] .ST "پیکربندی برای QoS از نوع linux-hfsc (Configuration for linux-hfsc QoS):" .PP .PP .PP نوع \fBlinux\-hfsc\fR در \fBQoS\fR ممکن است از \fBqueue_id\fRهای کمتر از ۶۱۴۴۰ استفاده کند\[char46] جفت‌های کلید\-مقدار زیر برای آن تعریف شده‌اند\[char46] .IP "\fBother_config : min-rate\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل ۱" حداقل پهنای باند تضمین‌شده، بر حسب بیت بر ثانیه (bit/s)\[char46] .IP "\fBother_config : max-rate\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل ۱" حداکثر پهنای باند مجاز، بر حسب بیت بر ثانیه (bit/s)\[char46] اختیاری\[char46] در صورت تعیین، نرخ صف اجازه نخواهد داشت از مقدار مشخص‌شده فراتر رود، حتی اگر پهنای باند مازاد در دسترس باشد\[char46] در صورت عدم تعیین، به طور پیش‌فرض بدون محدودیت است\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند تشریح شده است\[char46] .IP "\fBother_config\fR: نگاشتی از جفت‌های رشته\-رشته" .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته\-رشته" .bp .SH "جدول Mirror (Mirror TABLE)" .PP .PP .PP یک بازتاب پورت (port mirror) درون یک \fBBridge\fR\[char46] .PP .PP یک بازتاب پورت، پل را پیکربندی می‌کند تا فریم‌های انتخاب‌شده را علاوه بر مقصدهای معمول خود، به پورت‌های ویژه «بازتاب‌شده» (mirrored) نیز ارسال کند\[char46] بازتاب ترافیک بسته به نحوه ارسال ترافیک بازتاب‌یافته، ممکن است به عنوان SPAN یا RSPAN نیز شناخته شود\[char46] .PP .PP هنگامی که بسته‌ای وارد یک پل Open vSwitch می‌شود، بر اساس پورت ورودی (ingress) و VLAN خود واجد شرایط بازتاب می‌گردد\[char46] همان‌طور که بسته در میان جدول‌های جریان حرکت می‌کند، هر بار که به یک پورت خروجی فرستاده می‌شود، بر اساس پورت خروجی (egress) و VLAN واجد شرایط بازتاب می‌شود\[char46] در Open vSwitch نسخه 2\[char46]5 و بالاتر، بازتاب بلافاصله پس از آنکه بسته برای نخستین بار واجد شرایط شد، با استفاده از وضعیت بسته در همان نقطه رخ می‌دهد؛ در Open vSwitch نسخه 2\[char46]4 و قبل از آن، بازتاب تنها پس از پیمودن تمام جدول‌های جریان توسط بسته، با استفاده از بسته اولیه همان‌گونه که وارد پل شده بود انجام می‌گیرد\[char46] این تفاوت تنها زمانی اهمیت پیدا می‌کند که جدول جریان، بسته را تغییر دهد: در Open vSwitch 2\[char46]4، این تغییرات هرگز برای بازتاب‌ها قابل مشاهده نیستند، در حالی که در Open vSwitch 2\[char46]5 و بالاتر، تغییرات اعمال‌شده پیش از نخستین خروجی که بسته را برای بازتاب به یک مقصد خاص واجد شرایط می‌کند، قابل رویت خواهند بود\[char46] .PP .PP بسته‌ای که وارد پل Open vSwitch می‌شود، حتی اگر به دلایل متعددی واجد شرایط باشد، تنها یک بار به یک مقصد مشخص بازتاب داده می‌شود\[char46] به عنوان مثال، یک بسته فقط یک بار به یک \fBoutput_port\fR خاص بازتاب داده خواهد شد، حتی اگر توسط \fBselect_dst_port\fR و \fBselect_src_port\fR در یک رکورد یکسان یا رکوردهای متفاوتی از \fBMirror\fR برای بازتاب به آن پورت انتخاب شده باشد\[char46] .SS "چکیده (Summary):" .TQ 3.00in \fBname\fR رشته .TQ .25in \fIانتخاب بسته‌ها برای بازتاب (Selecting Packets for Mirroring):\fR .RS .25in .TQ 2.75in \fBselect_all\fR بولی .TQ 2.75in \fBselect_dst_port\fR مجموعه‌ای از ارجاع‌های ضعیف به \fBPort\fRها .TQ 2.75in \fBselect_src_port\fR مجموعه‌ای از ارجاع‌های ضعیف به \fBPort\fRها .TQ 2.75in \fBselect_vlan\fR مجموعه‌ای از حداکثر ۴٬۰۹۶ عدد صحیح، در محدوده ۰ تا ۴٬۰۹۵ .TQ 2.75in \fBfilter\fR رشته اختیاری .RE .TQ .25in \fIپیکربندی مقصد بازتاب (Mirroring Destination Configuration):\fR .RS .25in .TQ 2.75in \fBoutput_port\fR ارجاع ضعیف اختیاری به \fBPort\fR .TQ 2.75in \fBoutput_vlan\fR عدد صحیح اختیاری، در محدوده ۱ تا ۴٬۰۹۵ .TQ 2.75in \fBsnaplen\fR عدد صحیح اختیاری، در محدوده ۱۴ تا ۶۵٬۵۳۵ .RE .TQ .25in \fIآمار: شمارنده‌های بازتاب (Statistics: Mirror counters):\fR .RS .25in .TQ 2.75in \fBstatistics : tx_packets\fR عدد صحیح اختیاری .TQ 2.75in \fBstatistics : tx_bytes\fR عدد صحیح اختیاری .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته\-رشته .RE .SS "جزئیات (Details):" .IP "\fBname\fR: رشته" شناسه اختیاری برای \fBMirror\fR\[char46] .ST "انتخاب بسته‌ها برای بازتاب (Selecting Packets for Mirroring):" .PP .PP .PP برای انتخاب جهت بازتاب، بسته مورد نظر باید از طریق یک پورت انتخاب‌شده وارد پل شود یا آن را ترک کند و همچنین باید در یکی از VLANهای انتخاب‌شده قرار داشته باشد\[char46] .IP "\fBselect_all\fR: بولی" اگر true باشد، هر بسته‌ای که در هر پورتی وارد یا خارج شود برای بازتاب انتخاب می‌گردد\[char46] .IP "\fBselect_dst_port\fR: مجموعه‌ای از ارجاع‌های ضعیف به \fBPort\fRها" پورت‌هایی که بسته‌های خروجی روی آن‌ها برای بازتاب انتخاب می‌شوند\[char46] .IP "\fBselect_src_port\fR: مجموعه‌ای از ارجاع‌های ضعیف به \fBPort\fRها" پورت‌هایی که بسته‌های ورودی روی آن‌ها برای بازتاب انتخاب می‌شوند\[char46] .IP "\fBselect_vlan\fR: مجموعه‌ای از حداکثر ۴٬۰۹۶ عدد صحیح، در محدوده ۰ تا ۴٬۰۹۵" VLANهایی که بسته‌ها روی آن‌ها برای بازتاب انتخاب می‌شوند\[char46] یک مجموعه خالی، بسته‌ها را روی تمام VLANها انتخاب می‌کند\[char46] .IP "\fBfilter\fR: رشته اختیاری" در صورت تنظیم، تنها بسته‌های منطبق با \fBfilter\fR برای بازتاب انتخاب می‌شوند\[char46] بسته‌هایی که مطابقت ندارند توسط این آینه نادیده گرفته می‌شوند\[char46] نحو (syntax) عبارت \fBfilter\fR در \fBovs\-fields\fR(7) تشریح شده است\[char46] با این حال، فیلد \fBin_port\fR پشتیبانی نمی‌شود؛ باید از \fBselect_src_port\fR برای محدود کردن بازتاب به یک پورت مبدأ استفاده شود\[char46] .IP این فیلتر پس از اعمال \fBselect_all\fR، \fBselect_dst_port\fR، \fBselect_src_port\fR و \fBselect_vlan\fR اعمال می‌گردد\[char46] .ST "پیکربندی مقصد بازتاب (Mirroring Destination Configuration):" .PP .PP .PP این ستون‌ها مانعة‌الجمع هستند\[char46] دقیقاً یکی از آن‌ها باید غیرخالی باشد\[char46] .IP "\fBoutput_port\fR: ارجاع ضعیف اختیاری به \fBPort\fR" پورت خروجی برای بسته‌های انتخاب‌شده، در صورت غیرخالی بودن\[char46] .IP تعیین یک پورت برای خروجی بازتاب، آن پورت را به طور اختصاصی برای بازتاب رزرو می‌کند\[char46] هیچ فریمی به جز آن‌هایی که برای بازتاب از طریق این ستون انتخاب شده‌اند به این پورت هدایت نخواهند شد، و هر فریمی که روی این پورت دریافت شود دور ریخته خواهد شد\[char46] .IP پورت خروجی ممکن است هر نوع پورتی باشد که توسط Open vSwitch پشتیبانی می‌شود\[char46] برای مثال، می‌تواند یک پورت فیزیکی (که گاهی SPAN نامیده می‌شود) یا یک تونل GRE باشد\[char46] .IP "\fBoutput_vlan\fR: عدد صحیح اختیاری، در محدوده ۱ تا ۴٬۰۹۵" شناسه VLAN خروجی برای بسته‌های انتخاب‌شده، در صورت غیرخالی بودن\[char46] .IP فریم‌ها از طریق تمام پورت‌هایی که \fBoutput_vlan\fR را ترانک (trunk) می‌کنند و همچنین پورت‌هایی با VLAN ضمنی \fBoutput_vlan\fR ارسال خواهند شد\[char46] هنگامی که یک فریم بازتاب‌شده از یک پورت ترانک خارج می‌شود، برچسب VLAN فریم روی \fBoutput_vlan\fR تنظیم می‌شود و جایگزین هر برچسب موجود می‌گردد؛ هنگامی که از یک پورت با VLAN ضمنی ارسال می‌شود، فریم برچسب‌گذاری نخواهد شد\[char46] این نوع بازتاب گاهی RSPAN نامیده می‌شود\[char46] .IP برای مشاهده فهرستی از آدرس‌های MAC مقصد که به منظور جلوگیری از سردرگمی سوییچ‌هایی که پروتکل‌های مربوط به آن‌ها را تفسیر می‌کنند، به VLAN بازتاب داده نمی‌شوند، مستندات مربوط به \fBother_config:forward-bpdu\fR را در جدول \fBInterface\fR ببینید\[char46] .IP \fBلطفاً توجه داشته باشید:\fR بازتاب به یک VLAN می‌تواند شبکه‌ای را که شامل سوییچ‌های مدیریت‌نشده است دچار اختلال کند\[char46] یک سوییچ فیزیکی مدیریت‌نشده با دو پورت را در نظر بگیرید: پورت ۱ متصل به یک میزبان نهایی، و پورت ۲ متصل به یک Open vSwitch که به گونه‌ای پیکربندی شده است که بسته‌های دریافتی را به VLAN 123 روی پورت ۲ بازتاب دهد\[char46] فرض کنید میزبان نهایی بسته‌ای را روی پورت ۱ ارسال می‌کند و سوییچ فیزیکی آن را به پورت ۲ هدایت می‌نماید\[char46] سامانه Open vSwitch این بسته را به مقصد خود هدایت کرده و سپس آن را دوباره روی پورت ۲ در VLAN 123 بازتاب می‌دهد\[char46] این بسته بازتاب‌یافته باعث می‌شود سوییچ فیزیکی مدیریت‌نشده مدخل جدول یادگیری MAC خود را که به درستی به پورت ۱ اشاره می‌کرد، با مدخلی جایگزین کند که به اشتباه به پورت ۲ اشاره دارد\[char46] پس از آن، سوییچ فیزیکی بسته‌های مقصد میزبان نهایی را به جای ارسال به میزبان نهایی روی پورت ۱، به Open vSwitch روی پورت ۲ هدایت می‌کند که منجر به قطع ارتباط می‌شود\[char46] اگر در این سناریو بازتاب به یک VLAN مطلوب باشد، سوییچ فیزیکی باید با سوییچی جایگزین شود که آدرس‌های اترنت را به ازای هر VLAN یاد می‌گیرد\[char46] علاوه بر این، یادگیری باید روی VLAN حاوی ترافیک بازتاب‌شده غیرفعال گردد\[char46] در صورت عدم انجام این کار، سوییچ‌های واسط آدرس MAC هر میزبان نهایی را از روی ترافیک بازتاب‌یافته یاد خواهند گرفت\[char46] اگر بسته‌های ارسالی به آن میزبان نهایی نیز بازتاب داده شوند، دور انداخته خواهند شد زیرا سوییچ تلاش خواهد کرد آن‌ها را از پورت ورودی ارسال کند\[char46] غیرفعال کردن یادگیری برای این VLAN باعث می‌شود سوییچ بسته را به درستی به تمام پورت‌های پیکربندی‌شده برای آن VLAN ارسال کند\[char46] اگر Open vSwitch به عنوان یک سوییچ واسط استفاده می‌شود، می‌توان یادگیری را با افزودن VLAN بازتاب‌یافته به \fBflood_vlans\fR در جدول یا جدول‌های مناسب \fBBridge\fR غیرفعال کرد\[char46] .IP بازتاب به یک تونل GRE محدودیت‌ها و هشدارهای کمتری نسبت به بازتاب به یک VLAN دارد و عموماً باید ترجیح داده شود\[char46] .IP "\fBsnaplen\fR: عدد صحیح اختیاری، در محدوده ۱۴ تا ۶۵٬۵۳۵" حداکثر تعداد بایت‌های هر بسته برای بازتاب\[char46] .IP یک بسته بازتاب‌شده با اندازه‌ای بزرگ‌تر از \fBsnaplen\fR، در مسیر داده پیش از ارسال به پورت خروجی بازتاب به اندازه \fBsnaplen\fR بایت بریده خواهد شد\[char46] در صورت عدم تعیین، بسته‌ها بریده نمی‌شوند\[char46] .ST "آمار: شمارنده‌های بازتاب (Statistics: Mirror counters):" .PP .PP .PP جفت‌های کلید\-مقدار که آمار بازتاب را گزارش می‌دهند\[char46] دوره به‌روزرسانی توسط \fBother_config:stats-update-interval\fR در جدول \fBOpen_vSwitch\fR کنترل می‌شود\[char46] .IP "\fBstatistics : tx_packets\fR: عدد صحیح اختیاری" تعداد بسته‌های ارسال‌شده از طریق این بازتاب\[char46] .IP "\fBstatistics : tx_bytes\fR: عدد صحیح اختیاری" تعداد بایت‌های ارسال‌شده از طریق این بازتاب\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند تشریح شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته\-رشته" .bp .SH "جدول Controller (Controller TABLE)" .PP .PP .PP یک کنترل‌کننده OpenFlow\[char46] .SS "چکیده (Summary):" .TQ .25in \fIویژگی‌های اصلی (Core Features):\fR .RS .25in .TQ 2.75in \fBtype\fR رشته اختیاری، یا \fBprimary\fR یا \fBservice\fR .TQ 2.75in \fBtarget\fR رشته .TQ 2.75in \fBconnection_mode\fR رشته اختیاری، یا \fBin\-band\fR یا \fBout\-of\-band\fR .RE .TQ .25in \fIتشخیص و مدیریت خرابی کنترل‌کننده (Controller Failure Detection and Handling):\fR .RS .25in .TQ 2.75in \fBmax_backoff\fR عدد صحیح اختیاری، حداقل 1,000 .TQ 2.75in \fBinactivity_probe\fR عدد صحیح اختیاری .RE .TQ .25in \fIپیام‌های ناهمگام (Asynchronous Messages):\fR .RS .25in .TQ 2.75in \fBenable_async_messages\fR بولی اختیاری (optional boolean) .TQ .25in \fIمحدودسازی نرخ کنترل‌کننده (Controller Rate Limiting):\fR .RS .25in .TQ 2.50in \fBcontroller_queue_size\fR عدد صحیح اختیاری، در محدوده 1 تا 512 .TQ 2.50in \fBcontroller_rate_limit\fR عدد صحیح اختیاری، حداقل 100 .TQ 2.50in \fBcontroller_burst_limit\fR عدد صحیح اختیاری، حداقل 25 .TQ .25in \fIآمار محدودسازی نرخ کنترل‌کننده (Controller Rate Limiting Statistics):\fR .RS .25in .TQ 2.25in \fBstatus : packet-in-TYPE-bypassed\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 0 .TQ 2.25in \fBstatus : packet-in-TYPE-queued\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 0 .TQ 2.25in \fBstatus : packet-in-TYPE-dropped\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 0 .TQ 2.25in \fBstatus : packet-in-TYPE-backlog\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 0 .RE .RE .RE .TQ .25in \fIپیکربندی اضافی درون‌باند (Additional In-Band Configuration):\fR .RS .25in .TQ 2.75in \fBlocal_ip\fR رشته اختیاری .TQ 2.75in \fBlocal_netmask\fR رشته اختیاری .TQ 2.75in \fBlocal_gateway\fR رشته اختیاری .RE .TQ .25in \fIوضعیت کنترل‌کننده (Controller Status):\fR .RS .25in .TQ 2.75in \fBis_connected\fR بولی (boolean) .TQ 2.75in \fBrole\fR رشته اختیاری، یکی از \fBmaster\fR، \fBother\fR یا \fBslave\fR .TQ 2.75in \fBstatus : last_error\fR رشته اختیاری .TQ 2.75in \fBstatus : state\fR رشته اختیاری، یکی از \fBACTIVE\fR، \fBBACKOFF\fR، \fBCONNECTING\fR، \fBIDLE\fR یا \fBVOID\fR .TQ 2.75in \fBstatus : sec_since_connect\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 0 .TQ 2.75in \fBstatus : sec_since_disconnect\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 1 .RE .TQ .25in \fIپارامترهای اتصال (Connection Parameters):\fR .RS .25in .TQ 2.75in \fBother_config : dscp\fR رشته اختیاری، شامل یک عدد صحیح .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .TQ 2.75in \fBother_config\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details):" .ST "ویژگی‌های اصلی (Core Features):" .PP .IP "\fBtype\fR: رشته اختیاری، یا \fBprimary\fR یا \fBservice\fR" سامانه Open vSwitch از دو نوع کنترل‌کننده OpenFlow پشتیبانی می‌کند\[char46] یک پل می‌تواند به هر تعداد از هر نوع داشته باشد: .RS .TP کنترل‌کننده‌های اصلی (Primary controllers) این همان نوع کنترل‌کننده‌ای است که در مشخصات OpenFlow پیش‌بینی شده است\[char46] معمولاً یک کنترل‌کننده اصلی با در دست گرفتن کنترل جدول جریان سوییچ، خط‌مشی شبکه را پیاده‌سازی می‌کند\[char46] .IP ستون \fBfail_mode\fR در جدول \fBBridge\fR برای کنترل‌کننده‌های اصلی اعمال می‌شود\[char46] .IP هنگامی که چندین کنترل‌کننده اصلی پیکربندی شده باشند، Open vSwitch به طور همزمان به همه آن‌ها متصل می‌شود\[char46] پروتکل OpenFlow امکانات اندکی برای هماهنگی چندین کنترل‌کننده در تعامل با یک سوییچ واحد فراهم می‌کند، بنابراین بیش از یک کنترل‌کننده اصلی تنها زمانی باید مشخص شود که خود کنترل‌کننده‌ها برای هماهنگی با یکدیگر طراحی شده باشند\[char46] .TP کنترل‌کننده‌های سرویس (Service controllers) این نوع اتصال‌های کنترل‌کننده OpenFlow برای استفاده‌های مقطعی، پشتیبانی و نگهداری در نظر گرفته شده‌اند، به عنوان مثال با \fBovs\-ofctl\fR\[char46] معمولاً یک کنترل‌کننده سرویس فقط برای مدت کوتاهی متصل می‌شود تا بخشی از وضعیت سوییچ را بازبینی یا اصلاح کند\[char46] .IP ستون \fBfail_mode\fR در جدول \fBBridge\fR برای کنترل‌کننده‌های سرویس اعمال نمی‌شود\[char46] .RE .IP به طور پیش‌فرض، Open vSwitch با کنترل‌کننده‌های دارای روش‌های اتصال فعال به عنوان کنترل‌کننده اصلی و با کنترل‌کننده‌های دارای روش‌های اتصال غیرفعال به عنوان کنترل‌کننده سرویس رفتار می‌کند\[char46] برای لغو این پیش‌فرض، این ستون را روی نوع دلخواه تنظیم کنید\[char46] .IP "\fBtarget\fR: رشته" روش اتصال به کنترل‌کننده\[char46] .IP روش‌های اتصال فعال زیر در حال حاضر پشتیبانی می‌شوند: .RS .TP \fBssl:\fIhost\fB\fR[\fB:\fIport\fB\fR] پورت SSL/TLS مشخص‌شده (\fIport\fR) روی میزبان در \fIhost\fR داده‌شده، که می‌تواند یک نام DNS (اگر با کتابخانه unbound ساخته شده باشد) یا یک آدرس IP باشد\[char46] هنگامی که این قالب استفاده می‌شود، ستون \fBssl\fR در جدول \fBOpen_vSwitch\fR باید به یک پیکربندی معتبر SSL/TLS اشاره کند\[char46] .IP اگر \fIport\fR مشخص نشود، مقدار پیش‌فرض آن 6653 است\[char46] .IP پشتیبانی از SSL/TLS یک ویژگی اختیاری است که همیشه به عنوان بخشی از Open vSwitch ساخته نمی‌شود\[char46] .TP \fBtcp:\fIhost\fB\fR[\fB:\fIport\fB\fR] پورت TCP مشخص‌شده (\fIport\fR) روی میزبان در \fIhost\fR داده‌شده، که می‌تواند یک نام DNS (اگر با کتابخانه unbound ساخته شده باشد) یا یک آدرس IP (نسخه ۴ یا ۶) باشد\[char46] اگر \fIhost\fR یک آدرس IPv6 است، آن را درون کروشه قرار دهید، مثلاً \fBtcp:[::1]:6653\fR\[char46] .IP اگر \fIport\fR مشخص نشود، مقدار پیش‌فرض آن 6653 است\[char46] .RE .IP روش‌های اتصال غیرفعال زیر در حال حاضر پشتیبانی می‌شوند: .RS .TP \fBpssl:\fR[\fIport\fR][\fB:\fIhost\fB\fR] به اتصالات SSL/TLS روی پورت TCP مشخص‌شده (\fIport\fR) گوش می‌دهد\[char46] اگر \fIhost\fR، که می‌تواند یک نام DNS (اگر با کتابخانه unbound ساخته شده باشد) یا یک آدرس IP باشد، مشخص شود، اتصالات به آدرس IP محلی مشخص یا حل‌شده (IPv4 یا IPv6) محدود می‌شوند\[char46] اگر \fIhost\fR یک آدرس IPv6 است، آن را درون کروشه قرار دهید، مثلاً \fBpssl:6653:[::1]\fR\[char46] .IP اگر \fIport\fR مشخص نشود، مقدار پیش‌فرض آن 6653 است\[char46] اگر \fIhost\fR مشخص نشود، تنها روی آدرس‌های IPv4 (و نه IPv6) گوش می‌دهد\[char46] هنگامی که این قالب استفاده می‌شود، ستون \fBssl\fR در جدول \fBOpen_vSwitch\fR باید به یک پیکربندی معتبر SSL/TLS اشاره کند\[char46] .IP اگر \fIport\fR مشخص نشود، در حال حاضر روی 6653 قرار می‌گیرد\[char46] .IP پشتیبانی از SSL/TLS یک ویژگی اختیاری است که همیشه به عنوان بخشی از Open vSwitch ساخته نمی‌شود\[char46] .TP \fBptcp:\fR[\fIport\fR][\fB:\fIhost\fB\fR] به اتصالات روی پورت TCP مشخص‌شده (\fIport\fR) گوش می‌دهد\[char46] اگر \fIhost\fR، که می‌تواند یک نام DNS (اگر با کتابخانه unbound ساخته شده باشد) یا یک آدرس IP باشد، مشخص شود، اتصالات به آدرس IP محلی مشخص یا حل‌شده (IPv4 یا IPv6) محدود می‌شوند\[char46] اگر \fIhost\fR یک آدرس IPv6 است، آن را درون کروشه قرار دهید، مثلاً \fBptcp:6653:[::1]\fR\[char46] اگر \fIhost\fR مشخص نشود، تنها روی آدرس‌های IPv4 گوش می‌دهد\[char46] .IP اگر \fIport\fR مشخص نشود، مقدار پیش‌فرض آن 6653 است\[char46] .RE .IP هنگامی که چندین کنترل‌کننده برای یک پل منفرد پیکربندی می‌شوند، مقادیر \fBtarget\fR باید یکتا باشند\[char46] مقادیر تکراری \fBtarget\fR نتایج تعریف‌نشده‌ای به همراه خواهند داشت\[char46] .IP "\fBconnection_mode\fR: رشته اختیاری، یا \fBin\-band\fR یا \fBout\-of\-band\fR" در صورت مشخص شدن، این تنظیم باید یکی از رشته‌های زیر باشد که نحوه تماس Open vSwitch با این کنترل‌کننده OpenFlow را از طریق شبکه توصیف می‌کند: .RS .TP \fBin\-band\fR در این حالت، ترافیک OpenFlow این کنترل‌کننده از روی پل مرتبط با کنترل‌کننده عبور می‌کند\[char46] با این تنظیم، Open vSwitch صرف‌نظر از محتویات جدول جریان OpenFlow، اجازه عبور ترافیک به سمت کنترل‌کننده و از مبدأ آن را می‌دهد\[char46] (در غیر این صورت، Open vSwitch هرگز نمی‌توانست به کنترل‌کننده متصل شود، زیرا جریانی برای فعال‌سازی آن وجود نداشت\[char46]) این متداول‌ترین حالت اتصال است چرا که نیازی به نگهداری دو شبکه مستقل ندارد\[char46] .TP \fBout\-of\-band\fR در این حالت، ترافیک OpenFlow از یک شبکه کنترلی مجزا از پل مرتبط با این کنترل‌کننده استفاده می‌کند، به این معنی که پل از هیچ‌یک از دستگاه‌های شبکه خود برای ارتباط با کنترل‌کننده استفاده نمی‌کند\[char46] شبکه کنترلی باید به طور جداگانه، پیش یا پس از راه‌اندازی \fBovs\-vswitchd\fR پیکربندی شود\[char46] .RE .IP در صورت مشخص نشدن، مقدار پیش‌فرض وابسته به پیاده‌سازی است\[char46] .ST "تشخیص و مدیریت خرابی کنترل‌کننده (Controller Failure Detection and Handling):" .PP .IP "\fBmax_backoff\fR: عدد صحیح اختیاری، حداقل 1,000" حداکثر تعداد میلی‌ثانیه‌ها برای انتظار میان تلاش‌های اتصال\[char46] مقدار پیش‌فرض وابسته به پیاده‌سازی است\[char46] .IP "\fBinactivity_probe\fR: عدد صحیح اختیاری" حداکثر مدت زمان بی‌کاری اتصال به کنترل‌کننده بر حسب میلی‌ثانیه پیش از ارسال پیام کاوش عدم‌فعالیت (inactivity probe)\[char46] اگر Open vSwitch برای تعداد ثانیه‌های مشخص‌شده با کنترل‌کننده ارتباطی نداشته باشد، یک پیام کاوش ارسال می‌کند\[char46] اگر در مدت زمان مشابه دیگری پاسخی دریافت نشود، Open vSwitch فرض می‌کند که اتصال قطع شده است و برای برقراری مجدد اتصال تلاش می‌کند\[char46] مقدار پیش‌فرض وابسته به پیاده‌سازی است\[char46] مقدار 0 کاوش‌های عدم‌فعالیت را غیرفعال می‌کند\[char46] .ST "پیام‌های ناهمگام (Asynchronous Messages):" .PP .PP .PP سوییچ‌های OpenFlow پیام‌های خاصی را به طور خودجوش برای کنترل‌کننده‌ها ارسال می‌کنند، یعنی در پاسخ به هیچ درخواستی از سوی کنترل‌کننده نیست\[char46] به این پیام‌ها «پیام‌های ناهمگام» (asynchronous messages) گفته می‌شود\[char46] این ستون‌ها امکان محدودسازی یا غیرفعال کردن پیام‌های ناهمگام را فراهم می‌کنند تا از بهترین استفاده از منابع شبکه اطمینان حاصل شود\[char46] .IP "\fBenable_async_messages\fR: بولی اختیاری (optional boolean)" پروتکل OpenFlow پیام‌های ناهمگام را در زمان برقراری اتصال فعال می‌کند، که به این معنی است که یک کنترل‌کننده می‌تواند پیام‌های ناهمگام (احتمالاً تعداد زیادی از آن‌ها) را دریافت کند، حتی اگر بلافاصله پس از اتصال آن‌ها را خاموش کند\[char46] این ستون را روی \fBfalse\fR تنظیم کنید تا رفتار Open vSwitch تغییر کرده و به طور پیش‌فرض تمام پیام‌های ناهمگام را غیرفعال کند\[char46] کنترل‌کننده می‌تواند از افزونه \fBNXT_SET_ASYNC_CONFIG\fR متعلق به Nicira برای OpenFlow استفاده کند تا هر پیامی را که مایل به دریافت آن است، در صورت وجود، فعال نماید\[char46] .ST "محدودسازی نرخ کنترل‌کننده (Controller Rate Limiting):" .PP .PP .PP یک سوییچ می‌تواند بسته‌ها را از طریق پروتکل OpenFlow به یک کنترل‌کننده هدایت کند\[char46] هدایت بسته‌ها به این شیوه با نرخ بسیار بالا می‌تواند کنترل‌کننده را تحت فشار شدید قرار دهد، مانع استفاده از اتصال OpenFlow برای اهداف دیگر شود، تأخیر راه‌اندازی جریان را افزایش دهد و پهنای باند نامعقولی مصرف کند\[char46] بنابراین، Open vSwitch از محدود کردن نرخ هدایت بسته‌ها به یک کنترل‌کننده پشتیبانی می‌کند\[char46] .PP .PP در OpenFlow دو دلیل اصلی برای ارسال یک بسته به کنترل‌کننده وجود دارد: یا بسته در جدول جریان «از دست می‌رود» (misses)، یعنی جریان منطبقی وجود ندارد، یا یک عملیات (action) در جدول جریان دستور می‌دهد که بسته به کنترل‌کننده ارسال شود\[char46] سامانه Open vSwitch نرخ هر نوع بسته را به طور جداگانه با نرخ پیکربندی‌شده محدود می‌کند\[char46] بنابراین، هنگامی که بسته‌ها به هر دو دلیل ارسال می‌شوند، نرخ واقعی بسته‌های ارسالی به کنترل‌کننده می‌تواند تا دو برابر نرخ پیکربندی‌شده باشد\[char46] .PP .PP این ویژگی مختص هدایت بسته‌ها روی اتصال OpenFlow است\[char46] این یک کیفیت خدمات (QoS) عمومی نیست\[char46] برای پیکربندی کیفیت خدمات به جدول \fBQoS\fR و برای پیکربندی پلیسینگ ورودی به \fBingress_policing_rate\fR در جدول \fBInterface\fR مراجعه کنید\[char46] .IP "\fBcontroller_queue_size\fR: عدد صحیح اختیاری، در محدوده 1 تا 512" این گزینه حداکثر اندازه صف بسته‌هایی را تنظیم می‌کند که باید به این کنترل‌کننده OpenFlow ارسال شوند\[char46] این مقدار باید کمتر از 512 باشد\[char46] در صورت مشخص نشدن، اندازه صف به مقدار تنظیم‌شده برای کنترل‌کننده مدیریتی در \fBother_config:controller-queue-size\fR (در صورت وجود) یا به طور پیش‌فرض به 100 بسته محدود می‌شود\[char46] نکته: افزایش اندازه صف ممکن است تأثیر منفی بر تاخیر (latency) داشته باشد\[char46] .IP "\fBcontroller_rate_limit\fR: عدد صحیح اختیاری، حداقل 100" حداکثر نرخی که سوییچ بسته‌ها را به کنترل‌کننده OpenFlow هدایت می‌کند، بر حسب بسته بر ثانیه\[char46] اگر مقداری مشخص نشود، محدودسازی نرخ غیرفعال است\[char46] .IP "\fBcontroller_burst_limit\fR: عدد صحیح اختیاری، حداقل 25" هنگامی که یک نرخ بالا باعث تحریک محدودسازی نرخ می‌شود، Open vSwitch بسته‌ها را برای هر پورت در صف ارسال به کنترل‌کننده قرار می‌دهد و آن‌ها را با نرخ پیکربندی‌شده به کنترل‌کننده مخابره می‌کند\[char46] این مقدار تعداد بسته‌های درون صف را محدود می‌کند\[char46] پورت‌های روی یک پل صف بسته‌ها را به صورت منصفانه به اشتراک می‌گذارند\[char46] .IP این مقدار هیچ اثری ندارد مگر اینکه \fBcontroller_rate_limit\fR پیکربندی شده باشد\[char46] پیش‌فرض فعلی هنگامی که این مقدار مشخص نشده است، یک‌چهارم \fBcontroller_rate_limit\fR است، به این معنی که صف‌بندی می‌تواند هدایت یک بسته به کنترل‌کننده را تا 250 میلی‌ثانیه به تأخیر بیندازد\[char46] .ST "آمار محدودسازی نرخ کنترل‌کننده (Controller Rate Limiting Statistics):" .PP .PP .PP این مقادیر اثرات محدودسازی نرخ را گزارش می‌دهند\[char46] مقادیر آن‌ها نسبت به برقراری جدیدترین اتصال OpenFlow، یا از زمانی که محدودسازی نرخ فعال شده است (هر کدام که اخیراً رخ داده باشد) محاسبه می‌شوند\[char46] هر کدام شامل دو مقدار است: یکی با جایگزینی \fBmiss\fR به جای \fBTYPE\fR برای محدودسازی نرخ موارد عدم تطابق جدول جریان، و دیگری با جایگزینی \fBaction\fR به جای \fBTYPE\fR برای محدودسازی نرخ بسته‌های ارسالی توسط اکشن‌های OpenFlow\[char46] .PP .PP این آمار تنها زمانی گزارش می‌شوند که محدودسازی نرخ کنترل‌کننده فعال باشد\[char46] .IP "\fBstatus : packet-in-TYPE-bypassed\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" تعداد بسته‌هایی که بدون قرار گرفتن در صف مستقیماً به کنترل‌کننده ارسال شده‌اند، زیرا نرخ از حداکثر پیکربندی‌شده فراتر نرفته است\[char46] .IP "\fBstatus : packet-in-TYPE-queued\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" تعداد بسته‌های اضافه‌شده به صف برای ارسال در آینده\[char46] .IP "\fBstatus : packet-in-TYPE-dropped\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" تعداد بسته‌های اضافه‌شده به صف که بعداً به دلیل سرریز دور ریخته شده‌اند\[char46] این مقدار کمتر یا مساوی با \fBstatus:packet-in-TYPE-queued\fR است\[char46] .IP "\fBstatus : packet-in-TYPE-backlog\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" تعداد بسته‌هایی که در حال حاضر در صف قرار دارند\[char46] سایر آمار به صورت یکنواخت افزایش می‌یابند، اما این مقدار با تغییر شرایط بین 0 و \fBcontroller_burst_limit\fR نوسان می‌کند\[char46] .ST "پیکربندی اضافی درون‌باند (Additional In-Band Configuration):" .PP .PP .PP این مقادیر تنها در حالت کنترل درون‌باند در نظر گرفته می‌شوند (به \fBconnection_mode\fR مراجعه کنید)\[char46] .PP .PP هنگامی که چندین کنترل‌کننده روی یک پل پیکربندی می‌شوند، تنها باید یک مجموعه از مقادیر یکتا در این ستون‌ها وجود داشته باشد\[char46] اگر مقادیر متفاوتی برای این ستون‌ها در کنترل‌کننده‌های مختلف تنظیم شود، اثر آن نامشخص است\[char46] .IP "\fBlocal_ip\fR: رشته اختیاری" آدرس IP برای پیکربندی روی پورت محلی، مثلاً \fB192\[char46]168\[char46]0\[char46]123\fR\[char46] اگر این مقدار تنظیم نشده باشد، \fBlocal_netmask\fR و \fBlocal_gateway\fR نادیده گرفته می‌شوند\[char46] .IP "\fBlocal_netmask\fR: رشته اختیاری" ماسک شبکه IP (نت‌ماسک) برای پیکربندی روی پورت محلی، مثلاً \fB255\[char46]255\[char46]255\[char46]0\fR\[char46] اگر \fBlocal_ip\fR تنظیم شده باشد اما این مقدار تنظیم نشده باشد، مقدار پیش‌فرض بر اساس اینکه آدرس IP از کلاس A، B یا C است انتخاب می‌شود\[char46] .IP "\fBlocal_gateway\fR: رشته اختیاری" آدرس IP درگاه (gateway) برای پیکربندی روی پورت محلی، به صورت یک رشته، مثلاً \fB192\[char46]168\[char46]0\[char46]1\fR\[char46] اگر این شبکه هیچ درگاهی ندارد، این ستون را خالی بگذارید\[char46] .ST "وضعیت کنترل‌کننده (Controller Status):" .PP .IP "\fBis_connected\fR: بولی (boolean)" در صورت اتصال فعلی به این کنترل‌کننده برابر با \fBtrue\fR و در غیر این صورت \fBfalse\fR است\[char46] .IP "\fBrole\fR: رشته اختیاری، یکی از \fBmaster\fR، \fBother\fR یا \fBslave\fR" سطح اختیاراتی که این کنترل‌کننده روی پل مرتبط دارد\[char46] مقادیر ممکن عبارتند از: .RS .TP \fBother\fR به کنترل‌کننده اجازه دسترسی به تمام ویژگی‌های OpenFlow را می‌دهد\[char46] .TP \fBmaster\fR معادل \fBother\fR است، با این تفاوت که در هر زمان حداکثر یک کنترل‌کننده از این نوع می‌تواند وجود داشته باشد\[char46] اگر یک کنترل‌کننده مشخص خود را به این نقش ارتقا دهد، \fBovs\-vswitchd\fR هر کنترل‌کننده موجود با این نقش را به \fBslave\fR تنزل می‌دهد\[char46] .TP \fBslave\fR به کنترل‌کننده دسترسی فقط‌خواندنی به ویژگی‌های OpenFlow می‌دهد\[char46] تلاش‌ها برای تغییر جدول جریان با خطا رد خواهند شد\[char46] چنین کنترل‌کننده‌هایی پیام‌های OFPT_PACKET_IN یا OFPT_FLOW_REMOVED را دریافت نمی‌کنند، اما پیام‌های OFPT_PORT_STATUS را دریافت می‌نمایند\[char46] .RE .IP "\fBstatus : last_error\fR: رشته اختیاری" توصیفی خوانا برای انسان از آخرین خطای رخ‌داده روی اتصال به کنترل‌کننده؛ یعنی \fBstrerror(errno)\fR\[char46] این کلید تنها در صورتی وجود خواهد داشت که خطایی رخ داده باشد\[char46] .IP "\fBstatus : state\fR: رشته اختیاری، یکی از \fBACTIVE\fR، \fBBACKOFF\fR، \fBCONNECTING\fR، \fBIDLE\fR یا \fBVOID\fR" وضعیت اتصال به کنترل‌کننده: .RS .TP \fBVOID\fR اتصال غیرفعال است\[char46] .TP \fBBACKOFF\fR تلاش برای اتصال مجدد با دوره زمانی فزاینده (عقب‌نشینی)\[char46] .TP \fBCONNECTING\fR در حال تلاش برای برقراری اتصال\[char46] .TP \fBACTIVE\fR متصل است و میزبان راه دور پاسخگو می‌باشد\[char46] .TP \fBIDLE\fR اتصال بی‌کار است\[char46] در حال انتظار برای پاسخ پیام زنده نگه‌داشتن (keep-alive)\[char46] .RE .IP این مقادیر ممکن است در آینده تغییر کنند\[char46] آن‌ها تنها برای مصرف و خوانش انسان ارائه شده‌اند\[char46] .IP "\fBstatus : sec_since_connect\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" مدت زمانی که از آخرین اتصال موفق این کنترل‌کننده به سوییچ گذشته است (بر حسب ثانیه)\[char46] اگر کنترل‌کننده تا به حال با موفقیت متصل نشده باشد، این مقدار خالی است\[char46] .IP "\fBstatus : sec_since_disconnect\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 1" مدت زمانی که از آخرین قطع اتصال این کنترل‌کننده از سوییچ گذشته است (بر حسب ثانیه)\[char46] اگر کنترل‌کننده تا به حال قطع اتصال نشده باشد، این مقدار خالی است\[char46] .ST "پارامترهای اتصال (Connection Parameters):" .PP .PP .PP پیکربندی اضافی برای اتصال میان کنترل‌کننده و Open vSwitch\[char46] .IP "\fBother_config : dscp\fR: رشته اختیاری، شامل یک عدد صحیح" کد نقطه خدمات متمایز (DSCP) با استفاده از ۶ بیت در فیلد نوع خدمت (TOS) در هدر IP مشخص می‌شود\[char46] مقدار DSCP سازوکاری برای دسته‌بندی ترافیک شبکه و ارائه کیفیت خدمات (QoS) در شبکه‌های IP فراهم می‌کند\[char46] مقدار DSCP مشخص‌شده در اینجا هنگام برقراری اتصال میان کنترل‌کننده و Open vSwitch استفاده می‌شود\[char46] اگر مقداری مشخص نشود، مقدار پیش‌فرض 48 انتخاب می‌شود\[char46] مقادیر معتبر DSCP باید در محدوده 0 تا 63 باشند\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته" .IP "\fBother_config\fR: نگاشتی از جفت‌های رشته-رشته" .bp .SH "جدول Manager (Manager TABLE)" .PP .PP .PP پیکربندی برای اتصال پایگاه‌داده به یک کلاینت پایگاه‌داده Open vSwitch (OVSDB)\[char46] .PP .PP این جدول در درجه اول پایگاه‌داده Open vSwitch (\fBovsdb\-server\fR) را پیکربندی می‌کند، نه سوییچ Open vSwitch (\fBovs\-vswitchd\fR) را\[char46] سوییچ این جدول را می‌خواند تا مشخص کند چه اتصالاتی باید به عنوان درون‌باند (in-band) تلقی شوند\[char46] .PP .PP سرور پایگاه‌داده Open vSwitch می‌تواند اتصالات فعال به کلاینت‌های راه دور را آغاز و نگهداری کند\[char46] همچنین می‌تواند برای اتصالات پایگاه‌داده در حالت شنود (listen) قرار گیرد\[char46] .SS "چکیده (Summary):" .TQ .25in \fIویژگی‌های اصلی (Core Features):\fR .RS .25in .TQ 2.75in \fBtarget\fR رشته (باید در جدول یکتا باشد) .TQ 2.75in \fBconnection_mode\fR رشته اختیاری، یا \fBin\-band\fR یا \fBout\-of\-band\fR .RE .TQ .25in \fIتشخیص و مدیریت خرابی کلاینت (Client Failure Detection and Handling):\fR .RS .25in .TQ 2.75in \fBmax_backoff\fR عدد صحیح اختیاری، حداقل 1,000 .TQ 2.75in \fBinactivity_probe\fR عدد صحیح اختیاری .RE .TQ .25in \fIوضعیت (Status):\fR .RS .25in .TQ 2.75in \fBis_connected\fR بولی (boolean) .TQ 2.75in \fBstatus : last_error\fR رشته اختیاری .TQ 2.75in \fBstatus : state\fR رشته اختیاری، یکی از \fBACTIVE\fR، \fBBACKOFF\fR، \fBCONNECTING\fR، \fBIDLE\fR یا \fBVOID\fR .TQ 2.75in \fBstatus : sec_since_connect\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 0 .TQ 2.75in \fBstatus : sec_since_disconnect\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 0 .TQ 2.75in \fBstatus : locks_held\fR رشته اختیاری .TQ 2.75in \fBstatus : locks_waiting\fR رشته اختیاری .TQ 2.75in \fBstatus : locks_lost\fR رشته اختیاری .TQ 2.75in \fBstatus : n_connections\fR رشته اختیاری، شامل یک عدد صحیح، حداقل 2 .TQ 2.75in \fBstatus : bound_port\fR رشته اختیاری، شامل یک عدد صحیح .RE .TQ .25in \fIپارامترهای اتصال (Connection Parameters):\fR .RS .25in .TQ 2.75in \fBother_config : dscp\fR رشته اختیاری، شامل یک عدد صحیح .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .TQ 2.75in \fBother_config\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details):" .ST "ویژگی‌های اصلی (Core Features):" .PP .IP "\fBtarget\fR: رشته (باید در جدول یکتا باشد)" روش اتصال برای مدیران (managers)\[char46] .IP روش‌های اتصال زیر در حال حاضر پشتیبانی می‌شوند: .RS .TP \fBssl:\fIhost\fB\fR[\fB:\fIport\fB\fR] پورت SSL/TLS مشخص‌شده (\fIport\fR) روی میزبان در \fIhost\fR داده‌شده، که می‌تواند یک نام DNS (اگر با کتابخانه unbound ساخته شده باشد) یا یک آدرس IP باشد\[char46] هنگامی که این قالب استفاده می‌شود، ستون \fBssl\fR در جدول \fBOpen_vSwitch\fR باید به یک پیکربندی معتبر SSL/TLS اشاره کند\[char46] .IP اگر \fIport\fR مشخص نشود، مقدار پیش‌فرض آن 6640 است\[char46] .IP پشتیبانی از SSL/TLS یک ویژگی اختیاری است که همیشه به عنوان بخشی از Open vSwitch ساخته نمی‌شود\[char46] .TP \fBtcp:\fIhost\fB\fR[\fB:\fIport\fB\fR] پورت TCP مشخص‌شده (\fIport\fR) روی میزبان در \fIhost\fR داده‌شده، که می‌تواند یک نام DNS (اگر با کتابخانه unbound ساخته شده باشد) یا یک آدرس IP (نسخه ۴ یا ۶) باشد\[char46] اگر \fIhost\fR یک آدرس IPv6 است، آن را درون کروشه قرار دهید، مثلاً \fBtcp:[::1]:6640\fR\[char46] .IP اگر \fIport\fR مشخص نشود، مقدار پیش‌فرض آن 6640 است\[char46] .TP \fBpssl:\fR[\fIport\fR][\fB:\fIhost\fB\fR] به اتصالات SSL/TLS روی پورت TCP مشخص‌شده (\fIport\fR) گوش می‌دهد\[char46] برای \fIport\fR مقدار 0 را مشخص کنید تا کرنل به طور خودکار یک پورت دردسترس را انتخاب کند\[char46] اگر \fIhost\fR، که می‌تواند یک نام DNS (اگر با کتابخانه unbound ساخته شده باشد) یا یک آدرس IP باشد، مشخص شود، اتصالات به آدرس IP محلی مشخص یا حل‌شده (IPv4 یا IPv6) محدود می‌شوند\[char46] اگر \fIhost\fR یک آدرس IPv6 است، آن را درون کروشه قرار دهید، مثلاً \fBpssl:6640:[::1]\fR\[char46] اگر \fIhost\fR مشخص نشود، تنها روی آدرس‌های IPv4 (و نه IPv6) گوش می‌دهد\[char46] هنگامی که این قالب استفاده می‌شود، ستون \fBssl\fR در جدول \fBOpen_vSwitch\fR باید به یک پیکربندی معتبر SSL/TLS اشاره کند\[char46] .IP اگر \fIport\fR مشخص نشود، مقدار پیش‌فرض آن 6640 است\[char46] .IP پشتیبانی از SSL/TLS یک ویژگی اختیاری است که همیشه به عنوان بخشی از Open vSwitch ساخته نمی‌شود\[char46] .TP \fBptcp:\fR[\fIport\fR][\fB:\fIhost\fB\fR] به اتصالات روی پورت TCP مشخص‌شده (\fIport\fR) گوش می‌دهد\[char46] برای \fIport\fR مقدار 0 را مشخص کنید تا کرنل به طور خودکار یک پورت دردسترس را انتخاب کند\[char46] اگر \fIhost\fR، که می‌تواند یک نام DNS (اگر با کتابخانه unbound ساخته شده باشد) یا یک آدرس IP باشد، مشخص شود، اتصالات به آدرس IP محلی مشخص یا حل‌شده (IPv4 یا IPv6) محدود می‌شوند\[char46] اگر \fIhost\fR یک آدرس IPv6 است، آن را درون کروشه قرار دهید، مثلاً \fBptcp:6640:[::1]\fR\[char46] اگر \fIhost\fR مشخص نشود، تنها روی آدرس‌های IPv4 گوش می‌دهد\[char46] .IP اگر \fIport\fR مشخص نشود، مقدار پیش‌فرض آن 6640 است\[char46] .RE .IP هنگامی که چندین مدیر پیکربندی شده باشند، مقادیر \fBtarget\fR باید یکتا باشند\[char46] مقادیر تکراری \fBtarget\fR نتایج تعریف‌نشده‌ای به همراه خواهند داشت\[char46] .IP "\fBconnection_mode\fR: رشته اختیاری، یا \fBin\-band\fR یا \fBout\-of\-band\fR" در صورت مشخص شدن، این تنظیم باید یکی از رشته‌های زیر باشد که نحوه تماس Open vSwitch با این کلاینت OVSDB را از طریق شبکه توصیف می‌کند: .RS .TP \fBin\-band\fR در این حالت، ترافیک این اتصال از روی پلی که توسط Open vSwitch مدیریت می‌شود عبور می‌کند\[char46] با این تنظیم، Open vSwitch صرف‌نظر از محتویات جدول جریان OpenFlow، به ترافیک به سمت کلاینت و از مبدأ آن اجازه عبور می‌دهد\[char46] (در غیر این صورت، Open vSwitch هرگز قادر به اتصال به کلاینت نبود، زیرا جریانی برای فعال‌سازی آن وجود نداشت\[char46]) این متداول‌ترین حالت اتصال است چرا که نیازی به نگهداری دو شبکه مستقل ندارد\[char46] .TP \fBout\-of\-band\fR در این حالت، ترافیک کلاینت از یک شبکه کنترلی مجزا از شبکه مدیریت‌شده توسط Open vSwitch استفاده می‌کند، به این معنی که Open vSwitch از هیچ‌یک از دستگاه‌های شبکه خود برای ارتباط با کلاینت استفاده نمی‌کند\[char46] شبکه کنترلی باید به طور جداگانه، پیش یا پس از راه‌اندازی \fBovs\-vswitchd\fR پیکربندی شود\[char46] .RE .IP در صورت مشخص نشدن، مقدار پیش‌فرض وابسته به پیاده‌سازی است\[char46] .ST "تشخیص و مدیریت خرابی کلاینت (Client Failure Detection and Handling):" .PP .IP "\fBmax_backoff\fR: عدد صحیح اختیاری، حداقل 1,000" حداکثر تعداد میلی‌ثانیه‌ها برای انتظار میان تلاش‌های اتصال\[char46] مقدار پیش‌فرض وابسته به پیاده‌سازی است\[char46] .IP "\fBinactivity_probe\fR: عدد صحیح اختیاری" حداکثر مدت زمان بی‌کاری اتصال به کلاینت بر حسب میلی‌ثانیه پیش از ارسال پیام کاوش عدم‌فعالیت (inactivity probe)\[char46] اگر Open vSwitch برای تعداد ثانیه‌های مشخص‌شده با کلاینت ارتباطی نداشته باشد، یک پیام کاوش ارسال می‌کند\[char46] اگر در مدت زمان مشابه دیگری پاسخی دریافت نشود، Open vSwitch فرض می‌کند که اتصال قطع شده است و برای برقراری مجدد اتصال تلاش می‌کند\[char46] مقدار پیش‌فرض وابسته به پیاده‌سازی است\[char46] مقدار 0 کاوش‌های عدم‌فعالیت را غیرفعال می‌کند\[char46] .ST "وضعیت (Status):" .PP .PP .PP جفت کلید-مقدار \fBis_connected\fR همیشه به‌روزرسانی می‌شود\[char46] سایر جفت‌های کلید-مقدار در ستون‌های وضعیت ممکن است بسته به نوع \fBtarget\fR به‌روزرسانی شوند\[char46] .PP .PP هنگامی که \fBtarget\fR روش اتصالی را مشخص می‌کند که برای اتصالات ورودی گوش می‌دهد (مانند \fBptcp:\fR یا \fBpunix:\fR)، هر دو مقدار \fBn_connections\fR و \fBis_connected\fR نیز ممکن است به‌روزرسانی شوند در حالی که باقی جفت‌های کلید-مقدار حذف می‌شوند\[char46] .PP .PP از سوی دیگر، هنگامی که \fBtarget\fR یک اتصال خروجی را مشخص می‌کند، تمام جفت‌های کلید-مقدار ممکن است به‌روزرسانی شوند، به جز دو جفت کلید-مقدار ذکرشده در بالا که مرتبط با مقاصد اتصال ورودی هستند\[char46] آن‌ها حذف می‌شوند\[char46] .IP "\fBis_connected\fR: بولی (boolean)" در صورت اتصال فعلی به این مدیر برابر با \fBtrue\fR و در غیر این صورت \fBfalse\fR است\[char46] .IP "\fBstatus : last_error\fR: رشته اختیاری" توصیفی خوانا برای انسان از آخرین خطای رخ‌داده روی اتصال به مدیر؛ یعنی \fBstrerror(errno)\fR\[char46] این کلید تنها در صورتی وجود خواهد داشت که خطایی رخ داده باشد\[char46] .IP "\fBstatus : state\fR: رشته اختیاری، یکی از \fBACTIVE\fR، \fBBACKOFF\fR، \fBCONNECTING\fR، \fBIDLE\fR یا \fBVOID\fR" وضعیت اتصال به مدیر: .RS .TP \fBVOID\fR اتصال غیرفعال است\[char46] .TP \fBBACKOFF\fR تلاش برای اتصال مجدد با دوره زمانی فزاینده (عقب‌نشینی)\[char46] .TP \fBCONNECTING\fR در حال تلاش برای برقراری اتصال\[char46] .TP \fBACTIVE\fR متصل است و میزبان راه دور پاسخگو می‌باشد\[char46] .TP \fBIDLE\fR اتصال بی‌کار است\[char46] در حال انتظار برای پاسخ پیام زنده نگه‌داشتن (keep-alive)\[char46] .RE .IP این مقادیر ممکن است در آینده تغییر کنند\[char46] آن‌ها تنها برای مصرف و خوانش انسان ارائه شده‌اند\[char46] .IP "\fBstatus : sec_since_connect\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" مدت زمانی که از آخرین اتصال موفق این مدیر به پایگاه‌داده گذشته است (بر حسب ثانیه)\[char46] اگر مدیر تا به حال با موفقیت متصل نشده باشد، این مقدار خالی است\[char46] .IP "\fBstatus : sec_since_disconnect\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 0" مدت زمانی که از آخرین قطع اتصال این مدیر از پایگاه‌داده گذشته است (بر حسب ثانیه)\[char46] اگر مدیر هرگز قطع اتصال نشده باشد، این مقدار خالی است\[char46] .IP "\fBstatus : locks_held\fR: رشته اختیاری" فهرستی جداشده با فاصله از نام‌های قفل‌های OVSDB که این اتصال در دست دارد\[char46] در صورتی که اتصال هیچ قفلی در دست نداشته باشد، حذف می‌شود\[char46] .IP "\fBstatus : locks_waiting\fR: رشته اختیاری" فهرستی جداشده با فاصله از نام‌های قفل‌های OVSDB که این اتصال در حال حاضر منتظر دریافت آن‌هاست\[char46] اگر اتصال در انتظار هیچ قفلی نباشد، حذف می‌شود\[char46] .IP "\fBstatus : locks_lost\fR: رشته اختیاری" فهرستی جداشده با فاصله از نام‌های قفل‌های OVSDB متعلق به این اتصال که توسط یک کلاینت دیگر OVSDB ربوده شده‌اند\[char46] اگر هیچ قفلی از این اتصال ربوده نشده باشد، حذف می‌شود\[char46] .IP "\fBstatus : n_connections\fR: رشته اختیاری، شامل یک عدد صحیح، حداقل 2" هنگامی که \fBtarget\fR روش اتصالی را مشخص می‌کند که برای اتصالات ورودی گوش می‌دهد (مانند \fBptcp:\fR یا \fBpssl:\fR) و بیش از یک اتصال در عمل فعال باشد، این مقدار برابر با تعداد اتصالات فعال است\[char46] در غیر این صورت، این جفت کلید-مقدار حذف می‌شود\[char46] .IP "\fBstatus : bound_port\fR: رشته اختیاری، شامل یک عدد صحیح" هنگامی که \fBtarget\fR برابر با \fBptcp:\fR یا \fBpssl:\fR باشد، این همان پورت TCP است که سرور OVSDB روی آن گوش می‌دهد\[char46] (این امر به‌ویژه هنگامی مفید است که \fBtarget\fR پورت 0 را مشخص کند و به کرنل اجازه دهد هر پورت دردسترسی را انتخاب کند\[char46]) .ST "پارامترهای اتصال (Connection Parameters):" .PP .PP .PP پیکربندی اضافی برای اتصال میان مدیر و پایگاه‌داده Open vSwitch\[char46] .IP "\fBother_config : dscp\fR: رشته اختیاری، شامل یک عدد صحیح" کد نقطه خدمات متمایز (DSCP) با استفاده از ۶ بیت در فیلد نوع خدمت (TOS) در هدر IP مشخص می‌شود\[char46] مقدار DSCP سازوکاری برای دسته‌بندی ترافیک شبکه و ارائه کیفیت خدمات (QoS) در شبکه‌های IP فراهم می‌کند\[char46] مقدار DSCP مشخص‌شده در اینجا هنگام برقراری اتصال میان مدیر و Open vSwitch استفاده می‌شود\[char46] اگر مقداری مشخص نشود، مقدار پیش‌فرض 48 انتخاب می‌شود\[char46] مقادیر معتبر DSCP باید در محدوده 0 تا 63 باشند\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها در بخش \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته" .IP "\fBother_config\fR: نگاشتی از جفت‌های رشته-رشته" .bp .SH "جدول NetFlow (NetFlow TABLE)" .PP یک مقصد نت‌فلو (NetFlow target)\[char46] نت‌فلو (NetFlow) پروتکلی است که مجموعه‌ای از جزئیات مربوط به جریان‌های پایان‌یافته IP، مانند طرف‌های درگیر و مدت‌زمان جریان را گزارش می‌دهد\[char46] .SS "چکیده (Summary): .TQ 3.00in \fBtargets\fR مجموعه‌ای از ۱ یا چند رشته .TQ 3.00in \fBengine_id\fR عدد صحیح اختیاری، در محدوده ۰ تا ۲۵۵ .TQ 3.00in \fBengine_type\fR عدد صحیح اختیاری، در محدوده ۰ تا ۲۵۵ .TQ 3.00in \fBactive_timeout\fR عدد صحیح، دست‌کم \-۱ .TQ 3.00in \fBadd_id_to_interface\fR بولی (boolean) .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته\-رشته .RE .SS "جزئیات (Details): .IP "\fBtargets\fR: مجموعه‌ای از ۱ یا چند رشته" مقاصد نت‌فلو در قالب \fB\fIip\fB:\fIport\fB\fR\[char46] مقدار \fIip\fR باید به صورت عددی مشخص شود، نه به عنوان یک نام DNS\[char46] .IP "\fBengine_id\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۲۵۵" شناسه موتور (Engine ID) برای استفاده در پیام‌های نت‌فلو\[char46] در صورت عدم تعیین، به طور پیش‌فرض روی نمایه مسیر داده (datapath index) قرار می‌گیرد\[char46] .IP "\fBengine_type\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۲۵۵" نوع موتور (Engine type) برای استفاده در پیام‌های نت‌فلو\[char46] در صورت عدم تعیین، به طور پیش‌فرض روی نمایه مسیر داده قرار می‌گیرد\[char46] .IP "\fBactive_timeout\fR: عدد صحیح، دست‌کم \-۱" فاصله زمانی ارسال رکوردهای نت‌فلو برای جریان‌هایی که هنوز فعال هستند، بر حسب ثانیه\[char46] مقدار \fB0\fR مهلت زمانی پیش‌فرض (در حال حاضر ۶۰۰ ثانیه) را درخواست می‌کند؛ مقدار \fB\-1\fR مهلت‌های زمانی فعال را غیرفعال می‌سازد\[char46] .IP مهلت زمانی غیرفعال (passive timeout) نت‌فلو برای جریان‌هایی که غیرفعال می‌شوند، قابل پیکربندی نیست\[char46] این مقدار بسته به نسخه Open vSwitch، ساختار و محتوای جدول‌های جریان OpenFlow، میزان استفاده از پردازنده (CPU) و حافظه، و فعالیت شبکه متغیر خواهد بود\[char46] مهلت زمانی غیرفعال معمول حدود یک ثانیه است\[char46] .IP "\fBadd_id_to_interface\fR: بولی (boolean)" اگر مقدار این ستون \fBfalse\fR باشد، فیلدهای رابط ورودی (ingress) و خروجی (egress) رکوردهای جریان نت‌فلو از شماره پورت‌های OpenFlow مشتق می‌شوند\[char46] اگر \fBtrue\fR باشد، ۷ بیت باارزش‌تر این فیلدها با ۷ بیت کم‌ارزش‌تر شناسه موتور جایگزین خواهد شد\[char46] این قابلیت از آنجا مفید است که بسیاری از جمع‌آوری‌کننده‌های نت‌فلو (collectors) انتظار ندارند چندین سوییچ از یک میزبان پیام ارسال کنند، بنابراین اطلاعات موتور را که می‌توانست برای ابهام‌زدایی از ترافیک استفاده شود ذخیره نمی‌کنند\[char46] .IP هنگامی که این گزینه فعال باشد، حداکثر ۵۰۸ پورت پشتیبانی می‌شود\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توضیح داده شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته\-رشته" .bp .SH "جدول Datapath (Datapath TABLE)" .PP .PP .PP پیکربندی برای یک مسیر داده (datapath) درون \fBOpen_vSwitch\fR\[char46] .PP .PP یک مسیر داده (datapath) مسئولیت مدیریت و پردازش بسته‌ها را در Open vSwitch بر عهده دارد\[char46] دو پیاده‌سازی اصلی مسیر داده توسط Open vSwitch استفاده می‌شود: کرنل و فضای کاربر (userspace)\[char46] پیاده‌سازی مسیر داده کرنل برای لینوکس در دسترس است و با انتخاب \fBsystem\fR در ستون \fBdatapath_type\fR از جدول \fBBridge\fR برگزیده می‌شود\[char46] مسیر داده فضای کاربر توسط DPDK و AF-XDP استفاده می‌شود و با انتخاب \fBnetdev\fR در ستون \fBdatapath_type\fR از جدول \fBBridge\fR برگزیده می‌شود\[char46] .PP .PP یک مسیر داده از نوعی خاص، میان تمام پل‌هایی که از آن مسیر داده استفاده می‌کنند به اشتراک گذاشته می‌شود\[char46] بنابراین، پیکربندی‌های اعمال‌شده روی این جدول بر تمام پل‌هایی که از این مسیر داده استفاده می‌کنند تأثیر می‌گذارد\[char46] .SS "چکیده (Summary): .TQ 3.00in \fBdatapath_version\fR رشته .TQ 3.00in \fBct_zones\fR نگاشتی از جفت‌های عدد صحیح\-\fBCT_Zone\fR، کلید در محدوده ۰ تا ۶۵٬۵۳۵ .TQ .25in \fIقابلیت‌ها (Capabilities):\fR .RS .25in .TQ 2.75in \fBcapabilities : max_vlan_headers\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.75in \fBcapabilities : recirc\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : lb_output_action\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ .25in \fIقابلیت‌های رهگیری اتصال (Connection-Tracking Capabilities):\fR .RS .25in .TQ 2.50in \fBcapabilities : ct_state\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBcapabilities : ct_state_nat\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBcapabilities : ct_zone\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBcapabilities : ct_mark\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBcapabilities : ct_label\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBcapabilities : ct_orig_tuple\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBcapabilities : ct_orig_tuple6\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ 2.75in \fBcapabilities : masked_set_action\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : tnl_push_pop\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : ufid\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : trunc\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : nd_ext\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ .25in \fIعملیات‌های کلون (Clone Actions):\fR .RS .25in .TQ 2.50in \fBcapabilities : clone\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.50in \fBcapabilities : sample_nesting\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .RE .TQ 2.75in \fBcapabilities : ct_eventmask\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : ct_clear\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : max_hash_alg\fR رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰ .TQ 2.75in \fBcapabilities : check_pkt_len\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : ct_timeout\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : explicit_drop_action\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : ct_zero_snat\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : ct_flush\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBcapabilities : psample\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ 3.00in \fBct_zone_default_limit\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته\-رشته .RE .SS "جزئیات (Details): .IP "\fBdatapath_version\fR: رشته" شماره نسخه مسیر داده (datapath) در حال استفاده Open vSwitch را گزارش می‌دهد\[char46] این امر به نرم‌افزار مدیریتی اجازه می‌دهد تا مغایرت‌های میان نسخه‌های فضای کاربر (userspace) و مسیر داده Open vSwitch را تشخیص داده و گزارش کند\[char46] (ستون \fBovs_version\fR در جدول \fBOpen_vSwitch\fR نسخه فضای کاربر Open vSwitch را گزارش می‌کند\[char46]) نسخه گزارش‌شده به مسیر داده در حال استفاده بستگی دارد: .RS .IP \(bu هنگامی که مسیر داده درون باینری \fBovs\-vswitchd\fR تعبیه شده باشد (built-in)، این ستون مقدار \fB\fR را گزارش می‌دهد\[char46] طبق تعریف، یک مسیر داده تعبیه‌شده دارای همان نسخه سایر بخش‌های فضای کاربر Open vSwitch است\[char46] .IP \(bu سایر مسیرهای داده در حال حاضر \fB\fR را گزارش می‌دهند\[char46] .RE .IP وجود اختلاف نسخه میان \fBovs\-vswitchd\fR و مسیر داده در حال استفاده، معمولاً دلیلی برای نگرانی نیست\[char46] به‌ویژه مسیرهای داده کرنل Open vSwitch برای لینوکس، برای بیشترین سازگاری بین‌نسخه‌ای طراحی شده‌اند: هر نسخه فضای کاربر با هر نسخه کرنل کار می‌کند\[char46] با این حال دلایلی برای اصرار بر جفت‌سازی‌های خاص میان کاربر/کرنل وجود دارد\[char46] نخست، نسخه‌های جدیدتر کرنل ویژگی‌های جدیدی اضافه می‌کنند که تنها توسط فضای کاربر به‌اندازه کافی جدید قابل استفاده است، برای نمونه تونل‌زنی VXLAN به حداقل نسخه‌های مشخصی از فضای کاربر و کرنل نیاز دارد\[char46] دوم، به عنوان توسعه‌ای بر دلیل اول، برخی نسخه‌های جدیدتر کرنل ویژگی‌های جدیدی را برای بهبود عملکرد اضافه می‌کنند که تنها نسخه‌های به‌اندازه کافی جدید فضای کاربر می‌توانند از آن‌ها بهره‌مند شوند\[char46] .IP "\fBct_zones\fR: نگاشتی از جفت‌های عدد صحیح\-\fBCT_Zone\fR، کلید در محدوده ۰ تا ۶۵٬۵۳۵" پیکربندی برای نواحی رهگیری اتصال (connection tracking zones)\[char46] هر جفت از یک شناسه ناحیه به یک پیکربندی برای آن ناحیه نگاشت می‌شود\[char46] ناحیه \fB0\fR برای ناحیه پیش‌فرض اعمال می‌گردد (یعنی ناحیه‌ای که در صورت عدم تعیین ناحیه در تطابق‌ها و عملیات‌های OpenFlow مرتبط با رهگیری اتصال، استفاده می‌شود)\[char46] .ST "قابلیت‌ها (Capabilities):" .PP .PP .PP ستون \fBcapabilities\fR ویژگی‌های یک مسیر داده را گزارش می‌دهد\[char46] برای مسیر داده \fBnetdev\fR، این قابلیت‌ها برای یک نسخه مشخص از Open vSwitch ثابت هستند زیرا این مسیر داده در باینری \fBovs\-vswitchd\fR تعبیه شده است\[char46] هسته لینوکس و سایر مسیرهای داده، که بیرون از فضای کاربر OVS هستند، می‌توانند مستقل از \fBovs\-vswitchd\fR از نظر نسخه و قابلیت‌ها تفاوت داشته باشند\[char46] .PP .PP برخی از این ویژگی‌ها نشان می‌دهند که آیا ویژگی‌های سطح بالاتر Open vSwitch در دسترس هستند یا خیر\[char46] برای نمونه، ویژگی‌های OpenFlow برای رهگیری اتصال تنها زمانی در دسترس هستند که \fBcapabilities:ct_state\fR برابر با \fBtrue\fR باشد\[char46] بنابراین کنترل‌کننده‌ای که مایل است تعیین کند آیا یک ویژگی پشتیبانی می‌شود یا خیر، می‌تواند قابلیت‌های مربوطه را در این جدول بررسی کند\[char46] با این حال، به عنوان یک قاعده کلی، بهتر است یک کنترل‌کننده تلاش کند از ویژگی سطح بالاتر استفاده نماید و نتیجه را به عنوان نشانه‌ای از پشتیبانی در نظر بگیرد، زیرا احتمال تغییر قابلیت‌های سطح پایین در طول زمان بیشتر از ویژگی‌های سطح بالایی است که به آن‌ها متکی هستند\[char46] .IP "\fBcapabilities : max_vlan_headers\fR: رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰" تعداد هدرهای 802\[char46]1q VLAN پشتیبانی‌شده توسط مسیر داده، همان‌طور که توسط مسیر کُند (slow path) در \fBovs\-vswitchd\fR کاوش شده است\[char46] اگر مسیر داده از هدرهای VLAN بیشتری نسبت به مسیر کُند پشتیبانی کند، این مقدار سقف مسیر کُند را گزارش می‌دهد\[char46] مقدار \fBother-config:vlan-limit\fR در جدول \fBOpen_vSwitch\fR بر عدد گزارش‌شده در اینجا تأثیری ندارد\[char46] .IP "\fBcapabilities : recirc\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر این مقدار true باشد، مسیر داده از گردش مجدد (recirculation)، به‌ویژه OVS_KEY_ATTR_RECIRC_ID پشتیبانی می‌کند\[char46] گردش مجدد کارایی بالاتری را برای MPLS و حالت‌های پیوند تعادل بار فعال\-فعال (active-active load balancing) فراهم می‌سازد\[char46] .IP "\fBcapabilities : lb_output_action\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر این مقدار true باشد، مسیر داده از حالت پیوند بهینه‌شده balance-tcp پشتیبانی می‌کند\[char46] این قابلیت عملیات‌های موجود \fBhash\fR و \fBrecirc\fR را با عملیات جدید \fBlb_output\fR جایگزین کرده و از گردش مجدد بسته در مسیر داده جلوگیری می‌نماید\[char46] این ویژگی فقط برای حالت پیوند balance-tcp در مسیر داده netdev پشتیبانی می‌شود\[char46] اقدام جدید با استفاده از سطل‌های پیوند (bond buckets) به‌جای جریان‌های پس از گردش مجدد برای انتخاب پورت عضو از پیوند، عملکرد بالاتری ارائه می‌دهد\[char46] به طور پیش‌فرض این عملیات جدید غیرفعال است، اما می‌توان آن را با تنظیم \fBother-config:lb-output-action\fR در جدول \fBPort\fR فعال کرد\[char46] .ST "قابلیت‌های رهگیری اتصال (Connection-Tracking Capabilities):" .PP .PP .PP این قابلیت‌ها جزئی و ریزدانه‌اند زیرا Open vSwitch و مسیرهای داده آن، پشتیبانی از رهگیری اتصال را در طول چندین نگارش اضافه کردند و ویژگی‌ها در طول آن زمان به صورت جداگانه اضافه شدند\[char46] .IP "\fBcapabilities : ct_state\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر true باشد، مسیر داده از OVS_KEY_ATTR_CT_STATE پشتیبانی می‌کند، که نشان‌دهنده پشتیبانی از بیت‌های موجود در فیلد \fBct_state\fR در OpenFlow (به \fBovs\-fields\fR(7) مراجعه کنید) به‌جز \fBsnat\fR و \fBdnat\fR است که قابلیت جداگانه‌ای دارند\[char46] .IP اگر این مقدار false باشد، مسیر داده اصلاً از رهگیری اتصال پشتیبانی نمی‌کند و باقی قابلیت‌های رهگیری اتصال همگی باید false باشند\[char46] در این حالت، Open vSwitch جریان‌هایی را که روی فیلد \fBct_state\fR تطابق دارند یا از اقدام \fBct\fR استفاده می‌کنند رد خواهد کرد\[char46] .IP "\fBcapabilities : ct_state_nat\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر true باشد، به این معنی است که مسیر داده از پرچم‌های \fBsnat\fR و \fBdnat\fR در فیلد \fBct_state\fR در OpenFlow پشتیبانی می‌کند\[char46] قابلیت \fBct_state\fR باید true باشد تا این مورد معنا پیدا کند\[char46] .IP اگر false باشد، Open vSwitch جریان‌هایی را که روی بیت‌های \fBsnat\fR یا \fBdnat\fR در \fBct_state\fR تطابق دارند یا از \fBnat\fR در اقدام \fBct\fR استفاده می‌کنند رد خواهد کرد\[char46] .IP "\fBcapabilities : ct_zone\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر true باشد، مسیر داده از OVS_KEY_ATTR_CT_ZONE پشتیبانی می‌کند\[char46] اگر false باشد، Open vSwitch جریان‌هایی را که روی فیلد \fBct_zone\fR تطابق دارند یا یک ناحیه غیرصفر یا یک فیلد ناحیه را در اقدام \fBct\fR مشخص می‌کنند رد می‌نماید\[char46] .IP "\fBcapabilities : ct_mark\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر true باشد، مسیر داده از OVS_KEY_ATTR_CT_MARK پشتیبانی می‌کند\[char46] اگر false باشد، Open vSwitch جریان‌هایی را که روی فیلد \fBct_mark\fR تطابق دارند یا \fBct_mark\fR را در اقدام \fBct\fR تنظیم می‌کنند رد می‌نماید\[char46] .IP "\fBcapabilities : ct_label\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر true باشد، مسیر داده از OVS_KEY_ATTR_CT_LABEL پشتیبانی می‌کند\[char46] اگر false باشد، Open vSwitch جریان‌هایی را که روی فیلد \fBct_label\fR تطابق دارند یا \fBct_label\fR را در اقدام \fBct\fR تنظیم می‌کنند رد می‌نماید\[char46] .IP "\fBcapabilities : ct_orig_tuple\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر true باشد، مسیر داده از تطابق چندتایی ۵\-گانه (5-tuple) از جهت اصلی اتصال برای ترافیک IPv4 پشتیبانی می‌کند\[char46] اگر false باشد، Open vSwitch جریان‌هایی را که روی \fBct_nw_src\fR یا \fBct_nw_dst\fR تطابق دارند، یا از ویژگی \fBct\fR در اقدام \fBresubmit\fR استفاده می‌کنند، یا کلیدواژه \fBforce\fR را در اقدام \fBct\fR به کار می‌برند رد می‌نماید\[char46] (مورد اخیر از نظر فنی به هیچ وجه به پشتیبانی رهگیری اتصال از چندتایی‌های اصلی متصل نیست\[char46] این دو به این دلیل با هم ادغام شده‌اند که تمام مسیرهای داده فعلی هر دو ویژگی را همزمان پیاده‌سازی کردند\[char46]) .IP اگر این مورد و \fBcapabilities:ct_orig_tuple6\fR هر دو false باشند، Open vSwitch جریان‌هایی را که روی \fBct_nw_proto\fR، \fBct_tp_src\fR یا \fBct_tp_dst\fR تطابق دارند رد می‌کند\[char46] .IP "\fBcapabilities : ct_orig_tuple6\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" اگر true باشد، مسیر داده از تطابق چندتایی ۵\-گانه از جهت اصلی اتصال برای ترافیک IPv6 پشتیبانی می‌کند\[char46] اگر false باشد، Open vSwitch جریان‌هایی را که روی \fBct_ipv6_src\fR یا \fBct_ipv6_dst\fR تطابق دارند رد می‌نماید\[char46] .IP "\fBcapabilities : masked_set_action\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از داده‌های ماسک‌شده در عملیات‌های OVS_ACTION_ATTR_SET پشتیبانی کند\[char46] داده‌های ماسک‌شده می‌توانند با فراهم کردن امکان تطابق مگاجریان‌ها (megaflows) روی فیلدهای کمتر، کارایی را بهبود بخشند\[char46] .IP "\fBcapabilities : tnl_push_pop\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از عملیات‌های tnl_push و pop پشتیبانی کند\[char46] این یک پیش‌نیاز است تا مسیر داده بتواند از تونل‌زنی بومی (native tunneling) پشتیبانی نماید\[char46] .IP "\fBcapabilities : ufid\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از OVS_FLOW_ATTR_UFID پشتیبانی کند\[char46] پشتیبانی از UFID با انتقال داده‌های کمتر میان مسیر کُند و مسیر داده، عملکرد اعتبارسنجی مجدد (revalidation) را ارتقا می‌دهد\[char46] .IP "\fBcapabilities : trunc\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از اقدام OVS_ACTION_ATTR_TRUNC پشتیبانی کند\[char46] اگر false باشد، اقدام \fBoutput\fR با کوتاه کردن بسته (truncation) نیازمند ارسال هر بسته به مسیر کُند Open vSwitch است که احتمالاً آن را برای آینه‌سازی ترافیک در حجم انبوه بیش از حد کند می‌سازد\[char46] .IP "\fBcapabilities : nd_ext\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از OVS_KEY_ATTR_ND_EXTENSIONS برای تطابق روی فیلدهای هدر ICMPv6 با عنوان \(dqND reserved\(dq و \(dqND option type\(dq پشتیبانی کند\[char46] اگر false باشد، در صورت استفاده از این ویژگی، مسیر داده خطا گزارش می‌دهد\[char46] .ST "عملیات‌های کلون (Clone Actions):" .PP .PP .PP هنگامی که Open vSwitch عملیات‌ها را از OpenFlow به نمایش مسیر داده ترجمه می‌کند، ممکن است برخی از اقدامات مسیر داده، بسته را تغییر دهند یا اثرات جانبی دیگری داشته باشند که اقدامات بعدی مسیر داده نتوانند آن را بازگردانند\[char46] اقدامات OpenFlow شامل \fBct\fR، \fBmeter\fR، \fBoutput\fR با کوتاه‌سازی (truncation)، \fBencap\fR، \fBdecap\fR و \fBdec_nsh_ttl\fR در این دسته قرار می‌گیرند\[char46] اغلب این مسئله مشکلی ایجاد نمی‌کند زیرا در ادامه نیازی به بسته اصلی نیست\[char46] .PP .PP با این حال، چنین اقداماتی ممکن است در شرایطی رخ دهند که ترجمه واقعاً به بسته اصلی نیاز داشته باشد\[char46] برای نمونه، یک اقدام \fBoutput\fR در OpenFlow ممکن است بسته‌ای را به یک پورت پچ (patch port) هدایت کند، که آن هم به نوبه خود ممکن است منجر به اقدام \fBct\fR شود که بسته را NAT می‌کند (که قابل بازگشت نیست)، و سپس پس از بازگشت جریان کنترل از روی پورت پچ، اقدام دیگری ممکن است نیاز داشته باشد روی بسته اصلی عمل کند\[char46] .PP .PP سوییچ Open vSwitch دو روش متفاوت برای پیاده‌سازی این «ذخیره و بازیابی» از طریق عملیات‌های مسیر داده دارد\[char46] این قابلیت‌ها مشخص می‌کنند که Open vSwitch کدام یک را انتخاب خواهد کرد\[char46] زمانی که هیچ‌کدام در دسترس نباشد، Open vSwitch در شرایطی که به این ویژگی نیاز دارند، به سادگی با شکست مواجه می‌شود\[char46] .IP "\fBcapabilities : clone\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از اقدام OVS_ACTION_ATTR_CLONE پشتیبانی کند\[char46] این گزینه ترجیحی برای ذخیره و بازیابی بسته‌هاست، زیرا برای همین هدف طراحی شده است، اما مسیرهای داده قدیمی از آن پشتیبانی نمی‌کنند\[char46] هر زمان که این قابلیت در دسترس باشد، Open vSwitch از آن استفاده خواهد کرد\[char46] .IP (اقدام \fBclone\fR در OpenFlow همیشه منجر به اقدام OVS_ACTION_ATTR_CLONE نمی‌شود\[char46] تنها زمانی چنین می‌کند که مسیر داده از آن پشتیبانی کند و \fBclone\fR اقداماتی را در بر بگیرد که در غیر این صورت قابل بازگشت نیستند\[char46]) .IP "\fBcapabilities : sample_nesting\fR: رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰" حداکثر سطح تودرتویی (nesting) مجاز توسط اقدام OVS_ACTION_ATTR_SAMPLE\[char46] سوییچ Open vSwitch هنگامی که مسیر داده از بیش از ۳ سطح تودرتویی پشتیبانی کند و OVS_ACTION_ATTR_CLONE در دسترس نباشد، از این اقدام برای ذخیره و بازیابی بسته‌ها استفاده نادرست (سوءاستفاده روشمند) می‌کند\[char46] .IP "\fBcapabilities : ct_eventmask\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که اقدام OVS_ACTION_ATTR_CT در مسیر داده، ویژگی OVS_CT_ATTR_EVENTMASK را پیاده‌سازی کرده باشد\[char46] هنگامی که این مقدار true باشد، Open vSwitch از ویژگی ماسک رویداد (event mask) برای محدود کردن انواع رویدادهای گزارش‌شده به شنوندگان به‌روزرسانی conntrack استفاده می‌کند\[char46] هنگامی که Open vSwitch ماسک رویداد را محدود نمی‌کند، شنوندگان گزارش‌های مربوط به رویدادهای پرتعداد و معمولاً کم‌اهمیت مانند تغییرات ماشین حالت TCP را دریافت می‌کنند که می‌تواند زمان پردازنده (CPU) را هدر دهد\[char46] .IP "\fBcapabilities : ct_clear\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از اقدام OVS_ACTION_ATTR_CT_CLEAR پشتیبانی کند\[char46] اگر false باشد، اقدام \fBct_clear\fR در OpenFlow هیچ تأثیری روی مسیر داده ندارد\[char46] .IP "\fBcapabilities : max_hash_alg\fR: رشته اختیاری، شامل یک عدد صحیح، دست‌کم ۰" بالاترین الگوریتم dp_hash پشتیبانی‌شده\[char46] این به Open vSwitch اجازه می‌دهد تا از درخواست درهم‌سازی (هش) بسته‌ای که مسیر داده از آن پشتیبانی نمی‌کند خودداری ورزد\[char46] .IP "\fBcapabilities : check_pkt_len\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از OVS_ACTION_ATTR_CHECK_PKT_LEN پشتیبانی کند\[char46] اگر false باشد، Open vSwitch اقدام \fBcheck_pkt_larger\fR را با ارسال هر بسته از طریق مسیر کُند Open vSwitch پیاده‌سازی می‌کند، که احتمالاً آن را برای مدیریت ترافیک انبوه بیش از حد کند می‌سازد\[char46] .IP "\fBcapabilities : ct_timeout\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از OVS_CT_ATTR_TIMEOUT در اقدام OVS_ACTION_ATTR_CT پشتیبانی کند\[char46] اگر false باشد، سوییچ Open vSwitch نمی‌تواند سیاست‌های مهلت زمانی بر اساس نواحی رهگیری اتصال را همان‌طور که از طریق جدول \fBCT_Timeout_Policy\fR پیکربندی شده پیاده‌سازی کند\[char46] .IP "\fBcapabilities : explicit_drop_action\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از OVS_ACTION_ATTR_DROP پشتیبانی کند\[char46] اگر false باشد، اقدام دور انداختن صریح (explicit drop action) به مسیر داده فرستاده نخواهد شد\[char46] .IP "\fBcapabilities : ct_zero_snat\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از SNAT تمام‌صفر (all-zero SNAT) پشتیبانی کند\[char46] این یک حالت خاص است هنگامی که نشانی IP مربوط به \fBsrc\fR همگی به صورت ۰ پیکربندی شده باشد، یعنی \fBnat(src=0\[char46]0\[char46]0\[char46]0)\fR\[char46] در این حالت، هنگامی که یک برخورد پورت مبدأ در طول ثبت (commit) شناسایی شود، پورت مبدأ به یک پورت موقت (ephemeral port) ترجمه می‌شود\[char46] اگر برخوردی وجود نداشته باشد، هیچ SNATای انجام نمی‌شود\[char46] .IP "\fBcapabilities : ct_flush\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از افزونه Nicira در OpenFlow برای پاکسازی CT با نام \fBNXT_CT_FLUSH\fR پشتیبانی کند\[char46] افزونه \fBNXT_CT_FLUSH\fR امکان پاکسازی ورودی‌های CT را بر اساس پارامترهای مشخص‌شده فراهم می‌آورد\[char46] .IP "\fBcapabilities : psample\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" مقدار true در صورتی که مسیر داده از OVS_ACTION_ATTR_PSAMPLE پشتیبانی کند\[char46] اگر false باشد، نمونه‌برداری محلی با مسیر داده کرنل لینوکس پشتیبانی نخواهد شد\[char46] .IP "\fBct_zone_default_limit\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" محدودیت پیش‌فرض ناحیه رهگیری اتصال که برای تمام نواحی که مقدار \fBlimit\fR را صراحتاً مشخص نکرده‌اند اعمال می‌شود\[char46] اگر سقف مشخص نشود، پیکربندی سقف پیش‌فرض برای مسیر داده دست‌نخورده باقی می‌ماند\[char46] مقدار 0 به معنای نامحدود است\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توضیح داده شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته\-رشته" .bp .SH "جدول CT_Zone (CT_Zone TABLE)" .PP پیکربندی ناحیه رهگیری اتصال .SS "چکیده (Summary): .TQ 3.00in \fBtimeout_policy\fR \fBCT_Timeout_Policy\fR اختیاری .TQ 3.00in \fBlimit\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته\-رشته .RE .SS "جزئیات (Details): .IP "\fBtimeout_policy\fR: \fBCT_Timeout_Policy\fR اختیاری" سیاست مهلت زمانی رهگیری اتصال برای این ناحیه\[char46] اگر سیاست مهلت زمانی مشخص نشده باشد، به طور پیش‌فرض از سیاست مهلت زمانی موجود در سیستم استفاده می‌شود\[char46] .IP "\fBlimit\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" محدودیت رهگیری اتصال برای این ناحیه\[char46] اگر این سقف مشخص نشده باشد، مقدار \fBct_zone_default_limit\fR استفاده خواهد شد\[char46] مقدار 0 به معنای نامحدود است\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توضیح داده شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته\-رشته" .bp .SH "جدول CT_Timeout_Policy (CT_Timeout_Policy TABLE)" .PP پیکربندی سیاست مهلت زمانی رهگیری اتصال .SS "چکیده (Summary): .TQ .25in \fIمهلت‌های زمانی (Timeouts):\fR .RS .25in .TQ 2.75in \fBtimeouts\fR نگاشتی از جفت‌های رشته\-عدد صحیح، کلید یکی از \fBicmp_first\fR، \fBicmp_reply\fR، \fBtcp_close\fR، \fBtcp_close_wait\fR، \fBtcp_established\fR، \fBtcp_fin_wait\fR، \fBtcp_last_ack\fR، \fBtcp_retransmit\fR، \fBtcp_syn_recv\fR، \fBtcp_syn_sent2\fR، \fBtcp_syn_sent\fR، \fBtcp_time_wait\fR، \fBtcp_unack\fR، \fBudp_first\fR، \fBudp_multiple\fR یا \fBudp_single\fR، مقدار در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ .25in \fIمهلت‌های زمانی TCP (TCP Timeouts):\fR .RS .25in .TQ 2.50in \fBtimeouts : tcp_syn_sent\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_syn_recv\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_established\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_fin_wait\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_close_wait\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_last_ack\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_time_wait\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_close\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_syn_sent2\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_retransmit\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : tcp_unack\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .RE .TQ .25in \fIمهلت‌های زمانی UDP (UDP Timeouts):\fR .RS .25in .TQ 2.50in \fBtimeouts : udp_first\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : udp_single\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : udp_multiple\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .RE .TQ .25in \fIمهلت‌های زمانی ICMP (ICMP Timeouts):\fR .RS .25in .TQ 2.50in \fBtimeouts : icmp_first\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .TQ 2.50in \fBtimeouts : icmp_reply\fR عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ .RE .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته\-رشته .RE .SS "جزئیات (Details): .ST "مهلت‌های زمانی (Timeouts):" .PP .IP "\fBtimeouts\fR: نگاشتی از جفت‌های رشته\-عدد صحیح، کلید یکی از \fBicmp_first\fR، \fBicmp_reply\fR، \fBtcp_close\fR، \fBtcp_close_wait\fR، \fBtcp_established\fR، \fBtcp_fin_wait\fR، \fBtcp_last_ack\fR، \fBtcp_retransmit\fR، \fBtcp_syn_recv\fR، \fBtcp_syn_sent2\fR، \fBtcp_syn_sent\fR، \fBtcp_time_wait\fR، \fBtcp_unack\fR، \fBudp_first\fR، \fBudp_multiple\fR یا \fBudp_single\fR، مقدار در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" ستون \fBtimeouts\fR شامل جفت‌های کلید\-مقداری است که برای پیکربندی مهلت‌های زمانی رهگیری اتصال در یک مسیر داده استفاده می‌شوند\[char46] جفت‌های کلید\-مقداری که توسط مسیر داده پشتیبانی نمی‌شوند نادیده گرفته می‌شوند\[char46] مقدار مهلت زمانی بر حسب ثانیه است\[char46] .ST "مهلت‌های زمانی TCP (TCP Timeouts):" .PP .IP "\fBtimeouts : tcp_syn_sent\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده نخستین بسته TCP SYN توسط conntrack\[char46] .IP "\fBtimeouts : tcp_syn_recv\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده نخستین بسته TCP SYN\-ACK توسط conntrack\[char46] .IP "\fBtimeouts : tcp_established\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از برقراری کامل اتصال\[char46] .IP "\fBtimeouts : tcp_fin_wait\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده نخستین بسته TCP FIN توسط conntrack\[char46] .IP "\fBtimeouts : tcp_close_wait\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده نخستین بسته TCP ACK پس از دریافت بسته TCP FIN\[char46] این مهلت زمانی تنها توسط مسیر داده کرنل لینوکس پشتیبانی می‌شود\[char46] .IP "\fBtimeouts : tcp_last_ack\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده بسته‌های TCP FIN توسط conntrack از هر دو جهت\[char46] این مهلت زمانی تنها توسط مسیر داده کرنل لینوکس پشتیبانی می‌شود\[char46] .IP "\fBtimeouts : tcp_time_wait\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده بسته TCP ACK برای دومین بسته TCP FIN توسط conntrack\[char46] .IP "\fBtimeouts : tcp_close\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده نخستین بسته TCP RST توسط conntrack\[char46] .IP "\fBtimeouts : tcp_syn_sent2\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال هنگامی که تنها یک بسته TCP SYN توسط conntrack از هر دو جهت دیده شده باشد (بازگشایی همزمان یا simultaneous open)\[char46] این مهلت زمانی تنها توسط مسیر داده کرنل لینوکس پشتیبانی می‌شود\[char46] .IP "\fBtimeouts : tcp_retransmit\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال هنگامی که از حداکثر تعداد ارسال‌های مجدد فراتر رود\[char46] این مهلت زمانی تنها توسط مسیر داده کرنل لینوکس پشتیبانی می‌شود\[char46] .IP "\fBtimeouts : tcp_unack\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال هنگامی که بسته‌های غیر SYN اتصالی برقرارشده در حالت رهگیری سست TCP ایجاد کنند\[char46] این مهلت زمانی تنها توسط مسیر داده کرنل لینوکس پشتیبانی می‌شود\[char46] .ST "مهلت‌های زمانی UDP (UDP Timeouts):" .PP .IP "\fBtimeouts : udp_first\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده نخستین بسته UDP توسط conntrack\[char46] این مهلت زمانی تنها توسط مسیر داده فضای کاربر (userspace datapath) پشتیبانی می‌شود\[char46] .IP "\fBtimeouts : udp_single\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال هنگامی که conntrack تنها بسته UDP را از میزبان مبدأ دیده باشد، اما میزبان مقصد هرگز پاسخی ارسال نکرده باشد\[char46] .IP "\fBtimeouts : udp_multiple\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال هنگامی که بسته‌های UDP در هر دو جهت دیده شده باشند\[char46] .ST "مهلت‌های زمانی ICMP (ICMP Timeouts):" .PP .IP "\fBtimeouts : icmp_first\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال پس از مشاهده نخستین بسته ICMP توسط conntrack\[char46] .IP "\fBtimeouts : icmp_reply\fR: عدد صحیح اختیاری، در محدوده ۰ تا ۴٬۲۹۴٬۹۶۷٬۲۹۵" مهلت زمانی اتصال هنگامی که بسته‌های ICMP در هر دو جهت دیده شده باشند\[char46] این مهلت زمانی تنها توسط مسیر داده فضای کاربر پشتیبانی می‌شود\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توضیح داده شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته\-رشته" .bp .SH "جدول SSL (SSL TABLE)" .PP پیکربندی اس‌اس‌ال/تی‌ال‌اس (SSL/TLS) برای یک Open_vSwitch\[char46] .SS "چکیده (Summary):" .TQ 3.00in \fBprivate_key\fR رشته .TQ 3.00in \fBcertificate\fR رشته .TQ 3.00in \fBca_cert\fR رشته .TQ 3.00in \fBbootstrap_ca_cert\fR بولی (boolean) .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details):" .IP "\fBprivate_key\fR: رشته" نام یک فایل PEM حاوی کلید خصوصی که به عنوان هویت سوییچ برای اتصالات SSL/TLS به کنترل‌کننده استفاده می‌شود\[char46] .IP "\fBcertificate\fR: رشته" نام یک فایل PEM حاوی گواهی، امضاشده توسط مرجع صدور گواهی (CA) مورداستفاده کنترل‌کننده و مدیر، که کلید خصوصی سوییچ را تایید کرده و یک سوییچ قابل اعتماد را مشخص می‌سازد\[char46] .IP "\fBca_cert\fR: رشته" نام یک فایل PEM حاوی گواهی CA که برای اعتبارسنجی اتصال سوییچ به یک کنترل‌کننده قابل اعتماد به کار می‌رود\[char46] .IP "\fBbootstrap_ca_cert\fR: بولی (boolean)" اگر روی \fBtrue\fR تنظیم شود، Open vSwitch در نخستین اتصال SSL/TLS خود تلاش خواهد کرد گواهی CA را از کنترل‌کننده دریافت کرده و آن را در فایل PEM نام‌برده ذخیره کند\[char46] در صورت موفقیت، بلافاصله اتصال را قطع کرده و مجدداً متصل می‌شود، و از آن پس تمام اتصالات SSL/TLS باید توسط گواهی امضاشده توسط گواهی CA دریافت‌شده تایید هویت شوند\[char46] \fBاین گزینه هنگام دریافت گواهی اولیه CA، اتصال SSL/TLS را در معرض حمله مرد میانی (man\-in\-the\-middle) قرار می‌دهد\[char46]\fR با این حال ممکن است همچنان برای راه‌اندازی اولیه (bootstrapping) مفید باشد\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته" .bp .SH "جدول sFlow (sFlow TABLE)" .PP .PP .PP مجموعه‌ای از مقاصد sFlow(R)\[char46] اس‌فلو (sFlow) پروتکلی برای نظارت از راه دور بر سوییچ‌ها است\[char46] .SS "چکیده (Summary):" .TQ 3.00in \fBagent\fR رشته اختیاری .TQ 3.00in \fBheader\fR عدد صحیح اختیاری .TQ 3.00in \fBpolling\fR عدد صحیح اختیاری .TQ 3.00in \fBsampling\fR عدد صحیح اختیاری .TQ 3.00in \fBtargets\fR مجموعه‌ای از ۱ یا چند رشته .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details):" .IP "\fBagent\fR: رشته اختیاری" آدرس عامل (agent) را مشخص می‌کند؛ یعنی آدرس IP که به عنوان منبع داده‌های sFlow به گردآورنده‌ها گزارش می‌شود\[char46] این مقدار می‌تواند یک آدرس IP یا نام یک دستگاه شبکه باشد\[char46] در حالت دوم، از آدرس IP آن دستگاه شبکه استفاده می‌شود\[char46] .IP در صورت عدم تعیین، دستگاه عامل بر اساس نخستین آدرس مقصد و جدول مسیریابی مشخص می‌شود\[char46] اگر جدول مسیریابی شامل مسیری به مقصد نباشد، آدرس IP به صورت پیش‌فرض برابر با \fBlocal_ip\fR در \fBController\fR گردآورنده در نظر گرفته می‌شود\[char46] .IP اگر نتوان آدرس IP عامل را مشخص کرد، sFlow غیرفعال می‌شود\[char46] .IP "\fBheader\fR: عدد صحیح اختیاری" تعداد بایت‌های یک بسته نمونه‌برداری‌شده برای ارسال به گردآورنده\[char46] در صورت عدم تعیین، مقدار پیش‌فرض 128 بایت است\[char46] .IP "\fBpolling\fR: عدد صحیح اختیاری" نرخ نظرسنجی (polling) بر حسب ثانیه برای ارسال آمار پورت به گردآورنده\[char46] در صورت عدم تعیین، مقدار پیش‌فرض 30 ثانیه است\[char46] .IP "\fBsampling\fR: عدد صحیح اختیاری" نرخی که بسته‌ها باید با آن نمونه‌برداری شده و به گردآورنده ارسال شوند\[char46] در صورت عدم تعیین، مقدار پیش‌فرض 400 است، به این معنی که به طور میانگین از هر 400 بسته، یک بسته به گردآورنده ارسال خواهد شد\[char46] .IP "\fBtargets\fR: مجموعه‌ای از ۱ یا چند رشته" مقاصد sFlow به فرم \fB\fIip\fB:\fIport\fB\fR\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته" .bp .SH "جدول IPFIX (IPFIX TABLE)" .PP .PP .PP پیکربندی برای ارسال بسته‌ها به گردآورنده‌های IPFIX\[char46] .PP .PP آی‌پی‌فیکس (IPFIX) پروتکلی است که جزئیات متعددی را درباره جریان‌ها صادر می‌کند\[char46] پیاده‌سازی IPFIX در Open vSwitch بسته‌ها را با نرخی قابل پیکربندی نمونه‌برداری می‌کند، اطلاعات جریان را از آن بسته‌ها استخراج می‌نماید، به صورت اختیاری اطلاعات جریان را کش و تجمیع می‌کند، و نتیجه را به یک یا چند گردآورنده می‌فرستد\[char46] .PP .PP پروتکل IPFIX در Open vSwitch می‌تواند به دو شیوه مختلف پیکربندی شود: .RS .IP \(bu با \fBنمونه‌برداری به ازای هر پل (per\-bridge sampling)\fR، Open vSwitch نمونه‌برداری IPFIX را به طور خودکار روی تمام بسته‌هایی که از یک پل عبور می‌کنند انجام می‌دهد\[char46] برای پیکربندی نمونه‌برداری به ازای هر پل، یک رکورد \fBIPFIX\fR ایجاد کنید و ستون \fBipfix\fR در جدول \fBBridge\fR را به آن ارجاع دهید\[char46] از جدول \fBFlow_Sample_Collector_Set\fR برای نمونه‌برداری به ازای هر پل استفاده نمی‌شود\[char46] .IP \(bu با \fBنمونه‌برداری مبتنی بر جریان (flow\-based sampling)\fR، اقدامات \fBsample\fR در جدول جریان OpenFlow نمونه‌برداری IPFIX را هدایت می‌کنند\[char46] برای مشاهده توصیف اقدام \fBsample\fR، به \fBovs\-actions\fR(7) مراجعه کنید\[char46] .IP نمونه‌برداری مبتنی بر جریان نیازمند پیکربندی پایگاه‌داده نیز هست: یک رکورد \fBIPFIX\fR ایجاد کنید که پیکربندی IPFIX را توصیف کند و یک رکورد \fBFlow_Sample_Collector_Set\fR که به \fBBridge\fR مربوطه (که جدول جریان آن حاوی اقدامات \fBsample\fR است) و به رکورد \fBIPFIX\fR اشاره کند\[char46] ستون \fBipfix\fR در جدول \fBBridge\fR برای نمونه‌برداری مبتنی بر جریان استفاده نمی‌شود\[char46] .RE .SS "چکیده (Summary):" .TQ 3.00in \fBtargets\fR مجموعه‌ای از رشته‌ها .TQ 3.00in \fBcache_active_timeout\fR عدد صحیح اختیاری، در بازه 0 تا 4,200 .TQ 3.00in \fBcache_max_flows\fR عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295 .TQ 3.00in \fBstats_interval\fR عدد صحیح اختیاری، در بازه 1 تا 3,600 .TQ 3.00in \fBtemplate_interval\fR عدد صحیح اختیاری، در بازه 1 تا 3,600 .TQ 3.00in \fBother_config : enable-tunnel-sampling\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 3.00in \fBother_config : virtual_obs_id\fR رشته اختیاری .TQ .25in \fIنمونه‌برداری به ازای هر پل (Per-Bridge Sampling):\fR .RS .25in .TQ 2.75in \fBsampling\fR عدد صحیح اختیاری، در بازه 1 تا 4,294,967,295 .TQ 2.75in \fBobs_domain_id\fR عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295 .TQ 2.75in \fBobs_point_id\fR عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295 .TQ 2.75in \fBother_config : enable-input-sampling\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .TQ 2.75in \fBother_config : enable-output-sampling\fR رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR .RE .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details):" .IP "\fBtargets\fR: مجموعه‌ای از رشته‌ها" گردآورنده‌های مقصد IPFIX به فرم \fB\fIip\fB:\fIport\fB\fR\[char46] .IP "\fBcache_active_timeout\fR: عدد صحیح اختیاری، در بازه 0 تا 4,200" حداکثر مدت‌زمان بر حسب ثانیه که یک رکورد جریان IPFIX پیش از ارسال، کش و تجمیع می‌شود\[char46] در صورت عدم تعیین، مقدار پیش‌فرض 0 است\[char46] در صورت 0 بودن، کش‌سازی غیرفعال می‌شود\[char46] .IP "\fBcache_max_flows\fR: عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295" حداکثر تعداد رکوردهای جریان IPFIX که می‌توانند هم‌زمان کش شوند\[char46] در صورت عدم تعیین، مقدار پیش‌فرض 0 است\[char46] در صورت 0 بودن، کش‌سازی غیرفعال می‌شود\[char46] .IP "\fBstats_interval\fR: عدد صحیح اختیاری، در بازه 1 تا 3,600" فاصله زمانی (بر حسب ثانیه) برای ارسال آمار فرآیند صدور IPFIX مطابق با بخش 4\[char46]3 استاندارد IETF RFC 5101\[char46] .IP مقدار پیش‌فرض 600 است\[char46] .IP "\fBtemplate_interval\fR: عدد صحیح اختیاری، در بازه 1 تا 3,600" فاصله زمانی (بر حسب ثانیه) برای ارسال اطلاعات الگوی (Template) پروتکل IPFIX به ازای هر شناسه دامنه مشاهده (Observation Domain ID)\[char46] .IP مقدار پیش‌فرض 600 است\[char46] .IP "\fBother_config : enable-tunnel-sampling\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" برای فعال‌سازی نمونه‌برداری و گزارش چندتایی‌های ۷ گانه (7\-tuples) هدر تونل در رکوردهای جریان IPFIX، روی \fBtrue\fR تنظیم کنید\[char46] نمونه‌برداری تونل به طور پیش‌فرض فعال است\[char46] .IP نهادهای سازمانی زیر اطلاعات تونل نمونه‌برداری‌شده را گزارش می‌دهند: .RS .TP tunnelType: شناسه: 891، و شناسه سازمانی 6876 (VMware)\[char46] .IP نوع: عدد صحیح ۸ بیتی بدون علامت\[char46] .IP معناشناسی نوع داده: شناسه (identifier)\[char46] .IP توضیحات: شناسه نوع کپسوله‌سازی شبکه هم‌پوشان لایه ۲ شبکه: 0x01 VxLAN، 0x02 GRE، 0x07 GENEVE\[char46] .TP tunnelKey: شناسه: 892، و شناسه سازمانی 6876 (VMware)\[char46] .IP نوع: آرایه بایت (octetarray) با طول متغیر\[char46] .IP معناشناسی نوع داده: شناسه (identifier)\[char46] .IP توضیحات: کلیدی که برای شناسایی یک جریان ترافیکی منفرد در یک تونل VxLAN (VNI ۲۴ بیتی)، GENEVE (VNI ۲۴ بیتی) یا GRE (کلید ۳۲ بیتی) استفاده می‌شود\[char46] این کلید در این آرایه بایت به صورت یک شناسه عدد صحیح ۳ یا ۴ بایتی با ترتیب بایت شبکه (network byte order) کدگذاری می‌شود\[char46] .TP tunnelSourceIPv4Address: شناسه: 893، و شناسه سازمانی 6876 (VMware)\[char46] .IP نوع: عدد صحیح ۳۲ بیتی بدون علامت\[char46] .IP معناشناسی نوع داده: شناسه (identifier)\[char46] .IP توضیحات: آدرس IPv4 مبدا در هدر بسته IP تونل\[char46] .TP tunnelDestinationIPv4Address: شناسه: 894، و شناسه سازمانی 6876 (VMware)\[char46] .IP نوع: عدد صحیح ۳۲ بیتی بدون علامت\[char46] .IP معناشناسی نوع داده: شناسه (identifier)\[char46] .IP توضیحات: آدرس IPv4 مقصد در هدر بسته IP تونل\[char46] .TP tunnelProtocolIdentifier: شناسه: 895، و شناسه سازمانی 6876 (VMware)\[char46] .IP نوع: عدد صحیح ۸ بیتی بدون علامت\[char46] .IP معناشناسی نوع داده: شناسه (identifier)\[char46] .IP توضیحات: مقدار شماره پروتکل در هدر بسته IP تونل\[char46] شماره پروتکل نوع بار مفید (payload) بسته IP تونل را مشخص می‌کند\[char46] .TP tunnelSourceTransportPort: شناسه: 896، و شناسه سازمانی 6876 (VMware)\[char46] .IP نوع: عدد صحیح ۱۶ بیتی بدون علامت\[char46] .IP معناشناسی نوع داده: شناسه (identifier)\[char46] .IP توضیحات: شناسه پورت مبدا در هدر انتقال (transport) تونل\[char46] برای پروتکل‌های انتقال UDP، TCP و SCTP، این مقدار همان شماره پورت مبدا ارائه‌شده در هدر مربوطه است\[char46] .TP tunnelDestinationTransportPort: شناسه: 897، و شناسه سازمانی 6876 (VMware)\[char46] .IP نوع: عدد صحیح ۱۶ بیتی بدون علامت\[char46] .IP معناشناسی نوع داده: شناسه (identifier)\[char46] .IP توضیحات: شناسه پورت مقصد در هدر انتقال (transport) تونل\[char46] برای پروتکل‌های انتقال UDP، TCP و SCTP، این مقدار همان شماره پورت مقصد ارائه‌شده در هدر مربوطه است\[char46] .RE .IP پیش از نسخه 2\[char46]5\[char46]90 برنامه Open vSwitch، گزینه \fBother_config:enable-tunnel-sampling\fR فقط در نمونه‌برداری به ازای هر پل پشتیبانی می‌شد و در غیر این صورت نادیده گرفته می‌شد\[char46] نسخه 2\[char46]5\[char46]90 و بالاتر Open vSwitch از \fBother_config:enable-tunnel-sampling\fR برای نمونه‌برداری به ازای هر پل و به ازای هر جریان پشتیبانی می‌کنند\[char46] .IP "\fBother_config : virtual_obs_id\fR: رشته اختیاری" رشته‌ای که به همراه هر رکورد جریان IPFIX ارسال می‌شود\[char46] کاربرد موردنظر آن برای «شناسه مشاهده مجازی» (virtual observation ID)، شناسه‌ای برای یک نقطه مشاهده مجازی است که در یک شبکه مجازی به صورت محلی یکتا است\[char46] این مقدار مکانی در شبکه مجازی را که بسته‌های IP در آن قابل مشاهده هستند توصیف می‌کند\[char46] حداکثر طول آن 254 بایت است\[char46] در صورت عدم تعیین، این فیلد از رکورد جریان IPFIX حذف می‌شود\[char46] .IP نهاد سازمانی زیر شناسه مشاهده مجازی مشخص‌شده را گزارش می‌دهد: .RS .TP virtualObsID: شناسه: 898، و شناسه سازمانی 6876 (VMware)\[char46] .IP نوع: رشته با طول متغیر\[char46] .IP معناشناسی نوع داده: شناسه (identifier)\[char46] .IP توضیحات: یک شناسه دامنه مشاهده مجازی که در یک شبکه مجازی به صورت محلی یکتا است\[char46] .RE .IP این قابلیت در نسخه 2\[char46]5\[char46]90 برنامه Open vSwitch معرفی شد\[char46] .ST "نمونه‌برداری به ازای هر پل (Per-Bridge Sampling):" .PP .PP .PP این مقادیر فقط بر نمونه‌برداری به ازای هر پل تاثیر می‌گذارند\[char46] برای توصیف تفاوت‌های میان نمونه‌برداری به ازای هر پل و مبتنی بر جریان، به بالا مراجعه کنید\[char46] .IP "\fBsampling\fR: عدد صحیح اختیاری، در بازه 1 تا 4,294,967,295" نرخی که بسته‌ها باید با آن نمونه‌برداری شده و به هر گردآورنده مقصد ارسال شوند\[char46] در صورت عدم تعیین، مقدار پیش‌فرض 400 است، به این معنی که به طور میانگین از هر 400 بسته، یک بسته به هر گردآورنده مقصد ارسال خواهد شد\[char46] .IP "\fBobs_domain_id\fR: عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295" شناسه دامنه مشاهده (Observation Domain ID) پروتکل IPFIX که در هر بسته IPFIX ارسال می‌شود\[char46] در صورت عدم تعیین، مقدار پیش‌فرض 0 است\[char46] .IP "\fBobs_point_id\fR: عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295" شناسه نقطه مشاهده (Observation Point ID) پروتکل IPFIX که در هر رکورد جریان IPFIX ارسال می‌شود\[char46] در صورت عدم تعیین، مقدار پیش‌فرض 0 است\[char46] .IP "\fBother_config : enable-input-sampling\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" به طور پیش‌فرض، Open vSwitch از جریان‌ها در ورودی پورت پل نمونه‌برداری کرده و آن‌ها را در رکوردهای جریان IPFIX گزارش می‌دهد\[char46] این ستون را روی \fBfalse\fR تنظیم کنید تا نمونه‌برداری ورودی غیرفعال شود\[char46] .IP "\fBother_config : enable-output-sampling\fR: رشته اختیاری، یا \fBtrue\fR یا \fBfalse\fR" به طور پیش‌فرض، Open vSwitch از جریان‌ها در خروجی پورت پل نمونه‌برداری کرده و آن‌ها را در رکوردهای جریان IPFIX گزارش می‌دهد\[char46] این ستون را روی \fBfalse\fR تنظیم کنید تا نمونه‌برداری خروجی غیرفعال شود\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته" .bp .SH "جدول Flow_Sample_Collector_Set (Flow_Sample_Collector_Set TABLE)" .PP .PP .PP مجموعه‌ای از گردآورنده‌های نمونه‌برداری IPFIX یا محلی برای نمونه‌های بسته‌ای که توسط اقدامات \fBsample\fR در OpenFlow ایجاد شده‌اند\[char46] .PP .PP اگر ستون \fBipfix\fR حاوی ارجاعی به یک مدخل معتبر IPFIX باشد، نمونه‌ها از طریق IPFIX ارسال خواهند شد\[char46] این سازوکار به عنوان نمونه‌برداری IPFIX مبتنی بر جریان در برابر نمونه‌برداری مبتنی بر پل شناخته می‌شود (برای شرح این دو شیوه به جدول \fBIPFIX\fR مراجعه کنید)\[char46] .PP .PP اگر ستون \fBlocal_group_id\fR حاوی یک عدد صحیح باشد و مسیر داده (datapath) در حال اجرا از ارسال نمونه محلی پشتیبانی کند، بسته‌ها به یک گردآورنده نمونه محلی ارسال می‌شوند\[char46] نمونه‌ها حاوی شماره گروه مشخص‌شده توسط \fBlocal_group_id\fR خواهند بود که به شناسایی منبع آن‌ها کمک می‌کند، و همچنین یک کوکی ۶۴ بیتی ناشی از الحاق observation_domain_id و observation_point_id با ترتیب بایت شبکه (network byte order)\[char46] نحوه ارسال نمونه و در دسترس قرار گرفتن آن برای گردآورنده‌های محلی وابسته به مسیر داده است\[char46] در حال حاضر تنها مسیر داده کرنل لینوکس از نمونه‌برداری محلی پشتیبانی می‌کند که از طریق ارسال بسته به گروه چندپخشی نت‌لینک \fBpsample\fR پیاده‌سازی شده است\[char46] .PP .PP نکته: هر دو گزینه \fBlocal_group_id\fR و \fBipfix\fR را می‌توان به طور هم‌زمان پیکربندی کرد\[char46] .SS "چکیده (Summary):" .TQ 3.00in \fBid\fR عدد صحیح، در بازه 0 تا 4,294,967,295 .TQ 3.00in \fBbridge\fR \fBBridge\fR .TQ 3.00in \fBipfix\fR \fBIPFIX\fR اختیاری .TQ 3.00in \fBlocal_group_id\fR عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295 .TQ .25in \fIستون‌های مشترک (Common Columns):\fR .RS .25in .TQ 2.75in \fBexternal_ids\fR نگاشتی از جفت‌های رشته-رشته .RE .SS "جزئیات (Details):" .IP "\fBid\fR: عدد صحیح، در بازه 0 تا 4,294,967,295" شناسه این مجموعه گردآورنده، یکتا میان مجموعه‌های گردآورنده پل، برای استفاده به عنوان \fBcollector_set_id\fR در اقدامات \fBsample\fR در OpenFlow\[char46] .IP "\fBbridge\fR: \fBBridge\fR" پلی که می‌توان اقدامات \fBsample\fR در OpenFlow را به آن افزود تا نمونه‌های بسته به این مجموعه از گردآورنده‌های IPFIX ارسال شوند\[char46] .IP "\fBipfix\fR: \fBIPFIX\fR اختیاری" پیکربندی مجموعه گردآورنده‌های IPFIX جهت ارسال یک رکورد جریان به ازای هر بسته نمونه‌برداری‌شده\[char46] .IP "\fBlocal_group_id\fR: عدد صحیح اختیاری، در بازه 0 تا 4,294,967,295" پیکربندی شناسه گروه نمونه برای استفاده در نمونه‌برداری محلی\[char46] .ST "ستون‌های مشترک (Common Columns):" .PP هدف کلی این ستون‌ها ذیل \fBستون‌های مشترک (Common Columns)\fR در ابتدای این سند توصیف شده است\[char46] .IP "\fBexternal_ids\fR: نگاشتی از جفت‌های رشته-رشته" .bp .SH "جدول AutoAttach (AutoAttach TABLE)" .PP .PP .PP پیکربندی اتصال خودکار (Auto Attach) درون یک پل\[char46] پیش‌نویس استاندارد IETF Auto-Attach SPBM روشی فشرده را برای استفاده از پروتکل کشف لایه پیوند IEEE 802\[char46]1AB (LLDP) همراه با یک شبکه پل‌بندی کوتاه‌ترین مسیر IEEE 802\[char46]1aq (SPB) توصیف می‌کند تا به طور خودکار دستگاه‌های شبکه را به سرویس‌های مجزا در یک شبکه SPB متصل نماید\[char46] هدف در اینجا این است که به برنامه‌ها و دستگاه‌های شبکه‌ای که از OVS استفاده می‌کنند امکان داده شود تا به آسانی از ویژگی‌های ارائه‌شده توسط شبکه‌های استاندارد صنعتی SPB بهره‌مند شوند\[char46] .PP .PP اتصال خودکار (Auto Attach یا AA) از پروتکل LLDP برای برقراری ارتباط میان یک کلاینت اتصال خودکار (AAC) و سرور اتصال خودکار (AAS) با اتصال مستقیم استفاده می‌کند\[char46] پروتکل LLDP گسترش یافته تا دو چندتایی جدید نوع\-طول\-مقدار (TLVs) را اضافه کند\[char46] نخستین TLV جدید از کشف مداوم طرف‌های ارتباطی AA متصل به صورت مستقیم پشتیبانی می‌کند\[char46] اتصال خودکار با ارسال منظم TLVهای کشف AA میان کلاینت AA و سرور AA عمل می‌کند\[char46] با تبادل این پیام‌های کشف، هر دو بخش AAC و AAS از نام سیستم و توضیحات سیستم طرف مقابل خود مطلع می‌شوند\[char46] در چارچوب OVS، سیستم OVS به عنوان کلاینت AA عمل می‌کند و سرور AA بر روی سوییچی در لبه شبکه SPB مستقر است\[char46] .PP .PP پس از تکمیل کشف AA، کلاینت AAC از دومین TLV جدید برای ارسال نگاشت‌های شناسه از AAC به AAS استفاده می‌کند\[char46] یکی از ویژگی‌های اصلی Auto Attach تسهیل نگاشت VLANهای تعریف‌شده در خارج از شبکه SPB به شناسه‌های سرویس (ISIDs) تعریف‌شده در داخل شبکه SPB است\[char46] با انجام این کار، VLANهای خارجی مجزا می‌توانند به سرویس‌های مشخصی در شبکه SPB نگاشت شوند\[char46] این نگاشت‌های شناسه VLAN به ISID را می‌توان با استفاده از گزینه‌های جدید اضافه‌شده به دستور ovs\-vsctl به صورت محلی پیکربندی و مدیریت کرد\[char46] .PP .PP قابلیت Auto Attach در OVS پیاده‌سازی کاملی از پروتکل LLDP ارائه نمی‌دهد\[char46] پشتیبانی از TLVهای اجباری مطابق با تعریف استاندارد LLDP و پشتیبانی از الحاقات TLV مربوط به AA فراهم شده است\[char46] پشتیبانی از پروتکل LLDP در OVS را می‌توان پورت‌به‌پورت فعال یا غیرفعال کرد\[char46] پشتیبانی از LLDP به طور پیش‌فرض غیرفعال است\[char46] .SS "چکیده (Summary):" .TQ 3.00in \fBsystem_name\fR رشته .TQ 3.00in \fBsystem_description\fR رشته .TQ 3.00in \fBmappings\fR نگاشتی از جفت‌های عدد صحیح-عدد صحیح، کلید در بازه 0 تا 16,777,215، مقدار در بازه 0 تا 4,095 .SS "جزئیات (Details):" .IP "\fBsystem_name\fR: رشته" رشته system_name در پیام‌های LLDP صادر می‌شود\[char46] این رشته باید پل را در شبکه به طور یکتا مشخص کند\[char46] .IP "\fBsystem_description\fR: رشته" رشته system_description در پیام‌های LLDP صادر می‌شود\[char46] این رشته باید نوع نرم‌افزار و سخت‌افزار را شرح دهد\[char46] .IP "\fBmappings\fR: نگاشتی از جفت‌های عدد صحیح-عدد صحیح، کلید در بازه 0 تا 16,777,215، مقدار در بازه 0 تا 4,095" نگاشتی از شناسه سرویس مجزای (ISID) شبکه SPB به شناسه VLAN\[char46]