.TH PTP4l 8 "March 2024" "linuxptp" .SH "نام (NAME)" ptp4l \- ساعت مرزی/معمولی/شفاف پروتکل PTP .SH "خلاصه دستور (SYNOPSIS)" .B ptp4l [ .B \-AEP246HSLmqsv ] [ .BI \-f " config" ] [ .BI \-p " phc-device" ] [ .BI \-l " print-level" ] [ .BI \-i " interface" ] [ .I long-options ] .I .\|.\|. .SH "توضیحات (DESCRIPTION)" دستور .B ptp4l یک پیاده‌سازی از «پروتکل زمان دقیق» (PTP) بر اساس استاندارد IEEE 1588 برای لینوکس است. این ابزار ساعت مرزی (Boundary Clock \- BC)، ساعت معمولی (Ordinary Clock \- OC) و ساعت شفاف (Transparent Clock \- TC) را پیاده‌سازی می‌کند. .SH "گزینه‌ها (OPTIONS)" .TP .B \-A سازوکار تأخیر را به صورت خودکار انتخاب می‌کند. با روش E2E شروع کرده و پس از دریافت یک درخواست تأخیر همتا (peer delay request)، به روش P2P تغییر حالت می‌دهد. .TP .B \-E سازوکار درخواست\-پاسخ تأخیر (E2E) را انتخاب می‌کند. این سازوکار پیش‌فرض است. تمام ساعت‌ها در یک مسیر ارتباطی منفرد PTP باید از سازوکار یکسانی استفاده کنند. در صورت دریافت درخواست تأخیر همتا روی پورتی که از سازوکار E2E استفاده می‌کند، یک هشدار نمایش داده می‌شود. .TP .B \-P سازوکار تأخیر همتا (P2P) را انتخاب می‌کند. در صورت دریافت درخواست تأخیر روی پورتی که از سازوکار P2P استفاده می‌کند، یک هشدار نمایش داده می‌شود. .TP .B \-2 انتقال شبکه بر بستر IEEE 802.3 را انتخاب می‌کند. .TP .B \-4 انتقال شبکه بر بستر UDP IPv4 را انتخاب می‌کند. این انتقال پیش‌فرض است. .TP .B \-6 انتقال شبکه بر بستر UDP IPv6 را انتخاب می‌کند. .TP .B \-H برچسب‌گذاری زمانی سخت‌افزاری را انتخاب می‌کند. تمام پورت‌های مشخص‌شده با گزینه .B \-i و در فایل پیکربندی باید به یک ساعت سخت‌افزاری PTP (موسوم به PHC) یکسان متصل باشند. این روش برچسب‌گذاری زمانی پیش‌فرض است. .TP .B \-S برچسب‌گذاری زمانی نرم‌افزاری را انتخاب می‌کند. .TP .B \-L برچسب‌گذاری زمانی سخت‌افزاری قدیمی (legacy) را انتخاب می‌کند. .TP .BI \-f " config" پیکربندی را از فایل مشخص‌شده می‌خواند. به‌طور پیش‌فرض هیچ فایل پیکربندی خوانده نمی‌شود. .TP .BI \-i " interface" یک پورت PTP را مشخص می‌کند، این گزینه می‌تواند چندین بار استفاده شود. حداقل یک پورت باید از طریق این گزینه یا در فایل پیکربندی مشخص شود. .TP .BI \-p " phc-device" (این گزینه منسوخ شده است.) پیش از نگارش 3.5 هسته لینوکس راهی برای شناسایی خودکار دستگاه PHC مرتبط با یک رابط شبکه وجود نداشت. این گزینه دستگاه PHC (مانند ‎/dev/ptp0) مورد استفاده در هسته‌های قدیمی را مشخص می‌کند. .TP .B \-s حالت clientOnly را فعال می‌کند. .TP .BI \-l " print-level" حداکثر سطح لاگ سیستمی (syslog) پیام‌هایی را که باید چاپ شده یا به ثبت‌کننده لاگ سیستم ارسال شوند تعیین می‌کند. پیش‌فرض 6 (LOG_INFO) است. .TP .B \-m پیام‌ها را در خروجی استاندارد چاپ می‌کند. .TP .B \-q پیام‌ها را به ثبت‌کننده لاگ سیستم ارسال نمی‌کند. .TP .B \-v نسخه نرم‌افزار را نمایش می‌دهد و خارج می‌شود. .TP .BI \-h پیام راهنما را نمایش می‌دهد. .SH "گزینه‌های بلند (LONG OPTIONS)" تک‌تک گزینه‌های فایل پیکربندی (زیر را ببینید) می‌توانند به صورت آرگومان خط فرمان با سبک «بلند» (long) نیز ظاهر شوند. برای نمونه، گزینه clientOnly می‌تواند با هر یک از این دو قالب تنظیم شود: .RS \f(CW\-\-clientOnly 1 \-\-clientOnly=1\fP .RE مقادیر گزینه‌های ارائه‌شده در خط فرمان، مقادیر بخش سراسری (global) فایل پیکربندی را بازنویسی می‌کنند (override). .SH "فایل پیکربندی (CONFIGURATION FILE)" فایل پیکربندی به بخش‌های مختلفی تقسیم می‌شود. هر بخش با خطی شامل نام آن درون قلاب‌ها (کروشه‌ها) آغاز شده و با تنظیمات دنبال می‌شود. هر تنظیم در یک خط جداگانه قرار می‌گیرد که شامل نام گزینه و مقدار آن است که با نویسه‌های فاصله از هم جدا شده‌اند. خطوط خالی و خطوطی که با # آغاز می‌شوند نادیده گرفته خواهند شد. سه نوع بخش مختلف وجود دارد: .TP .B 1. بخش سراسری (که با .BR [global] مشخص می‌شود) گزینه‌های برنامه، گزینه‌های ساعت و گزینه‌های پیش‌فرض پورت را تنظیم می‌کند. بخش‌های دیگر به پورت‌های خاص اختصاص دارند و گزینه‌های پیش‌فرض پورت را بازنویسی می‌کنند. .TP .B 2. بخش‌های پورت نام پورت پیکربندی‌شده را مشخص می‌کنند (برای نمونه .BR [eth0] ). پورت‌های مشخص‌شده در فایل پیکربندی نیازی به تعیین مجدد با گزینه .B \-i ندارند. یک بخش خالی پورت می‌تواند به جای گزینه خط فرمان استفاده شود. .TP .B 3. جدول‌های مربوط به پیکربندی کشف تک‌پخشی با .B \%[unicast_master_table] آغاز می‌شوند. بخش «گزینه‌های کشف تک‌پخشی (UNICAST DISCOVERY OPTIONS)» در ادامه را ببینید. .SH "گزینه‌های پورت (PORT OPTIONS)" .TP .B active_key_id همراه با دستورالعمل‌های \fBspp\fR و \fBsa_file\fR استفاده می‌شود تا مشخص کند کدام کلید از «ارتباط امنیتی» (Security Association) تعریف‌شده توسط \fBspp\fR باید برای محاسبات icv خروجی استفاده شود. تمام ارتباط‌های امنیتی از فایل مشخص‌شده توسط \fBsa_file\fR خوانده می‌شوند. نیازمند دستورالعمل‌های \fBspp\fR و \fBsa_file\fR است. مقدار باید در محدوده 1 تا 1\-2^32 (شامل هر دو) باشد. پیش‌فرض 0 (غیرفعال) است. .TP .B allowedLostResponses تعداد پاسخ‌های از دست‌رفته تأخیر همتا (peer delay responses) پیش از بازنشانی متغیر asCapable. پیش‌فرض 3 است. .TP .B announceReceiptTimeout تعداد پیام‌های اعلان (Announce) دریافت‌نشده پیش از انقضای آخرین پیام اعلان. پیش‌فرض 3 است. .TP .B boundary_clock_jbod هنگام اجرا به عنوان ساعت مرزی (یعنی زمانی که بیش از یک رابط شبکه پیکربندی شده باشد)، دستور ptp4l یک بررسی صحت انجام می‌دهد تا مطمئن شود تمام پورت‌ها از یک دستگاه ساعت سخت‌افزاری مشترک استفاده می‌کنند. این گزینه به ptp4l اجازه می‌دهد تا به عنوان ساعت مرزی با مجموعه‌ای از دستگاه‌ها ("just a bunch of devices") که با یکدیگر همگام نیستند کار کند. برای این حالت، مجموعه ساعت‌ها باید توسط یک برنامه بیرونی، برای نمونه phc2sys(8) در حالت "automatic"، همگام‌سازی شوند. پیش‌فرض 0 (غیرفعال) است. .TP .B cmlds.client_address آدرس مبدأ برای سوکت دامنه یونیکس (UNIX domain socket) را مشخص می‌کند که اندازه‌گیری تأخیر همتا را هنگام استفاده از سازوکار تأخیر "COMMON_P2P" دریافت می‌نماید. پیش‌فرض ‎/var/run/cmlds_client است. .TP .B cmlds.domainNumber فیلد پیام domainNumber را برای ارتباطات با «سرویس تأخیر پیوند میانگین مشترک» (Common Mean Link Delay Service) محلی، که با سازوکار تأخیر "COMMON_P2P" استفاده می‌شود، مشخص می‌کند. پیش‌فرض 0 است. .TP .B cmlds.majorSdoId فیلد پیام transportSpecific را برای ارتباطات با «سرویس تأخیر پیوند میانگین مشترک» محلی، مورد استفاده در سازوکار تأخیر "COMMON_P2P"، مشخص می‌کند. پیش‌فرض 2 است. .TP .B cmlds.port شماره پورت «سرویس تأخیر پیوند میانگین مشترک» محلی را که باید اندازه‌گیری‌های تأخیر از آن پذیرفته شود، مشخص می‌کند. محدوده شماره پورت‌های معتبر ۱ تا ۶۵۵۳۵ است، اما مقدار ویژه صفر، شماره پورت را همان پورتی که درخواست اندازه‌گیری داده پیکربندی می‌کند. پیش‌فرض 0 (به معنای شماره پورت درخواست‌کننده) است. .TP .B cmlds.server_address آدرس سوکت دامنه یونیکس سرویس تأخیر پیوند میانگین مشترک محلی را برای استفاده با سازوکار تأخیر "COMMON_P2P" مشخص می‌کند. پیش‌فرض ‎/var/run/cmlds_server است. .TP .B delayAsymmetry اختلاف زمانی بر حسب نانوثانیه بین مسیرهای ارسال و دریافت. این مقدار زمانی که زمان انتشار از سرور به کلاینت طولانی‌تر باشد باید مثبت و زمانی که زمان کلاینت به سرور طولانی‌تر باشد باید منفی باشد. پیش‌فرض 0 نانوثانیه است. .TP .B delay_filter الگوریتم مورد استفاده برای فیلتر کردن تأخیر اندازه‌گیری‌شده و تأخیر همتا را انتخاب می‌کند. مقادیر ممکن moving_average و moving_median هستند. پیش‌فرض moving_median است. .TP .B delay_filter_length طول فیلتر تأخیر بر حسب تعداد نمونه‌ها. پیش‌فرض 10 است. .TP .B delay_mechanism سازوکار تأخیر را انتخاب می‌کند. مقادیر ممکن عبارتند از Auto ،COMMON_P2P ،E2E ،P2P و NONE. پیش‌فرض E2E است. .TP .B delay_response_timeout تعداد پیام‌های پاسخ تأخیر که ممکن است پیش از فعال شدن خطای همگام‌سازی مفقود شوند. تنظیم این گزینه روی صفر، مهلت زمانی پاسخ تأخیر را غیرفعال می‌کند. پیش‌فرض 0 یا غیرفعال است. .TP .B egressLatency اختلاف بر حسب نانوثانیه بین زمان ارسال واقعی در صفحه مرجع و برچسب زمانی ارسال گزارش‌شده را مشخص می‌کند. این مقدار به برچسب‌های زمانی خروج (egress) به دست آمده از سخت‌افزار اضافه می‌شود. پیش‌فرض 0 است. .TP .B fault_badpeernet_interval مدت زمان بر حسب ثانیه بین تشخیص پیکربندی نادرست شبکه همتا و بازنشانی خطا. پورت در طول این مدت غیرفعال می‌شود. مقدار بر حسب ثانیه است و کلمه کلیدی ویژه ASAP اجازه می‌دهد خطا بلافاصله بازنشانی شود. پیش‌فرض 16 ثانیه است. .TP .B fault_reset_interval مدت زمان بر حسب ثانیه بین تشخیص خطای یک پورت و بازنشانی آن خطا. این مقدار به صورت توانی از دو بیان می‌شود. تنظیم این مقدار روی 128\- یا کلمه کلیدی ویژه "ASAP" اجازه می‌دهد خطا بلافاصله بازنشانی شود. پیش‌فرض 4 (16 ثانیه) است. .TP .B follow_up_info در صورت فعال بودن، داده‌های 802.1AS را در پیام‌های Follow_Up درج می‌کند. پیش‌فرض 0 (غیرفعال) است. .TP .B G.8275.portDS.localPriority پروفایل‌های مخابراتی (ITU\-T G.8275.1 و G.8275.2) یک «الگوریتم بهترین ساعت مرجع» (BMCA) جایگزین را با الگوریتم مقایسه مجموعه داده‌های منحصر‌به‌فرد مشخص می‌کنند. مقدار این گزینه با پیام‌های Announce که به یک پورت خاص می‌رسند مرتبط است و هر زمان که clockClass ،clockAccuracy ،offsetScaledLogVariance و priority2 برابر باشند، به عنوان تعیین‌کننده نهایی (tie breaker) استفاده می‌شود. این گزینه تنها زمانی کاربرد دارد که "dataset_comparison" روی "G.8275.x" تنظیم شده باشد. مقدار پیش‌فرض 128 است. هشدار: BMCA تنها در صورت استفاده از مقادیر پیش‌فرض G.8275.defaultDS.localPriority و G.8275.portDS.localPriority تضمین می‌کند که یک درخت پوشا (یعنی یک شبکه زمان‌بندی بدون حلقه) ایجاد شود. هنگام استفاده از مقادیر غیرپیش‌فرض، مهندسی دقیق شبکه ضروری است. .TP .B hybrid_e2e سازوکار تأخیر «ترکیبی» (hybrid) برگرفته از پیش‌نویس Enterprise Profile را فعال می‌کند. در صورت فعال بودن، پورت‌ها در وضعیت کلاینت، پیام‌های درخواست تأخیر خود را به آدرس تک‌پخشی (unicast) برگرفته از پیام اعلان سرور ارسال می‌کنند. پورت‌ها در وضعیت سرور به درخواست‌های تأخیر تک‌پخشی با استفاده از پاسخ‌های تأخیر تک‌پخشی پاسخ خواهند داد. این گزینه در صورتی که delay_mechanism روی P2P تنظیم شده باشد، تأثیری ندارد. پیش‌فرض 0 (غیرفعال) است. .TP .B ignore_transport_specific به‌طور پیش‌فرض، پیام‌های دریافتی در صورتی که فیلد transportSpecific آن‌ها با مقدار پیکربندی‌شده مطابقت نداشته باشد، دور انداخته می‌شوند. با این حال، بسیاری از روش‌های انتقال مشخص‌شده در استاندارد 1588، نادیده گرفتن این فیلد را الزامی می‌کنند. علاوه بر این، برخی از تجهیزات بیت‌های رزروشده را مقداردهی می‌کنند. پیکربندی این گزینه روی 1 باعث می‌شود این فیلد هنگام دریافت کاملاً نادیده گرفته شود. پیش‌فرض 0 است. .TP .B ingressLatency اختلاف بر حسب نانوثانیه بین برچسب زمانی دریافت گزارش‌شده و زمان دریافت واقعی در صفحه مرجع را مشخص می‌کند. این مقدار از برچسب‌های زمانی ورود (ingress) به دست آمده از سخت‌افزار کسر خواهد شد. پیش‌فرض 0 است. .TP .B inhibit_delay_req از ارسال هرگونه درخواست تأخیر جلوگیری می‌کند. این مورد مستلزم تنظیم گزینه پیکربندی asCapable روی 'true' است. این گزینه هنگام اجرا به عنوان یک سرور اختصاصی که نیازی به محاسبه آفست از کلاینت ندارد، مفید است. پیش‌فرض 0 (غیرفعال) است. .TP .B inhibit_multicast_service برخی از پروفایل‌های حالت تک‌پخشی تأکید دارند که هیچ پیام چندپخشی (multicast) هرگز نباید ارسال شود. تنظیم این گزینه مانع ارسال چندپخشی می‌شود. پیش‌فرض 0 (چندپخشی فعال) است. .TP .B logAnnounceInterval میانگین فاصله زمانی بین پیام‌های Announce. فاصله کوتاه‌تر باعث می‌شود ptp4l نسبت به تغییرات در سلسله‌مراتب کلاینت/سرور سریع‌تر واکنش نشان دهد. این فاصله باید در کل دامنه یکسان باشد. این مقدار به صورت توانی از دو بر حسب ثانیه مشخص می‌شود. پیش‌فرض 1 (2 ثانیه) است. .TP .B logMinDelayReqInterval حداقل میانگین فاصله زمانی مجاز بین پیام‌های Delay_Req. فاصله کوتاه‌تر باعث می‌شود ptp4l نسبت به تغییرات در تأخیر مسیر سریع‌تر واکنش نشان دهد. این مقدار به صورت توانی از دو بر حسب ثانیه مشخص می‌شود. پیش‌فرض 0 (1 ثانیه) است. .TP .B logMinPdelayReqInterval حداقل میانگین فاصله زمانی مجاز بین پیام‌های Pdelay_Req. این مقدار به صورت توانی از دو بر حسب ثانیه مشخص می‌شود. پیش‌فرض 0 (1 ثانیه) است. .TP .B logSyncInterval میانگین فاصله زمانی بین پیام‌های Sync. فاصله کوتاه‌تر ممکن است دقت ساعت محلی را بهبود بخشد. این مقدار به صورت توانی از دو بر حسب ثانیه مشخص می‌شود. پیش‌فرض 0 (1 ثانیه) است. .TP .B masterOnly این گزینه منسوخ شده و در نگارش‌های آینده حذف خواهد شد. به جای آن از "serverOnly" استفاده کنید. .TP .B min_neighbor_prop_delay حد پایین برای تأخیر همتا بر حسب نانوثانیه. اگر تأخیر همتای تخمین‌زده‌شده کوچک‌تر از این مقدار باشد، پورت به عنوان فاقد قابلیت 802.1AS علامت‌گذاری می‌شود. .TP .B neighborPropDelayThresh حد بالای تأخیر همتا بر حسب نانوثانیه. اگر تأخیر همتای تخمین‌زده‌شده بزرگ‌تر از این مقدار باشد، پورت به عنوان فاقد قابلیت 802.1AS علامت‌گذاری می‌شود. .TP .B network_transport انتقال شبکه را انتخاب می‌کند. مقادیر ممکن عبارتند از UDPv4 ،UDPv6 و L2. پیش‌فرض UDPv4 است. .TP .B net_sync_monitor پروتکل «پایش همگام‌سازی شبکه» (NetSync Monitor \- NSM) را فعال می‌کند. پروتکل NSM به یک ایستگاه امکان می‌دهد بسنجد که یک گره دیگر تا چه اندازه خوب همگام شده است. مانیتور یک درخواست تأخیر تک‌پخشی به گره ارسال می‌کند و گره بدون قید و شرط با پاسخ‌های تأخیر تک‌پخشی، sync و پیام‌های follow up پاسخ می‌دهد. اگر مانیتور با GM همگام شده باشد، می‌تواند از برچسب‌های زمانی در پیام برای تخمین آفست گره استفاده کند. این گزینه مستلزم فعال بودن گزینه 'hybrid_e2e' نیز هست. پیش‌فرض 0 (غیرفعال) است. .TP .B operLogPdelayReqInterval فاصله زمانی پیام‌های درخواست Pdelay که پس از ورود ساعت به وضعیت SERVO_LOCKED_STABLE استفاده می‌شود. اگر گزینه 'msg_interval_request' تنظیم شده باشد، پورت کلاینت محلی این نرخ را هنگامی که ساعت محلی وارد وضعیت "locked stable" می‌شود، اتخاذ خواهد کرد. این گزینه به صورت توانی از دو بر حسب ثانیه مشخص می‌شود و مقدار پیش‌فرض آن 0 (1 ثانیه) است. .TP .B operLogSyncInterval فاصله زمانی پیام Sync که پس از ورود ساعت به وضعیت SERVO_LOCKED_STABLE درخواست می‌شود. اگر گزینه 'msg_interval_request' تنظیم شده باشد، پورت کلاینت محلی از سرور راه دور درخواست می‌کند تا از طریق یک پیام سیگنال‌دهی حاوی TLV درخواست فاصله پیام، به نرخ پیام ارائه‌شده تغییر وضعیت دهد. این گزینه به صورت توانی از دو بر حسب ثانیه مشخص می‌شود و مقدار پیش‌فرض آن 0 (1 ثانیه) است. .TP .B path_trace_enabled سازوکار مورد استفاده برای ردیابی مسیر پیام‌های Announce را فعال می‌کند. پیش‌فرض 0 (غیرفعال) است. .TP .B phc_index شاخص PHC مورد استفاده برای همگام‌سازی با برچسب‌گذاری زمانی سخت‌افزاری را مشخص می‌کند. این گزینه با ساعت‌های مجازی که روی یک ساعت فیزیکی در حال اجرا آزادانه (ایجاد شده با نوشتن در ‎/sys/class/ptp/ptp*/n_vclocks) اجرا می‌شوند، کاربرد دارد. پیش‌فرض 1\- است، به این معنی که شاخص روی PHC مرتبط با رابط، یا دستگاه مشخص‌شده با گزینه \fB\-p\fP تنظیم خواهد شد. .TP .B power_profile.2011.grandmasterTimeInaccuracy میزان عدم دقت زمانی GM را بر حسب نانوثانیه مشخص می‌کند. تنها زمانی کاربرد دارد که power_profile.version برابر 2011 باشد. این مقدار می‌تواند به صورت پویا با استفاده از پیام مدیریتی POWER_PROFILE_SETTINGS_NP تغییر داده شود. پیش‌فرض 1\- به معنای عدم دقت ناشناخته است. .TP .B power_profile.2011.networkTimeInaccuracy میزان عدم دقت زمانی شبکه را بر حسب نانوثانیه مشخص می‌کند. تنها زمانی کاربرد دارد که power_profile.version برابر 2011 باشد. این مقدار می‌تواند به صورت پویا با استفاده از پیام مدیریتی POWER_PROFILE_SETTINGS_NP تغییر کند. پیش‌فرض 1\- به معنای عدم دقت ناشناخته است. .TP .B power_profile.2017.totalTimeInaccuracy مجموع عدم دقت‌های GM، شبکه و گره محلی را بر حسب نانوثانیه مشخص می‌کند. تنها زمانی کاربرد دارد که power_profile.version برابر 2017 باشد. این مقدار می‌تواند به صورت پویا با استفاده از پیام مدیریتی POWER_PROFILE_SETTINGS_NP تغییر یابد. پیش‌فرض 1\- به معنای عدم دقت ناشناخته است. .TP .B power_profile.grandmasterID یک کد شناسایی اختیاری و غیرصفر برای GM مشخص می‌کند. توجه داشته باشید که این کد یک عدد صحیح اختیاری و مختص پروفایل توان است و الزاماً هیچ ارتباطی با clockIdentity ندارد. این مقدار می‌تواند به صورت پویا با استفاده از پیام مدیریتی POWER_PROFILE_SETTINGS_NP تغییر یابد. پیش‌فرض 0 به معنای استفاده‌نشده است. .TP .B power_profile.version نگارش پروفایل توان (power profile) مورد استفاده را مشخص می‌کند. مقادیر معتبر عبارتند از "none" ،"2011" یا "2017". این مقدار می‌تواند به صورت پویا با استفاده از پیام مدیریتی POWER_PROFILE_SETTINGS_NP تغییر داده شود. پیش‌فرض "none" است. .TP .B ptp_dst_ipv4 آدرس IPv4 که پیام‌های PTP باید به آن ارسال شوند. تنها با انتقال UDPv4 کاربرد دارد. پیش‌فرض 224.0.1.129 است. .TP .B p2p_dst_ipv4 آدرس IPv4 که پیام‌های تأخیر همتا باید به آن ارسال شوند. تنها با انتقال UDPv4 کاربرد دارد. پیش‌فرض 224.0.0.107 است. .TP .B ptp_dst_ipv6 آدرس IPv6 که پیام‌های PTP باید به آن ارسال شوند. بایت دوم آدرس با udp6_scope جایگزین می‌شود. تنها با انتقال UDPv6 کاربرد دارد. پیش‌فرض FF0E:0:0:0:0:0:0:181 است. .TP .B p2p_dst_ipv6 آدرس IPv6 که پیام‌های تأخیر همتا باید به آن ارسال شوند. تنها با انتقال UDPv6 کاربرد دارد. پیش‌فرض FF02:0:0:0:0:0:0:6B است. .TP .B ptp_dst_mac آدرس MAC که پیام‌های PTP باید به آن ارسال شوند. تنها با انتقال L2 کاربرد دارد. پیش‌فرض 01:1B:19:00:00:00 است. .TP .B p2p_dst_mac آدرس MAC که پیام‌های تأخیر همتا باید به آن ارسال شوند. تنها با انتقال L2 کاربرد دارد. پیش‌فرض 01:80:C2:00:00:0E است. .TP .B serverOnly تنظیم این گزینه روی یک (1) مانع از ورود پورت به وضعیت کلاینت می‌شود. علاوه بر این، ساعت محلی پیام‌های Announce دریافت‌شده روی این پورت را نادیده می‌گیرد. کاربرد مورد نظر این گزینه، پشتیبانی از پروفایل‌های مخابراتی بر اساس استانداردهای ITU\-T G.8265.1 ،G.8275.1 و G.8275.2 است. مقدار پیش‌فرض صفر یا false است. .TP .B spp اشاره‌گر پارامترهای امنیتی (Security Parameters Pointer) مربوط به «ارتباط امنیتی» (Security Association) مورد نظر را برای پشتیبانی از Authentication TLV برای یک پورت خاص مشخص می‌کند. هر پورتی با spp اختصاص‌یافته، Authentication TLVها را به تمام پیام‌های خروجی پیوست کرده و پیام‌های ورودی را بر اساس ارتباط امنیتی مربوطه که از دستورالعمل \fBsa_file\fR تأمین می‌شود، برای وجود Authentication TLV بررسی می‌کند. Authentication TLVهای خروجی با استفاده از کلید مشخص‌شده توسط \fBactive_key_id\fR تولید می‌شوند. با پورت‌های تک‌مرحله‌ای (one step) یا نسخه‌های اعلان‌شده کمتر از PTPv2.1 سازگار نیست. به دستورالعمل‌های \fBsa_file\fR و \fBactive_key_id\fR نیاز دارد. باید در محدوده 0 تا 255 (شامل هر دو) باشد. پیش‌فرض 1\- (غیرفعال) است. .TP .B syncReceiptTimeout تعداد پیام‌های sync/follow up که ممکن است پیش از راه‌اندازی فرآیند انتخاب بهترین ساعت مرجع (BMCA) مفقود شوند. این گزینه برای اجرا در حالت gPTP طبق استاندارد 802.1AS\-2011 استفاده می‌شود. تنظیم این گزینه روی صفر، مهلت زمانی پیام همگام‌سازی را غیرفعال می‌کند. پیش‌فرض 0 یا غیرفعال است. .TP .B transportSpecific فیلد ویژه انتقال (transport specific). باید در محدوده 0 تا 255 باشد. پیش‌فرض 0 است. .TP .B tsproc_mode حالت پردازش برچسب زمانی را برای محاسبه آفست و تأخیر انتخاب می‌کند. مقادیر ممکن عبارتند از filter ،raw ،filter_weight و raw_weight. حالت‌های Raw زمانی که نرخ پیام‌های sync (گزینه logSyncInterval) به نرخ پیام‌های delay (گزینه logMinDelayReqInterval یا logMinPdelayReqInterval) نزدیک باشد، به خوبی عمل می‌کنند. وزن‌دهی (weighting) با جیترهای شبکه بزرگتر (مانند برچسب‌گذاری زمانی نرم‌افزاری) کاربرد دارد. پیش‌فرض filter است. .TP .B udp_ttl مقدار «طول عمر» (TTL) را برای پیام‌های چندپخشی IPv4 و محدودیت تعداد پرش (hop limit) را برای پیام‌های چندپخشی IPv6 مشخص می‌کند. این گزینه تنها با روش‌های انتقال IPv4 و IPv6 UDP ارتباط دارد. مقدار پیش‌فرض 1 است تا پیام‌های ارسالی توسط .B ptp4l را به همان زیرشبکه محدود کند. .TP .B unicast_listen در صورت فعال بودن، این گزینه به پورت اجازه می‌دهد قراردادهای پیام تک‌پخشی را بپذیرد. به درخواست‌های ورودی تنها تا سقف حافظه موجود پاسخ داده خواهد شد. پیش‌فرض 0 (غیرفعال) است. .TP .B unicast_master_table هنگامی که روی یک عدد صحیح مثبت تنظیم شود، این گزینه شناسه جدول مورد استفاده برای کشف تک‌پخشی را مشخص می‌کند. هر جدول در بخش اختصاصی خود قرار دارد و دارای شناسه عددی مثبت و منحصربه‌فرد است. ورودی‌های جدول یک جفت از نوع انتقال و آدرس پروتکل هستند. پیش‌فرض 0 (کشف تک‌پخشی غیرفعال) است. .TP .B unicast_req_duration مدت‌زمان سرویس بر حسب ثانیه که باید در طول فرآیند کشف تک‌پخشی درخواست شود. توجه داشته باشید که گره راه دور مجاز است مدت‌زمان متفاوتی را ارائه دهد. پیش‌فرض 3600 ثانیه یا یک ساعت است. .SH "گزینه‌های برنامه و ساعت (PROGRAM AND CLOCK OPTIONS)" .TP .B asCapable اگر روی 'true' تنظیم شود، تمام بررسی‌هایی که می‌توانند متغیر asCapable را لغو کنند (همان‌طور که در بخش 10.2.4.1 از 802.1AS شرح داده شده) نادیده گرفته می‌شوند. اگر روی 'auto' تنظیم شود، asCapable با 'false' مقداردهی اولیه شده و پس از موفقیت در بررسی‌های مربوطه، روی 'true' تنظیم خواهد شد. مقدار پیش‌فرض 'auto' است. .TP .B assume_two_step در صورت فعال بودن، پاسخ‌های تک‌مرحله‌ای (one-step) را به عنوان دو‌مرحله‌ای (two-step) در نظر می‌گیرد. این گزینه برای رفع اشکال سوئیچ‌های معیوب 802.1AS استفاده می‌شود. پیش‌فرض 0 (غیرفعال) است. .TP .B BMCA این گزینه استفاده از نقش‌های ایستا را برای دستگاه‌های سرور و کلاینت به جای اجرای «الگوریتم بهترین ساعت مرجع» (BMCA) شرح داده شده در پروفایل 1588 فعال می‌کند. این کار می‌تواند برای سرعت بخشیدن به زمان راه‌اندازی سرورها و کلاینت‌ها هنگامی که نقش دستگاه‌ها را از قبل می‌دانید استفاده شود. هنگامی که روی 'noop' تنظیم شود، الگوریتم سنتی BMCA مورد استفاده در 1588 نادیده گرفته می‌شود. گزینه‌های masterOnly و clientOnly برای تعیین نقش سرور یا کلاینت دستگاه استفاده خواهند شد. در یک پل (bridge)، گزینه clientOnly (که یک گزینه سراسری است) می‌تواند تنظیم شود تا تمام پورت‌ها نقش کلاینت را بر عهده بگیرند. سپس می‌توان از masterOnly (که یک گزینه پیکربندی به ازای هر پورت است) استفاده کرد تا پورت‌های جداگانه نقش سرور را بر عهده بگیرند. مقدار پیش‌فرض 'ptp' است که ماشین‌های حالت مرتبط با BMCA را اجرا می‌کند. .TP .B check_fup_sync به دلیل تغییر ترتیب بسته‌ها که ممکن است در شبکه، سخت‌افزار یا پشته شبکه رخ دهد، ممکن است یک پیام follow up زودتر از پیام sync متناظر خود به برنامه برسد. از آنجا که این یک رویداد طبیعی است و فیلد پیام sequenceID تطابق مناسب را تضمین می‌کند، برنامه ptp4l بسته‌های خارج از ترتیب را می‌پذیرد. این گزینه یک بررسی اضافی را با استفاده از برچسب‌های زمانی نرم‌افزاری پشته شبکه اضافه می‌کند تا تأیید کند که پیام sync واقعاً اول رسیده است. این گزینه تنها در صورتی مفید است که به شناسه‌های توالی (sequence IDs) تولیدشده توسط سرور اعتماد نداشته باشید. پیش‌فرض 0 (غیرفعال) است. .TP .B clientOnly در صورت فعال بودن، ساعت محلی یک ساعت فقط‌کلاینت است. پیش‌فرض 0 (غیرفعال) است. .TP .B clockAccuracy صفت clockAccuracy برای ساعت محلی. در الگوریتم انتخاب سرور PTP استفاده می‌شود. پیش‌فرض 0xFE است. .TP .B clockClass صفت clockClass برای ساعت محلی. این گزینه بیانگر قابلیت ردیابی زمانی توزیع‌شده توسط ساعت مرجع اصلی (grandmaster clock) است. پیش‌فرض 248 است. .TP .B clock_class_threshold حداکثر مقدار clock class از طرف ساعت مرجع (master) که برای ساعت پیرو (sub-ordinate) قابل قبول است و فراتر از آن از وضعیت قفل خارج می‌شود. مقدار پیش‌فرض 248 است. .TP .B clockIdentity صفت clockIdentity برای ساعت محلی. صفت clockIdentity یک آرایه ۸ اوکتتی است و در این پیکربندی باید به صورت متنی نوشته شود، مقدار پیش‌فرض را ببینید. این مقدار باید منحصربه‌فرد باشد زیرا برای شناسایی ساعت مشخص استفاده می‌شود. اگر از مقدار پیش‌فرض استفاده شود یا اصلاً تنظیم نشود، clockIdentity به صورت خودکار تولید خواهد شد. پیش‌فرض "000000.0000.000000" است. .TP .B clock_servo سروویی (servo) که برای همگام‌سازی ساعت محلی استفاده می‌شود. مقادیر معتبر عبارتند از "pi" برای یک کنترل‌کننده PI، مقدار "linreg" برای یک کنترل‌کننده تطبیقی با استفاده از رگرسیون خطی، "ntpshm" و "refclock_sock" به ترتیب برای ساعت‌های مرجع NTP SHM و chrony SOCK جهت اجازه دادن به فرآیندی دیگر برای همگام‌سازی ساعت محلی، و "nullf" برای سروویی که همیشه آفست فرکانس صفر را اعمال می‌کند (برای استفاده در گره‌های SyncE). پیش‌فرض "pi" است. .TP .B clock_type نوع ساعت PTP را مشخص می‌کند. مقادیر معتبر عبارتند از "OC" برای ساعت معمولی، "BC" برای ساعت مرزی، "P2P_TC" برای ساعت شفاف همتا به همتا (peer to peer transparent clock)، و "E2E_TC" برای ساعت شفاف سرتاسری (end to end transparent clock). یک ساعت معمولی چندپورته به طور خودکار به عنوان ساعت مرزی پیکربندی می‌شود. پیش‌فرض "OC" است. .TP .B dataset_comparison روشی را که هنگام مقایسه مجموعه‌های داده در الگوریتم بهترین ساعت مرجع استفاده می‌شود، مشخص می‌کند. مقادیر ممکن "ieee1588" و "G.8275.x" هستند. پیش‌فرض "ieee1588" است. .TP .B domainNumber صفت دامنه برای ساعت محلی. پیش‌فرض 0 است. .TP .B dscp_event کدپوینت خدمات متمایز (DSCP) را برای پیام‌های رویداد PTP تعریف می‌کند. باید مقداری بین 0 تا 63 باشد. چندین استاندارد پخش رسانه‌ای وجود دارند که مقادیر خاصی را برای این گزینه الزامی می‌کنند. برای نمونه 46 (EF PHB) در AES67 یا 48 (CS6 PHB) در RAVENNA. پیش‌فرض 0 است. .TP .B dscp_general کدپوینت خدمات متمایز (DSCP) را برای پیام‌های عمومی PTP تعریف می‌کند. باید مقداری بین 0 تا 63 باشد. چندین استاندارد پخش رسانه‌ای وجود دارند که مقادیر خاصی را برای این گزینه توصیه می‌کنند. برای نمونه 34 (AF41 PHB) در AES67 یا 46 (EF PHB) در RAVENNA. پیش‌فرض 0 است. .TP .B first_step_threshold حداکثر آفستی که سروو با تغییر فرکانس ساعت (تغییر فاز هنگام استفاده از سروو nullf) به جای پرش دادن ساعت اصلاح می‌کند. این مورد تنها در اولین به‌روزرسانی اعمال می‌شود. این گزینه بر حسب ثانیه مشخص می‌شود. هنگامی که روی 0.0 تنظیم شود، سروو در زمان شروع پرش ساعت انجام نخواهد داد. پیش‌فرض 0.00002 (20 میکروثانیه) است. این گزینه در گذشته .BR pi_f_offset_const نامیده می‌شد. .TP .B free_running در صورت فعال بودن، ساعت محلی را تنظیم نمی‌کند. پیش‌فرض 0 (غیرفعال) است. .TP .B freq_est_interval فاصله زمانی که در طول آن نسبت فرکانس‌های ساعت محلی و همتا تخمین زده می‌شود. این مقدار به صورت توانی از دو بر حسب ثانیه مشخص می‌شود. پیش‌فرض 1 (2 ثانیه) است. .TP .B G.8275.defaultDS.localPriority پروفایل‌های مخابراتی (ITU\-T G.8275.1 و G.8275.2) یک «الگوریتم بهترین ساعت مرجع» (BMCA) جایگزین را با الگوریتم مقایسه مجموعه داده‌های منحصربه‌فرد مشخص می‌کنند. مقدار این گزینه با ساعت محلی مرتبط است و هر زمان که clockClass ،clockAccuracy ،offsetScaledLogVariance و priority2 برابر باشند، به عنوان تعیین‌کننده نهایی (tie breaker) استفاده می‌شود. این گزینه تنها زمانی کاربرد دارد که "dataset_comparison" روی "G.8275.x" تنظیم شده باشد. مقدار پیش‌فرض 128 است. هشدار: BMCA تنها در صورت استفاده از مقادیر پیش‌فرض G.8275.defaultDS.localPriority و G.8275.portDS.localPriority تضمین می‌کند که یک درخت پوشا (یعنی یک شبکه زمان‌بندی بدون حلقه) ایجاد شود. هنگام استفاده از مقادیر غیرپیش‌فرض، مهندسی دقیق شبکه ضروری است. .TP .B gmCapable اگر این گزینه فعال باشد، ساعت محلی قادر به تبدیل شدن به گرندمستر (grand master) خواهد بود. این مورد فقط برای استفاده با ساعت‌های 802.1AS است و تأثیری بر ساعت‌های 1588 ندارد. پیش‌فرض 1 (فعال) است. .TP .B ignore_source_id بررسی شناسه پورت مبدأ را برای پیام‌های Sync و Follow_Up غیرفعال می‌کند. این گزینه زمانی مفید است که پیام‌های اعلان در سرور غیرفعال باشند و کلاینت راهی برای دانستن هویت سرور نداشته باشد. پیش‌فرض 0 (غیرفعال) است. .TP .B inhibit_announce تایمر پیام‌های اعلان (یعنی FD_MANNO_TIMER) و همچنین تایمر مهلت زمانی پیام اعلان (یعنی FD_ANNOUNCE_TIMER) را غیرفعال می‌کند. این گزینه توسط پروفایل خودرویی (Automotive profile) به عنوان بخشی از جابجایی به یک BMCA ایستا استفاده می‌شود. اگر این گزینه فعال باشد، ignore_source_id باید در کلاینت فعال شود زیرا راهی برای شناسایی سرور در پیام‌های Sync و Follow_Up ندارد. پیش‌فرض 0 (غیرفعال) است. .TP .B initial_delay تأخیر اولیه مسیر ساعت بر حسب نانوثانیه که برای همگام‌سازی ساعت پیش از اندازه‌گیری تأخیر با استفاده از سازوکار تأخیر E2E یا P2P استفاده می‌شود. اگر روی 0 تنظیم شود، ساعت تا زمان اندازه‌گیری تأخیر به‌روزرسانی نخواهد شد. پیش‌فرض 0 است. .TP .B interface_rate_tlv هنگامی که کلاینت و سرور با نرخ‌های رابط متفاوتی کار می‌کنند، عدم تقارن تأخیر ناشی از نرخ‌های متفاوت رابط باید جبران شود. سرور نرخ رابط خود را با استفاده از TLV نرخ رابط طبق ضمیمه D استاندارد G.8275.2 ارسال می‌کند. پیش‌فرض 0 است (از tlv نرخ رابط پشتیبانی نمی‌کند). .TP .B hwts_filter حالت تنظیم فیلتر برچسب زمانی سخت‌افزاری را انتخاب می‌کند. مقادیر ممکن عبارتند از normal ،check و full. حالت normal فیلترها را بر اساس نیاز تنظیم می‌کند. حالت check فقط بررسی می‌کند اما تنظیم نمی‌کند. حالت full فیلتر دریافت را تنظیم می‌کند تا تمام بسته‌ها را با برچسب زمانی سخت‌افزاری علامت‌گذاری کند، تا همه برنامه‌ها بتوانند آن‌ها را دریافت کنند. پیش‌فرض normal است. .TP .B kernel_leap هنگامی که یک ثانیه کبیسه (leap second) اعلام می‌شود، به هسته اجازه می‌دهد تا با پرش دادن ساعت آن را اعمال کند، به جای اصلاح آفست یک‌ثانیه‌ای با سروو، که آفست یک‌ثانیه‌ای را به آرامی با تغییر فرکانس ساعت اصلاح می‌کند (مگر اینکه گزینه .B step_threshold برای اصلاح چنین آفستی از طریق پرش تنظیم شده باشد). تنها با برچسب‌گذاری زمانی نرم‌افزاری کاربرد دارد. پیش‌فرض 1 (فعال) است. .TP .B logging_level حداکثر سطح لاگ پیام‌هایی که باید چاپ شوند. پیش‌فرض 6 (LOG_INFO) است. .TP .B manufacturerIdentity شناسه سازنده که باید یک OUI متعلق به سازنده باشد. پیش‌فرض 00:00:00 است. .TP .B max_frequency حداکثر تنظیم فرکانس مجاز ساعت بر حسب بخش در میلیارد (ppb). این یک محدودیت اضافی برای حداکثر مقدار مجاز توسط سخت‌افزار است. هنگامی که روی 0 تنظیم شود، محدودیت سخت‌افزاری استفاده خواهد شد. پیش‌فرض 900000000 (90%) است. این گزینه در گذشته .BR pi_max_frequency نامیده می‌شد. .TP .B maxStepsRemoved هنگام استفاده از این گزینه، اگر مقدار stepsRemoved یک پیام Announce بزرگتر یا مساوی مقدار maxStepsRemoved باشد، پیام Announce در عملکرد BMCA لحاظ نخواهد شد. مقدار پیش‌فرض 255 است. .TP .B message_tag برچسبی که به تمام پیام‌های چاپ‌شده در خروجی استاندارد یا لاگ سیستم اضافه می‌شود. اگر برچسب حاوی رشته "{level}" باشد، با سطح لاگ پیام به صورت یک عدد جایگزین خواهد شد. پیش‌فرض یک رشته خالی است (که نمی‌توان آن را در فایل پیکربندی تنظیم کرد زیرا این گزینه نیاز به آرگومان دارد). .TP .B msg_interval_request این گزینه در صورت تنظیم، هنگامی که سرووی ساعت وارد وضعیت SERVO_LOCKED_STABLE می‌شود، فواصل زمانی پیام‌های Sync و درخواست تأخیر همتا را تنظیم می‌کند. فاصله زمانی Sync از طریق سازوکار سیگنال‌دهی تنظیم می‌شود در حالی که فاصله درخواست pdelay به سادگی به صورت محلی تنظیم خواهد شد. مقادیری که باید برای فواصل زمانی جدید درخواست Sync و تأخیر همتا استفاده شوند، به ترتیب توسط گزینه‌های operLogSyncInterval و operLogPdelayReqInterval مشخص می‌شوند. مقدار پیش‌فرض msg_interval_request برابر 0 (غیرفعال) است. .TP .B ntpshm_segment شماره قطعه حافظه اشتراکی (SHM) مورد استفاده توسط سرووی ntpshm. پیش‌فرض 0 است. .TP .B offsetScaledLogVariance صفت offsetScaledLogVariance ساعت محلی. این صفت پایداری ساعت را مشخص می‌کند. پیش‌فرض 0xFFFF است. .TP .B pi_integral_const ثابت انتگرال‌گیر کنترل‌کننده PI. هنگامی که روی 0.0 تنظیم شود، ثابت انتگرال‌گیر بر اساس فرمول زیر از روی فاصله زمانی sync فعلی تعیین می‌شود: پیش‌فرض 0.0 است. ki = min(ki_scale * sync^ki_exponent, ki_norm_max / sync) .TP .B pi_integral_exponent ثابت ki_exponent در فرمول مورد استفاده برای تعیین ثابت انتگرال‌گیر کنترل‌کننده PI از روی فاصله زمانی sync. پیش‌فرض 0.4 است. .TP .B pi_integral_norm_max ثابت ki_norm_max در فرمول مورد استفاده برای تعیین ثابت انتگرال‌گیر کنترل‌کننده PI از روی فاصله زمانی sync. پیش‌فرض 0.3 است. .TP .B pi_integral_scale ثابت ki_scale در فرمول مورد استفاده برای تعیین ثابت انتگرال‌گیر کنترل‌کننده PI از روی فاصله زمانی sync. هنگامی که روی 0.0 تنظیم شود، مقدار به ترتیب از بین 0.3 و 0.001 برای برچسب‌گذاری زمانی سخت‌افزاری و نرم‌افزاری انتخاب خواهد شد. پیش‌فرض 0.0 است. .TP .B pi_proportional_const ثابت تناسبی کنترل‌کننده PI. هنگامی که روی 0.0 تنظیم شود، ثابت تناسبی بر اساس فرمول زیر از روی فاصله زمانی sync فعلی تعیین می‌شود: پیش‌فرض 0.0 است. kp = min(kp_scale * sync^kp_exponent, kp_norm_max / sync) .TP .B pi_proportional_exponent ثابت kp_exponent در فرمول مورد استفاده برای تعیین ثابت تناسبی کنترل‌کننده PI از روی فاصله زمانی sync. پیش‌فرض 0.3\- است. .TP .B pi_proportional_norm_max ثابت kp_norm_max در فرمول مورد استفاده برای تعیین ثابت تناسبی کنترل‌کننده PI از روی فاصله زمانی sync. پیش‌فرض 0.7 است. .TP .B pi_proportional_scale ثابت kp_scale در فرمول مورد استفاده برای تعیین ثابت تناسبی کنترل‌کننده PI از روی فاصله زمانی sync. هنگامی که روی 0.0 تنظیم شود، مقدار به ترتیب از بین 0.7 و 0.1 برای برچسب‌گذاری زمانی سخت‌افزاری و نرم‌افزاری انتخاب خواهد شد. پیش‌فرض 0.0 است. .TP .B productDescription رشته توضیحات محصول. مقادیر مجاز باید به شکل manufacturerName;modelNumber;instanceIdentifier بوده و حداکثر شامل 64 نماد utf8 باشند. پیش‌فرض ";;" است. .TP .B priority1 صفت priority1 برای ساعت محلی. در الگوریتم انتخاب سرور PTP استفاده می‌شود و مقادیر کمتر اولویت دارند. باید در محدوده 0 تا 255 باشد. پیش‌فرض 128 است. .TP .B priority2 صفت priority2 برای ساعت محلی. در الگوریتم انتخاب سرور PTP استفاده می‌شود و مقادیر کمتر اولویت دارند. باید در محدوده 0 تا 255 باشد. پیش‌فرض 128 است. .TP .B ptp_minor_version این گزینه مقدار minorVersionPTP را در هدر پیام مشترک PTP تنظیم می‌کند. پیش‌فرض 1 است. .TP .B refclock_sock_address آدرس سوکت دامنه یونیکس که باید توسط سرووی refclock_sock استفاده شود. پیش‌فرض ‎/var/run/refclock.ptp.sock است. .TP .B revisionData رشته توضیحات نگارش که شامل نگارش‌های سخت‌افزار گره (HW)، سفت‌افزار (FW) و نرم‌افزار (SW) است. مقادیر مجاز باید به شکل HW;FW;SW بوده و حداکثر شامل 32 نماد utf8 باشند. پیش‌فرض ";;" است. .TP .B sa_file محل فایل حاوی «ارتباط‌های امنیتی» (Security Associations) را مشخص می‌کند که برای پردازش فوری امنیتی Authentication TLV در پشتیبانی از سازوکار امنیتی اختیاری تعریف‌شده در فصل 14.16 استاندارد ieee1588\-2019 استفاده می‌شود. برای اطلاعات در مورد نحوه قالب‌بندی این فایل، بخش \fBگزینه‌های ارتباط امنیتی (SECURITY ASSOCIATION OPTIONS)\fR را ببینید. گزینه‌های \fBspp\fR و \fBactive_key_id\fR باید برای هر پورت مشخص شوند تا تعیین کنند کدام ارتباط امنیتی از \fBsa_file\fR باید استفاده شود. پیش‌فرض یک رشته خالی است. .TP .B sanity_freq_limit حداکثر آفست فرکانسی مجاز بین ساعت اصلاح‌نشده و ساعت یکنواخت سیستم (monotonic) بر حسب بخش در میلیارد (ppb). این گزینه به عنوان بررسی صحت ساعت همگام‌شده استفاده می‌شود. هنگامی که آفست بزرگتری اندازه‌گیری شود، یک پیام هشدار چاپ شده و سروو بازنشانی خواهد شد. اگر اصلاح فرکانس تعیین‌شده توسط ptp4l به طور غیرمنتظره‌ای بین به‌روزرسانی‌های ساعت تغییر کند (برای نمونه به دلیل تلاش فرآیند دیگری برای کنترل ساعت)، یک پیام هشدار چاپ خواهد شد. هنگامی که روی 0 تنظیم شود، بررسی صحت غیرفعال می‌شود. پیش‌فرض 200000000 (20%) است. .TP .B servo_num_offset_values تعداد مقادیر آفست در نظر گرفته‌شده برای انتقال از وضعیت SERVO_LOCKED به وضعیت SERVO_LOCKED_STABLE. این انتقال زمانی رخ می‌دهد که تمام آخرین مقادیر آفست به تعداد 'servo_num_offset_values' زیر مقدار 'servo_offset_threshold' باشند. مقدار پیش‌فرض 10 است. .TP .B servo_offset_threshold آستانه آفست مورد استفاده برای انتقال از وضعیت SERVO_LOCKED به وضعیت SERVO_LOCKED_STABLE. این انتقال زمانی رخ می‌دهد که تمام آخرین مقادیر آفست به تعداد 'servo_num_offset_values' زیر مقدار آستانه باشند. مقدار پیش‌فرض offset_threshold برابر 0 (غیرفعال) است. .TP .B slave_event_monitor آدرس یک سوکت دامنه یونیکس را برای پایش رویدادها مشخص می‌کند. یک کلاینت پایش محلی متصل به این آدرس، TLVهای SLAVE_RX_SYNC_TIMING_DATA و SLAVE_DELAY_TIMING_DATA_NP را دریافت خواهد کرد. پیش‌فرض رشته خالی (غیرفعال) است. .TP .B slaveOnly این گزینه منسوخ شده و در نگارش‌های آینده حذف خواهد شد. به جای آن از "clientOnly" استفاده کنید. .TP .B socket_priority پیکربندی SO_PRIORITY سوکت‌ها. این برای مواردی است که کاربر می‌خواهد ترافیک ptp4l را با استفاده از qdiscهای لینوکس به منظور شکل‌دهی ترافیک (traffic shaping) هدایت کند. این گزینه فقط با انتقال IEEE 802.3 (گزینه \fB\-2\fP) در دسترس است و هنگام استفاده از روش‌های انتقال شبکه UDP IPv4/6 بدون هیچ پیامی نادیده گرفته می‌شود. باید در محدوده 0 تا 15 باشد. پیش‌فرض 0 است. .TP .B step_threshold حداکثر آفستی که سروو با تغییر فرکانس ساعت (تغییر فاز هنگام استفاده از سروو nullf) به جای پرش دادن ساعت اصلاح خواهد کرد. هنگامی که روی 0.0 تنظیم شود، سروو هرگز ساعت را پرش نمی‌دهد مگر در زمان شروع. این مقدار بر حسب ثانیه مشخص می‌شود. پیش‌فرض 0.0 است. این گزینه در گذشته .BR pi_offset_const نامیده می‌شد. .TP .B step_window در صورت تنظیم، تعداد رویدادهای Sync پس از پرش ساعت را نشان می‌دهد که در طول آن ساعت هیچ‌گونه تنظیم فرکانسی یا پرشی انجام نخواهد داد. این گزینه در شرایطی استفاده می‌شود که پرش ساعت نمی‌تواند به صورت آنی رخ دهد، بنابراین تأخیری وجود دارد تا برچسب‌های زمانی بتوانند به درستی تثبیت شوند و پرش ساعت را منعکس کنند. پیش‌فرض 0 (غیرفعال) است. .TP .B summary_interval فاصله زمانی که در آن خلاصه آماری ساعت چاپ می‌شود. این مقدار به صورت توانی از دو بر حسب ثانیه مشخص می‌شود. این آمار شامل مقدار جذر میانگین مربعات آفست (RMS)، حداکثر آفست مطلق، میانگین و انحراف معیار آفست فرکانس، و میانگین و انحراف معیار تأخیر مسیر است. واحدها نانوثانیه و بخش در میلیارد (ppb) هستند. اگر در طول این بازه تنها یک به‌روزرسانی ساعت وجود داشته باشد، به جای آمار، نمونه چاپ خواهد شد. پیام‌ها در سطح LOG_INFO چاپ می‌شوند. پیش‌فرض 0 (1 ثانیه) است. .TP .B tc_spanning_tree هنگام اجرا به عنوان ساعت شفاف (Transparent Clock)، فیلد "stepsRemoved" پیام‌های Announce را که از سوئیچ عبور می‌کنند افزایش می‌دهد. فعال کردن این گزینه تضمین می‌کند که حلقه‌های پیام PTP هرگز شکل نگیرند، مشروط بر اینکه تمام سوئیچ‌ها این گزینه را همراه با BMCA پیاده‌سازی کرده باشند. .TP .B timeSource منبع زمان یک کد تک‌بایتی است که ایده‌ای از نوع ساعت محلی در حال استفاده را ارائه می‌دهد. مقدار آن صرفاً جنبه اطلاع‌رسانی دارد و هیچ تأثیری بر نتیجه الگوریتم بهترین ساعت مرجع ندارد و زمانی که ساعت به گرندمستر تبدیل شود اعلان خواهد شد. .TP .B time_stamping روش برچسب‌گذاری زمانی مورد استفاده. مقادیر مجاز عبارتند از hardware ،software ،legacy ،onestep و p2p1step. پیش‌فرض hardware است. .TP .B twoStepFlag حالت دو‌مرحله‌ای (two-step) را برای پیام‌های sync فعال می‌کند. حالت تک‌مرحله‌ای (one-step) تنها با برچسب‌گذاری زمانی سخت‌افزاری قابل استفاده است. پیش‌فرض 1 (فعال) است. .TP .B tx_timestamp_timeout تعداد میلی‌ثانیه‌ها برای بررسی دوره‌ای (polling) جهت انتظار برای برچسب زمانی ارسال (tx) از طرف هسته، هنگامی که اخیراً پیامی ارسال شده است. پیش‌فرض 10 است. .TP .B udp6_scope دامنه (scope) مورد نظر را برای پیام‌های چندپخشی IPv6 مشخص می‌کند. این مقدار به عنوان بایت دوم آدرس اصلی استفاده خواهد شد. این گزینه تنها با انتقال IPv6 ارتباط دارد. استاندارد RFC 4291 را ببینید. پیش‌فرض 0x0E برای دامنه سراسری است. .TP .B uds_address آدرس سوکت دامنه یونیکس را برای دریافت پیام‌های مدیریتی محلی مشخص می‌کند. پیش‌فرض ‎/var/run/ptp4l است. .TP .B uds_file_mode حالت دسترسی فایل (file mode) مربوط به سوکت دامنه یونیکس مورد استفاده برای دریافت پیام‌های مدیریتی محلی. این حالت باید به صورت یک عدد اکتال مشخص شود، یعنی باید با نویسه 0 شروع شود. حالت پیش‌فرض 0660 است. .TP .B uds_ro_address آدرس دومین سوکت دامنه یونیکس را برای دریافت پیام‌های مدیریتی محلی مشخص می‌کند که محدود به عملیات GET است و پیام‌ها را به پورت‌های دیگر فوروارد نمی‌کند. دسترسی به این سوکت را می‌توان برای مقاصد پایش در اختیار برنامه‌های غیرقابل اعتماد قرار داد. پیش‌فرض ‎/var/run/ptp4lro است. .TP .B uds_ro_file_mode حالت دسترسی فایل دومین سوکت دامنه یونیکس (فقط‌خواندنی) مورد استفاده برای دریافت پیام‌های مدیریتی محلی. این حالت باید به صورت یک عدد اکتال مشخص شود، یعنی باید با نویسه 0 شروع شود. حالت پیش‌فرض 0666 است. .TP .B use_syslog در صورت فعال بودن، پیام‌ها را در لاگ سیستم چاپ می‌کند. پیش‌فرض 1 (فعال) است. .TP .B userDescription رشته توضیحات کاربر. مقادیر مجاز به فرم name;location بوده و حداکثر شامل 128 نماد utf8 هستند. پیش‌فرض یک رشته خالی است. .TP .B utc_offset آفست فعلی بین TAI و UTC. پیش‌فرض 37 است. .TP .B verbose در صورت فعال بودن، پیام‌ها را در خروجی استاندارد چاپ می‌کند. پیش‌فرض 0 (غیرفعال) است. .TP .B write_phase_mode این گزینه استفاده از قابلیت "write phase" در ساعت سخت‌افزاری PTP را فعال می‌کند. در صورت پشتیبانی توسط دستگاه، این حالت به جای کنترل آفست فرکانس، از کنترل آفست فاز داخلی سخت‌افزار استفاده می‌نماید. مقدار پیش‌فرض 0 (غیرفعال) است. .SH "گزینه‌های کشف تک‌پخشی (UNICAST DISCOVERY OPTIONS)" .TP .B L2|UDPv4|UDPv6 هر ورودی جدول، نوع انتقال و آدرس شبکه یک سرور بالقوه راه دور را مشخص می‌کند. اگر چندین سرور مشخص شده باشد، مذاکره تک‌پخشی (unicast negotiation) با تک‌تک آن‌ها انجام خواهد شد. .TP .B logQueryInterval این گزینه زمان انتظار بین تلاش‌های مذاکره تک‌پخشی را پیکربندی می‌کند. این مقدار به صورت توانی از دو بر حسب ثانیه مشخص می‌شود. پیش‌فرض 0 (1 ثانیه) است. .TP .B peer_address این گزینه آدرس تک‌پخشی همتا را برای استفاده با سازوکار تأخیر همتا به همتا (peer to peer) مشخص می‌کند. در صورت مشخص شدن، پورتی که مالک جدول است، پاسخ‌های تأخیر همتای تک‌پخشی را از ماشین با آدرس راه دور ارائه‌شده مذاکره می‌کند، در غیر این صورت پورت درخواست‌های تأخیر همتای چندپخشی (multicast) ارسال خواهد کرد. .TP .B table_id هر جدول باید با یک شناسه جدول عددی مثبت و منحصربه‌فرد آغاز شود. پورتی که مدعی یک جدول معین است، این کار را با درج شناسه به عنوان مقدار گزینه 'unicast_master_table' خود انجام می‌دهد. .SH "گزینه‌های ارتباط امنیتی (SECURITY ASSOCIATION OPTIONS)" .TP .B spp هر ارتباط امنیتی باید با یک spp منحصربه‌فرد آغاز شود. پورتی که مدعی یک ارتباط امنیتی معین است، این کار را با درج spp به عنوان مقدار گزینه 'spp' خود انجام می‌دهد. باید در محدوده 0 تا 255 (شامل هر دو) باشد. .TP .B seqid_window این گزینه تعیین می‌کند که شناسه توالی (sequence id) یک پیام ورودی sync/follow_up تا چه اندازه می‌تواند نسبت به آخرین پیام sync/follow_up پردازش‌شده با موفقیت جلوتر باشد، پیش از آنکه به عنوان یک پیام بازپخش‌شده (replayed message) تلقی شود. ردیابی seqid پیام‌های Sync/follow_up با تغییر وضعیت پورت بازنشانی شده و پس از پردازش موفقیت‌آمیز به‌روزرسانی می‌شود. هنگامی که روی صفر تنظیم شود، هیچ بررسی شناسه توالی انجام نخواهد شد. باید در محدوده 0 تا 32767 (0x7FFF) شامل هر دو باشد. مقدار پیش‌فرض 3 است. .TP .B allow_mutable در صورتی که پشتیبانی از authentication tlv در طول مسیر امکان‌پذیر نباشد، این گزینه اجازه استفاده از فیلدهای اصلاح تغییرپذیر (mutable correction fields) را می‌دهد. استفاده از این گزینه توصیه نمی‌شود زیرا فیلد اصلاح را بدون محافظت رها می‌کند. مقدار پیش‌فرض 0 (غیرفعال) است. .TP .B key (format: id type length value) هر ارتباط امنیتی باید حداقل یک ورودی کلید داشته باشد. این ورودی‌ها باید از قالب 'id type length value' استفاده کنند: .RS .IP \- 2 شناسه کلید (Key id): باید در محدوده 1 تا 1\-2^32 (شامل هر دو) باشد. .IP \- 2 نوع کلید (Key type): مقادیر مجاز عبارتند از SHA256-128 ،SHA256 ،AES128 و AES256. .IP \- 2 طول کلید (Key length): طول اختیاری کلید اعتبارسنجی بر حسب اوکتت (بایت). برای تأیید اینکه مقدار کلید دارای طول مشخص‌شده است استفاده می‌شود. .IP \- 2 مقدار کلید (Key value): می‌تواند به صورت نویسه‌های ASCII با پیشوند "ASCII:"، به صورت عدد هگزادسیمال با پیشوند "HEX:"، یا به صورت رشته کدگذاری‌شده Base64 با پیشوند "B64:" خوانده شود. اگر هیچ پیشوندی گنجانده نشود، ASCII فرض می‌شود. مقادیر کلید در صورت امکان باید به صورت تصادفی تولید شوند. رمزهای قالبی (AES) نیازمند مطابقت طول کلید با طول الگوریتم رمزنگاری هستند (برای نمونه AES-128 نیازمند کلید 128 بیتی یا 16 بایتی است). .RE .TP .B مثال در ادامه نمونه‌ای از یک فایل ارتباط‌های امنیتی آورده شده است: .EX [security_association] spp 0 allow_mutable 1 1 SHA256-128 HEX:F8ADC6B8B8E9AA709106BA42481EC9E29607334DE2C3C737A11A12931DB27F8C 2 SHA256 32 HEX:EE91D469B3A8ADC6AC8EB28E21794C706E08FDE48863828A7B0281AFCA81B17D [security_association] spp 1 seqid_window 20 1 AES128 HEX:FAF48EBA01E7C5966A76CB787AED4E7B 2 AES256 B64:PKTF9VQz94qPaoAzW4eE3JtFoQ8Ov1OTQSojalWyMbs= 3 SHA256 26 abcdefghijklmnopqrstuvwxyz .EE .SH "کاربرد مقیاس زمانی (TIME SCALE USAGE)" هنگامی که .B ptp4l به عنوان سرور دامنه عمل می‌کند، بسته به حالت برچسب‌گذاری زمانی از مقیاس زمانی PTP یا UTC استفاده می‌کند. در حالت‌های برچسب‌گذاری زمانی نرم‌افزاری و قدیمی، حالت مقیاس زمانی اختیاری (Arbitrary) را اعلان می‌کند که در اینجا عملاً همان UTC است. در حالت برچسب‌گذاری زمانی سخت‌افزاری، استفاده از مقیاس زمانی PTP را اعلان می‌نماید. هنگامی که .B ptp4l سرور دامنه با استفاده از برچسب‌گذاری زمانی سخت‌افزاری است، وظیفه حفظ آفست صحیح بین زمان‌های UTC و PTP بر عهده .B phc2sys است. برای جزئیات بیشتر به صفحه راهنمای .BR phc2sys (8) مراجعه کنید. .SH "اولویت رشته هسته (KTHREAD PRIORITY)" در صورت مشاهده لاگ زیر: .RS .I timed out while polling for tx timestamp .I increasing tx_timestamp_timeout or increasing .I kworker priority may correct this issue, .I but a driver bug likely causes it .RE یکی از دلایل احتمالی این است که kworker مسئول پردازش برچسب‌های زمانی دچار کمبود منابع (starved) شده است. مدیر سیستم می‌تواند اولویت kworker را به صورت دستی افزایش دهد. بسیاری از درایورهای دستگاه از رشته‌های kworker ایجادشده توسط پشته PTP استفاده می‌کنند. این kworkerها به این صورت نام‌گذاری می‌شوند: .RS .I ptp<شماره ده‌دهی ساعت> .RE مدیر سیستم می‌تواند با استفاده از دستور chrt اولویت فرآیند kworker را به صورت دستی افزایش دهد. مثال: .RS \f(CWpgrep \-f "ptp[0-9]+" | xargs \-I {} sudo chrt \-f \-\-pid 75 {}\fP .RE درایور Intel ice ممکن است چندین kworker برای یک کارت شبکه (NIC) فیزیکی ایجاد کند و آن فرآیندها را با نام‌های متفاوتی نام‌گذاری نماید. مثال برای کارت Intel E810: .RS \f(CWpgrep \-f ice-ptp | xargs \-I {} sudo chrt \-f \-\-pid 75 {}\fP .RE اختصاص اولویت نیازمند بررسی دقیق است زیرا اختصاص اولویت بیش از حد بالا به هر تسکی ممکن است سیستم را ناپایدار کند. .SH "همچنین ببینید (SEE ALSO)" .BR pmc (8), .BR phc2sys (8)