Scroll to navigation

SYSTEMD.LINK(5) systemd.link SYSTEMD.LINK(5)

الاسم

systemd.link - ضبط أجهزة الشبكة

موجز

link.link

الوصف

ملف نصي بسيط بنمط ini يرمّز إعدادات مطابقة أجهزة الشبكة، يُستخدم بواسطة systemd-udevd(8) وبشكل خاص الملحق المدمج net_setup_link فيه. طالع systemd.syntax(7) للحصول على وصف عام للصيغة.

لاحظ أن بعض التوزيعات قد تدمج ملفات .link في مرافق الإقلاع المبكر لديها (مثلًا، عبر تضمين نسخ من ملفات .link في initramfs). ولذا، قد يلزم اتخاذ خطوات يدوية لضمان توافق أي تغييرات محلية مع مرافق تخزين الإقلاع المبكر. ينبغي مراجعة التوثيق ذي الصلة الخاص بالتوزيعة.

تُقرأ ملفات .link من الملفات الموجودة في دليل شبكة النظام /usr/lib/systemd/network و /usr/local/lib/systemd/network [1]، ودليل شبكة وقت التشغيل المتطاير /run/systemd/network، ودليل إدارة الشبكة المحلي /etc/systemd/network. تُفرز جميع ملفات الإعدادات وتُعالج مجتمعة بترتيب أبجدي رقمي، بغض النظر عن الأدلة التي تقطن فيها. ومع ذلك، فإن الملفات ذات أسماء الملفات المتطابقة تستبدل بعضها بعضًا. يُوصى بأن يُسبق كل اسم ملف برقم أصغر من "70" (مثلًا، 10-eth0.link). وإلا، فقد تكون لملفات .link المبدئية أو تلك المُولّدة بواسطة systemd-network-generator.service(8) الأولوية على الملفات التي أعدّها المستخدم. للملفات في /etc/ الأولوية القصوى، وللملفات في /run/ الأولوية على الملفات التي تحمل الاسم نفسه في /usr/lib/. يمكن استخدام هذا لتجاوز ملف ارتباط مُزوّد من النظام بملف محلي إذا لزم الأمر. كحالة خاصة، يُعطّل ملف فارغ (بحجم 0) أو رابط رمزي بالاسم نفسه يشير إلى /dev/null ملف الإعدادات تمامًا (يُصبح "محجوبًا").

جنبًا إلى جنب مع ملف الارتباط foo.link، قد يوجد دليل "إضافة" foo.link.d/. ستُدمج جميع الملفات ذات اللاحقة ".conf" من هذا الدليل بالترتيب الأبجدي الرقمي وتُحلل بعد تحليل الملف الرئيس نفسه. هذا مفيد لتعديل أو إضافة إعدادات التكوين دون الحاجة إلى تعديل ملف التكوين الرئيس. يجب أن يحتوي كل ملف إضافة على ترويسات أقسام مناسبة.

بالإضافة إلى /etc/systemd/network، يمكن وضع أدلة "إضافة" ".d" في أدلة /usr/lib/systemd/network أو /run/systemd/network. لملفات الإضافة في /etc/ الأولوية على تلك الموجودة في /run/ والتي بدورها لها الأولوية على تلك الموجودة في /usr/lib/. لملفات الإضافة تحت أي من هذه الأدلة الأولوية على ملف الارتباط الرئيس أينما وُجد.

يحتوي ملف الارتباط على قسم [Match]، الذي يحدد ما إذا كان يمكن تطبيق ملف ارتباط معين على جهاز معين، بالإضافة إلى قسم [Link] يحدد كيفية ضبط الجهاز. يُطبّق الملف الأول (بالترتيب المعجمي) من ملفات الارتباط التي تطابق جهازًا معينًا. لاحظ أن النظام يورّد ملفًا مبدئيًا هو 99-default.link. لذا ينبغي لأي ملف .link يقدّمه المستخدم أن يحمل اسمًا أسبق معجميًا ليؤخذ بعين الاعتبار على الإطلاق.

طالع udevadm(8) لتشخيص المشكلات المتعلقة بملفات .link.

خيارات قسم [MATCH]

يُقال إن ملف الارتباط يطابق واجهة ما إذا كانت جميع المطابقات المحددة بواسطة قسم [Match] مُستوفاة. عندما لا يحتوي ملف الارتباط على إعدادات صالحة في قسم [Match]، فإن الملف سيطابق جميع الواجهات ويحذر systemd-udevd من ذلك. تلميح: لتجنب التحذير ولتوضيح أنه ستتم مطابقة جميع الواجهات، أضف ما يلي:

OriginalName=*

يُطبّق الملف الأول (بالترتيب الأبجدي الرقمي) من ملفات الارتباط التي تطابق واجهة معينة، وتُتجاهل جميع الملفات اللاحقة، حتى لو كانت تطابق أيضًا. المفاتيح التالية مقبولة:

MACAddress=

قائمة مفصولة بمسافات لعناوين العتاد. التنسيقات المقبولة هي:

colon-delimited hexadecimal

يجب أن يتكون كل حقل من بايت واحد. مثال: "12:34:56:78:90:ab" أو "AA:BB:CC:DD:EE:FF".

أُضيف في الإصدار 250.

ست عشري مفصول بواصلات

يجب أن يتكون كل حقل من بايت واحد. مثال: "12-34-56-78-90-ab" أو "AA-BB-CC-DD-EE-FF".

أُضيف في الإصدار 250.

dot-delimited hexadecimal

يجب أن يتكون كل حقل من بايتين. مثال: "1234.5678.90ab" أو "AABB.CCDD.EEFF".

أُضيف في الإصدار 250.

تنسيق عناوين IPv4

مثلًا. "127.0.0.1" أو "192.168.0.1".

أُضيف في الإصدار 250.

تنسيق عناوين IPv6

مثلًا. "2001:0db8:85a3::8a2e:0370:7334" أو "::1".

أُضيف في الإصدار 250.

يجب أن يكون الطول الإجمالي لكل عنوان MAC هو 4 (لنفق IPv4)، أو 6 (للإيثرنت)، أو 16 (لنفق IPv6)، أو 20 (لإنفيني باند). قد يظهر هذا الخيار أكثر من مرة، وفي هذه الحالة تدمج القوائم. إذا أُسندت سلسلة فارغة لهذا الخيار، فستُصفر قائمة عناوين الأجهزة المحددة قبل ذلك. القيمة المبدئية هي غير محدد.

أُضيف في الإصدارة 211.

PermanentMACAddress=

قائمة مفصولة بمسافات لعناوين العتاد الدائمة. بينما يطابق MACAddress= عنوان MAC الحالي للجهاز، فإن هذا يطابق عنوان MAC الدائم للجهاز، والذي قد يكون مختلفًا عن الحالي. استخدم التنسيق السداسي عشري المقسم بنقطتين أو وصلة أو نقطة، أو تنسيق عنوان IPv4 أو IPv6. قد يظهر هذا الخيار أكثر من مرة، وفي هذه الحالة تُدمج القوائم. إذا أُسندت سلسلة فارغة لهذا الخيار، فستُصفر قائمة عناوين العتاد المحددة قبل ذلك. القيمة المبدئية هي غير محددة.

أُضيف في الإصدار 245.

Path=

قائمة مفصولة بمسافات من الأنماط (globs) بأسلوب الصدفة تطابق المسار المستمر، كما هو معروض بواسطة خاصية udev المسماة ID_PATH.

أُضيف في الإصدارة 211.

Driver=

قائمة مفصولة بمسافات من الأنماط (globs) بأسلوب الصدفة تطابق التعريف المرتبط بالجهاز حاليًا، كما هو معروض بواسطة خاصية udev المسماة ID_NET_DRIVER لجهازه الأب، أو إذا لم تكن محددة، التعريف كما هو معروض بواسطة ethtool -i للجهاز نفسه. إذا كانت القائمة مسبوقة بـ "!"، يُعكس الاختبار.

أُضيف في الإصدارة 211.

Type=

قائمة مفصولة بمسافات من الأنماط (globs) بأسلوب الصدفة تطابق نوع الجهاز، كما هو معروض بواسطة networkctl list. إذا كانت القائمة مسبوقة بـ "!"، يُعكس الاختبار. بعض القيم الصالحة هي "ether" و "loopback" و "wlan" و "wwan". تُسمى الأنواع الصالحة إما من سمة "DEVTYPE" لـ udev، أو ماكروهات "ARPHRD_" في linux/if_arp.h، لذا فإن هذا ليس شاملًا.

أُضيف في الإصدارة 211.

Kind=

قائمة مفصولة بمسافات من الأنماط (globs) بأسلوب الصدفة تطابق نوع الجهاز، كما هو معروض بواسطة networkctl status INTERFACE أو ip -d link show INTERFACE. إذا كانت القائمة مسبوقة بـ "!"، يُعكس الاختبار. بعض القيم الصالحة هي "bond" و "bridge" و "gre" و "tun" و "veth". الأنواع الصالحة تُعطى بواسطة سمة "IFLA_INFO_KIND" لـ netlink، لذا فإن هذا ليس شاملًا.

أُضيف في الإصدار 251.

Property=

قائمة مفصولة بمسافات لأسماء خصائص udev مع قيمها بعد علامة التساوي ("="). إذا حُددت خصائص متعددة، تُطبق عملية AND على نتائج الاختبار. إذا كانت القائمة مسبوقة بـ "!"، يُعكس الاختبار. إذا كانت القيمة تحتوي على مساحات بيضاء، فيرجى وضع زوج المفتاح والقيمة بالكامل بين علامتي اقتباس. إذا كانت القيمة تحتوي على اقتباس، فيرجى الهروب من الاقتباس باستخدام "\".

مثال: إذا كان ملف .link يحتوي على ما يلي:

Property=ID_MODEL_ID=9999 "ID_VENDOR_FROM_DATABASE=vendor name" "KEY=with \"quotation\""

ثم، يطابق ملف .link فقط عندما تملك الواجهة جميع الخصائص الثلاث أعلاه.

أُضيف في الإصدار 243.

OriginalName=

قائمة مفصولة بمسافات من نمط الـ glob بأسلوب الصدفة تطابق اسم الجهاز، كما هو مكشوف بواسطة خاصية udev "INTERFACE". لا يمكن استخدام هذا للمطابقة على الأسماء التي غُيّرت بالفعل من مساحة المستخدم. يُنصح بالحذر عند المطابقة على الأسماء المخصصة من النواة، حيث من المعروف أنها غير مستقرة بين عمليات إعادة التشغيل.

أُضيف في الإصدارة 218.

Host=

يطابق اسم المضيف أو معرف الجهاز للمضيف. انظر ConditionHost= في systemd.unit(5) للتفاصيل. عند بدئه بعلامة تعجب ("!")، تُعكس النتيجة. إذا أُسندت سلسلة نصية فارغة، تُمسح القيمة المسندة سابقًا.

أُضيف في الإصدارة 211.

Virtualization=

يتحقق مما إذا كان النظام يُنفذ في بيئة افتراضية ويختبر اختياريًا ما إذا كان تنفيذًا محددًا. راجع ConditionVirtualization= في systemd.unit(5) للتفاصيل. عند بدئه بعلامة تعجب ("!")، تُنفى النتيجة. إذا أُسندت سلسلة فارغة، تُمسح القيمة المسندة سابقًا.

أُضيف في الإصدارة 211.

KernelCommandLine=

يتحقق مما إذا كان خيار سطر أوامر نواة معين مضبوطًا. راجع ConditionKernelCommandLine= في systemd.unit(5) للتفاصيل. عند بدئه بعلامة تعجب ("!")، تُنفى النتيجة. إذا أُسندت سلسلة فارغة، تُمسح القيمة المسندة سابقًا.

أُضيف في الإصدارة 211.

KernelVersion=

يتحقق مما إذا كان إصدار النواة (كما يبلغ عنه uname -r) يطابق تعبيرًا معينًا. راجع ConditionKernelVersion= في systemd.unit(5) للتفاصيل. عند بدئه بعلامة تعجب ("!")، تُنفى النتيجة. إذا أُسندت سلسلة فارغة، تُمسح القيمة المسندة سابقًا.

أُضيف في الإصدارة 237.

Version=

يتحقق مما إذا كان إصدار البرنامج يطابق تعبيرًا معينًا. راجع ConditionVersion= في systemd.unit(5) للتفاصيل. عند بدء التعبير بعلامة تعجب ("!")، تُنفى النتيجة. إذا أُسندت سلسلة فارغة، تُمسح القيمة المسندة سابقًا.

أُضيف في الإصدار 258.

Credential=

يتحقق مما إذا كانت بيانات الاعتماد المحددة قد مُررت إلى خدمة systemd-udevd.service. راجع بيانات اعتماد النظام والخدمة[2] للتفاصيل. عند البدء بعلامة تعجب ("!")، تُنكر النتيجة. إذا عُيّنت سلسلة فارغة، تُمسح القيمة المعينة سابقًا.

أُضيف في الإصدار 252.

Architecture=

يتحقق مما إذا كان النظام يعمل على معمارية محددة. راجع ConditionArchitecture= في systemd.unit(5) للتفاصيل. عند بدئه بعلامة تعجب ("!")، تُنفى النتيجة. إذا أُسندت سلسلة فارغة، تُمسح القيمة المسندة سابقًا.

أُضيف في الإصدارة 211.

Firmware=

يتحقق مما إذا كان النظام يعمل على آلة ببرمجيات ثابتة (firmware) محددة. راجع ConditionFirmware= في systemd.unit(5) للتفاصيل. عند بدئه بعلامة تعجب ("!")، تُنفى النتيجة. إذا أُسندت سلسلة فارغة، تُمسح القيمة المسندة سابقًا.

أُضيف في الإصدار 249.

خيارات قسم [LINK]

يقبل قسم [Link] المفاتيح التالية:

Description=

وصف للجهاز.

أُضيف في الإصدارة 211.

Property=

اضبط خصائص udev المحددة. يأخذ هذا قائمة مفصولة بمسافات من أزواج المفتاح-القيمة الموصولة بعلامة يساوي ("="). مثال:

Property=HOGE=foo BAR=baz

يدعم هذا الخيار توسيع المحددات البسيط، طالع قسم المحددات أدناه. يمكن تحديد هذا الخيار مرات متعددة. إذا أُسندت سلسلة نصية فارغة، فستُمسح جميع الإسنادات السابقة.

هذا الإعداد مفيد لضبط خاصية "ID_NET_MANAGED_BY=" التي تعلن عن خدمة إدارة الشبكة التي ستُدير الواجهة، والتي تحترمها systemd-networkd(8) وغيرها. استخدم

Property=ID_NET_MANAGED_BY=io.systemd.Network

للإعلان صراحةً أن systemd-networkd ستدير الواجهة، أو اضبط الخاصية على شيء آخر للإعلان صراحةً أنها لن تفعل ذلك. طالع systemd.network(5) للحصول على تفاصيل حول كيفية استخدام هذه الخاصية لمطابقة أسماء الواجهات.

أُضيف في الإصدار 256.

ImportProperty=

استورد خصائص udev المحددة من قاعدة البيانات المحفوظة. يأخذ هذا قائمة مفصولة بمسافات من أسماء الخصائص. مثال:

ImportProperty=HOGE BAR

يدعم هذا الخيار توسيع المحددات البسيط، طالع قسم المحددات أدناه. يمكن تحديد هذا الخيار مرات متعددة. إذا أُسندت سلسلة نصية فارغة، فستُمسح جميع الإسنادات السابقة.

إذا ضُبطت الخاصية نفسها أيضًا في Property= أعلاه، فستُتجاوز قيمة الخاصية المستوردة بالقيمة المحددة في Property=.

أُضيف في الإصدار 256.

UnsetProperty=

ألغِ ضبط خصائص udev المحددة. يأخذ هذا قائمة مفصولة بمسافات من أسماء الخصائص. مثال:

UnsetProperty=HOGE BAR

يدعم هذا الخيار توسيع المحددات البسيط، طالع قسم المحددات أدناه. يمكن تحديد هذا الخيار مرات متعددة. إذا أُسندت سلسلة نصية فارغة، فستُمسح جميع الإسنادات السابقة.

يُطبق هذا الإعداد بعد تطبيق ImportProperty= و Property=. ومن ثم، إذا حُددت الخاصية نفسها في ImportProperty= أو Property=، فستُتجاهل قيمة الخاصية المستوردة أو المحددة، وسيُلغى ضبط الخاصية.

أُضيف في الإصدار 256.

Alias=

تُضبط خاصية الواجهة ifalias على هذه القيمة.

أُضيف في الإصدارة 211.

MACAddressPolicy=

السياسة التي ينبغي ضبط عنوان MAC وفقها. السياسات المتاحة هي:

persistent

إذا كان للعتاد عنوان MAC ثابت، كما هو الحال في معظم العتاد، وإذا كانت النواة تستخدمه، فلا يُفعل شيء. خلاف ذلك، يُولّد عنوان MAC جديد مضمونٌ أن يكون هو نفسه عند كل إقلاع للجهاز المعني والعتاد المعني، ولكنه عشوائي بخلاف ذلك. تعتمد هذه الميزة على وجود خصائص ID_NET_NAME_* للارتباط. على العتاد الذي لا تكون فيه هذه الخصائص مضبوطة، سيفشل توليد عنوان MAC ثابت.

أُضيف في الإصدارة 211.

random

إذا كانت النواة تستخدم عنوان MAC عشوائي، فلا يُفعل شيء. خلاف ذلك، يُولّد عنوان جديد عشوائيًا في كل مرة يظهر فيها الجهاز، عادةً عند الإقلاع. في كلتا الحالتين، سيكون للعنوان العشوائي بتّات "أحادي البث" (unicast) و"مُدار محليًا" (locally administered) مضبوطة.

أُضيف في الإصدارة 211.

none

يحافظ على عنوان MAC المخصّص من النواة. أو استخدم عنوان MAC المحدد في MACAddress=.

أُضيف في الإصدارة 227.

إسناد سلسلة نصية فارغة يعادل الضبط على "none".

أُضيف في الإصدارة 211.

MACAddress=

عنوان MAC الخاص بالواجهة المراد استخدامه. لكي يسري مفعول هذا الإعداد، يجب أن يكون MACAddressPolicy= إما غير مضبوط، أو فارغًا، أو "none".

أُضيف في الإصدارة 211.

NamePolicy=

قائمة مرتبة ومفصولة بمسافات من السياسات التي ينبغي ضبط اسم الواجهة وفقها. يمكن تعطيل NamePolicy= عبر تحديد net.ifnames=0 في سطر أوامر النواة. قد تفشل أي من السياسات، وتُستخدم الأولى الناجحة. الاسم لا يُضبط مباشرة، بل يُصدّر إلى udev كخاصية ID_NET_NAME، التي تُستخدم مبدئيًا بواسطة قاعدة udev(7) لضبط NAME. السياسات المتاحة هي:

kernel

إذا ادعت النواة أن الاسم الذي ضبطته للجهاز متوقع، فلن تُنفذ أي إعادة تسمية.

أُضيف في الإصدارة 216.

database

يُضبط الاسم استنادًا إلى المدخلات في قاعدة بيانات العتاد الخاصة بـ udev بالمفتاح ID_NET_NAME_FROM_DATABASE.

أُضيف في الإصدارة 211.

onboard

يُضبط الاسم استنادًا إلى المعلومات المعطاة بواسطة البرنامج الثابت (firmware) للأجهزة المدمجة على اللوحة، كما هو مُصدّر بواسطة خاصية udev ID_NET_NAME_ONBOARD. طالع systemd.net-naming-scheme(7).

أُضيف في الإصدارة 211.

slot

يُضبط الاسم استنادًا إلى المعلومات المعطاة بواسطة البرنامج الثابت (firmware) للأجهزة القابلة للوصل السريع (hot-plug)، كما هو مُصدّر بواسطة خاصية udev ID_NET_NAME_SLOT. طالع systemd.net-naming-scheme(7).

أُضيف في الإصدارة 211.

المسار

يُضبط الاسم استنادًا إلى الموقع الفيزيائي للجهاز، كما هو مُصدّر بواسطة خاصية udev ID_NET_NAME_PATH. طالع systemd.net-naming-scheme(7).

أُضيف في الإصدارة 211.

mac

يُضبط الاسم استنادًا إلى عنوان MAC الثابت للجهاز، كما هو مُصدّر بواسطة خاصية udev ID_NET_NAME_MAC. طالع systemd.net-naming-scheme(7).

أُضيف في الإصدارة 211.

keep

إذا كان للجهاز اسم أعطاه فضاء المستخدم (كجزء من إنشاء الجهاز أو إعادة تسميته)، فاحتفظ به.

أُضيف في الإصدارة 241.

أُضيف في الإصدارة 211.

Name=

اسم الواجهة المراد استخدامه. لهذا الخيار أولوية أقل من NamePolicy=، لذا لكي يُفعَّل هذا الإعداد، يجب أن يكون NamePolicy= غير معين، أو فارغاً، أو معطلاً، أو يجب أن تفشل جميع السياسات المكونة هناك. راجع أيضًا المثال أدناه مع "Name=dmz0".

لاحظ أن تحديد اسم قد تستخدمه النواة لواجهة أخرى (على سبيل المثال "eth0") أمر خطير لأن تعيين الاسم الذي يقوم به udev سيتسابق مع التعيين الذي تقوم به النواة، ولا يمكن إلا لواجهة واحدة استخدام الاسم. اعتماداً على ترتيب العمليات، سيفوز إما udev أو النواة، مما يجعل التسمية غير متوقعة. من الأفضل استخدام بادئة مختلفة، على سبيل المثال "internal0"/"external0" أو "lan0"/"lan1"/"lan3".

يجب أن يتراوح طول أسماء الواجهات بين 1 كحد أدنى و 15 حرفاً كحد أقصى، ويمكن أن تحتوي على أي حرف من أحرف ASCII بـ 7 بت، باستثناء أحرف التحكم، و":"، و"/"، و"%". على الرغم من أن "." حرف مسموح به، يوصى بتجنبه عند تسمية الواجهات حيث تستخدمه أدوات متنوعة (مثل resolvconf(1)) كحرف فاصل. أيضًا، أسماء الواجهات الرقمية بالكامل غير مسموح بها (لتجنب الغموض مع تحديد الواجهة بواسطة المؤشرات الرقمية)، وكذلك السلاسل الخاصة "."، و".."، و"all"، و"default" غير مسموح بها.

أُضيف في الإصدارة 211.

AlternativeNamesPolicy=

قائمة مفصولة بمسافات للسياسات التي يجب ضبط الأسماء البديلة للواجهة من خلالها. قد تفشل أي من السياسات، وتُستخدم جميع السياسات الناجحة. السياسات المتاحة هي "database"، و"onboard"، و"slot"، و"path"، و"mac". إذا كانت النواة لا تدعم الأسماء البديلة، فسيُتجاهل هذا الإعداد.

أُضيف في الإصدار 245.

AlternativeName=

اسم الواجهة البديل المراد استخدامه. يمكن تحديد هذا الخيار مرات متعددة. إذا عُيِّنَت سلسلة فارغة لهذا الخيار، تُعاد تهيئة القائمة، ولا يكون لأي تعيينات سابقة أي تأثير. إذا كانت النواة لا تدعم الأسماء البديلة، فسيُتجاهل هذا الإعداد.

يمكن استخدام أسماء الواجهات البديلة لتعريف الواجهات في أدوات متنوعة. على عكس الاسم الرئيسي (كما هو مكوَّن باستخدام Name= أعلاه)، قد تكون هناك أسماء بديلة متعددة تشير إلى نفس الواجهة. يمكن أن يكون للأسماء البديلة طول أقصى يبلغ 127 حرفاً، على عكس الـ 15 حرفاً المسموح بها لاسم الواجهة الرئيسي، ولكنها بخلاف ذلك تخضع لنفس قيود التسمية.

أُضيف في الإصدار 245.

TransmitQueues=

يحدد عدد طوابق الإرسال للجهاز. عدد صحيح في النطاق 1...16384. عندما لا يُضبط، يُستخدم المبدئي للنواة.

أُضيف في الإصدار 248.

ReceiveQueues=

يحدد عدد طوابق الاستقبال للجهاز. عدد صحيح في النطاق 1...16384. عندما لا يُضبط، يُستخدم المبدئي للنواة.

أُضيف في الإصدار 248.

TransmitQueueLength=

يحدد طول طابور إرسال الجهاز بعدد الحزم. عدد صحيح بدون إشارة في النطاق 0...4294967294. عند عدم الضبط، سيُستخدم المبدئي الخاص بالنواة.

أُضيف في الإصدار 248.

MTUBytes=

وحدة الإرسال القصوى بالبايت لضبطها للجهاز. اللواحق المعتادة K و M و G مدعومة ومفهومة على أساس 1024.

أُضيف في الإصدارة 211.

BitsPerSecond=

السرعة لضبطها للجهاز، تُقرّب القيمة للأسفل لأقرب ميغابايت في الثانية. اللواحق المعتادة K و M و G مدعومة ومفهومة على أساس 1000.

أُضيف في الإصدارة 211.

Duplex=

نمط الازدواج لضبطه للجهاز. القيم المقبولة هي half و full.

أُضيف في الإصدارة 211.

AutoNegotiation=

يأخذ قيمة منطقية. إذا ضُبط على yes، تُمكّن المفاوضة الآلية لمعلمات الإرسال. المفاوضة الآلية هي إجراء تختار به جهازا إيثرنت متصلان معلمات إرسال مشتركة، مثل السرعة، ونمط الازدواج، والتحكم في التدفق. عند عدم الضبط، سيُستخدم المبدئي الخاص بالنواة.

لاحظ أنه إذا مُكّنت المفاوضة الآلية، فإن إعدادات السرعة والازدواج تكون للقراءة فقط. إذا عُطّلت المفاوضة الآلية، تكون إعدادات السرعة والازدواج قابلة للكتابة إذا كان البرنامج التشغيلي يدعم أنماط ربط متعددة.

أُضيف في الإصدار 233.

WakeOnLan=

سياسة الاستيقاظ عبر الشبكة (Wake-on-LAN) لضبطها للجهاز. تأخذ القيمة الخاصة "off" التي تعطل الاستيقاظ عبر الشبكة، أو قائمة مفصولة بمسافات من الكلمات التالية:

phy

الاستيقاظ عند نشاط الطبقة الفيزيائية (PHY).

أُضيف في الإصدارة 211.

unicast

الاستيقاظ عند رسائل البث الأحادي (unicast).

أُضيف في الإصدارة 235.

multicast

الاستيقاظ عند تلقي رسائل البث المتعدد (multicast).

أُضيف في الإصدارة 235.

broadcast

الاستيقاظ عند تلقي رسائل البث العام (broadcast).

أُضيف في الإصدارة 235.

arp

الاستيقاظ عند تلقي بروتوكول حل العنوان (ARP).

أُضيف في الإصدارة 235.

magic

الاستيقاظ عند تلقي حزمة سحرية (magic packet).

أُضيف في الإصدارة 211.

secureon

تفعيل كلمة سر SecureOn للحزمة السحرية (MagicPacket). يُفترض تلقائياً عند تحديد WakeOnLanPassword=. إذا حُدد الخيار بدون WakeOnLanPassword=، تُقرأ كلمة السر من الاعتمادية "LINK.link.wol.password" (مثلاً، "60-foo.link.wol.password")، وإذا لم تُعثر على الاعتمادية، تُقرأ من "wol.password". طالع ImportCredential=/LoadCredential=/SetCredential= في systemd.exec(5) للتفاصيل. يجب أن تكون كلمة السر في الاعتمادية مكونة من 6 بايتات بصيغة ست عشرية، مع فصل كل بايت بنقطتين (":") مثل عنوان MAC الخاص بإيثرنت، مثلاً: "aa:bb:cc:dd:ee:ff".

أُضيف في الإصدارة 235.

القيمة المبدئية هي غير مضبوط، وسيُستخدم الإعداد المبدئي للجهاز. يمكن تحديد هذا الإعداد عدة مرات. إذا أُسندت سلسلة نصية فارغة، فستُمسح جميع الإسنادات السابقة.

أُضيف في الإصدارة 211.

WakeOnLanPassword=

يحدد كلمة سر SecureOn للحزمة السحرية (MagicPacket). يأخذ مساراً مطلقاً إلى ملف عادي أو مقبس تدفق AF_UNIX، أو كلمة السر النصية. عند تحديد مسار لملف عادي، تُقرأ كلمة السر منه. عند تحديد مقبس تدفق AF_UNIX، يُنشأ اتصال به وتُقرأ كلمة السر منه. يجب أن تكون كلمة السر مكونة من 6 بايتات بصيغة ست عشرية، مع فصل كل بايت بنقطتين (":") مثل عنوان MAC الخاص بإيثرنت، مثلاً: "aa:bb:cc:dd:ee:ff". هذا يستلزم WakeOnLan=secureon. القيمة المبدئية هي غير مضبوط، ولن تُغيّر القيمة الحالية.

أُضيف في الإصدار 250.

Port=

يُستخدم خيار المنفذ لاختيار منفذ الجهاز. القيم المدعومة هي:

tp

واجهة إيثرنت تستخدم كابل الزوج الملتوي كوسيط.

أُضيف في الإصدارة 234.

aui

واجهة وحدة التوصيل (AUI). تُستخدم عادةً مع الموزعات.

أُضيف في الإصدارة 234.

bnc

واجهة إيثرنت تستخدم موصلات BNC وكابل محوري.

أُضيف في الإصدارة 234.

mii

واجهة إيثرنت تستخدم واجهة مستقلة عن الوسائط (MII).

أُضيف في الإصدارة 234.

fibre

واجهة إيثرنت تستخدم الألياف الضوئية كوسيط.

أُضيف في الإصدارة 234.

أُضيف في الإصدارة 234.

Advertise=

يضبط هذا السرعات وأنماط التشغيل مزدوجة الاتجاه التي يُعلن عنها للتفاوض الآلي. هذا يستلزم "AutoNegotiation=yes". القيم المدعومة هي:

جدول 1. قيم الإعلان المدعومة

الإعلان السرعة (ميجابت/ثانية) نمط الازدواج
10baset-full 10 full
10baset1brr-full 10 full
10baset1l-full 10 full
10baset1s-full 10 full
10baset-half 10 half
10baset1s-half 10 half
10baset1s-p2mp-half 10 half
100basefx-full 100 full
100baset-full 100 full
100baset1-full 100 full
100basefx-half 100 half
100baset-half 100 half
1000basekx-full 1000 full
1000baset-full 1000 full
1000baset1-full 1000 full
1000basex-full 1000 full
1000baset-half 1000 half
2500baset-full 2500 full
2500basex-full 2500 full
5000baset-full 5000 full
10000baser-fec 10000  
10000basecr-full 10000 full
10000baseer-full 10000 full
10000basekr-full 10000 full
10000basekx4-full 10000 full
10000baselr-full 10000 full
10000baselrm-full 10000 full
10000basesr-full 10000 full
10000baset-full 10000 full
20000basekr2-full 20000 full
20000basemld2-full 20000 full
25000basecr-full 25000 full
25000basekr-full 25000 full
25000basesr-full 25000 full
40000basecr4-full 40000 full
40000basekr4-full 40000 full
40000baselr4-full 40000 full
40000basesr4-full 40000 full
50000basecr-full 50000 full
50000basecr2-full 50000 full
50000basedr-full 50000 full
50000basekr-full 50000 full
50000basekr2-full 50000 full
50000baselr-er-fr-full 50000 full
50000basesr-full 50000 full
50000basesr2-full 50000 full
56000basecr4-full 56000 full
56000basekr4-full 56000 full
56000baselr4-full 56000 full
56000basesr4-full 56000 full
100000basecr-full 100000 full
100000basecr2-full 100000 full
100000basecr4-full 100000 full
100000basedr-full 100000 full
100000basedr2-full 100000 full
100000basekr-full 100000 full
100000basekr2-full 100000 full
100000basekr4-full 100000 full
100000baselr-er-fr-full 100000 full
100000baselr2-er2-fr2-full 100000 full
100000baselr4-er4-full 100000 full
100000basesr-full 100000 full
100000basesr2-full 100000 full
100000basesr4-full 100000 full
200000basecr-full 200000 full
200000basecr2-full 200000 full
200000basecr4-full 200000 full
200000basedr-2-full 200000 full
200000basedr-full 200000 full
200000basedr2-full 200000 full
200000basedr4-full 200000 full
200000basekr-full 200000 full
200000basekr2-full 200000 full
200000basekr4-full 200000 full
200000baselr2-er2-fr2-full 200000 full
200000baselr4-er4-fr4-full 200000 full
200000basesr-full 200000 full
200000basesr2-full 200000 full
200000basesr4-full 200000 full
200000basevr-full 200000 full
400000basecr2-full 400000 full
400000basecr4-full 400000 full
400000basecr8-full 400000 full
400000basedr2-2-full 400000 full
400000basedr2-full 400000 full
400000basedr4-full 400000 full
400000basedr8-full 400000 full
400000basekr2-full 400000 full
400000basekr4-full 400000 full
400000basekr8-full 400000 full
400000baselr4-er4-fr4-full 400000 full
400000baselr8-er8-fr8-full 400000 full
400000basesr2-full 400000 full
400000basesr4-full 400000 full
400000basesr8-full 400000 full
400000basevr2-full 400000 full
800000basecr4-full 800000 full
800000basecr8-full 800000 full
800000basedr4-2-full 800000 full
800000basedr4-full 800000 full
800000basedr8-2-full 800000 full
800000basedr8-full 800000 full
800000basekr4-full 800000 full
800000basekr8-full 800000 full
800000basesr4-full 800000 full
800000basesr8-full 800000 full
800000basevr4-full 800000 full
800000basevr8-full 800000 full
1600000basecr8-full 1600000 full
1600000basedr8-2-full 1600000 full
1600000basedr8-full 1600000 full
1600000basekr8-full 1600000 full
asym-pause    
aui    
autonegotiation    
backplane    
bnc    
fec-baser    
fec-llrs    
fec-none    
fec-rs    
fibre    
mii    
pause    
tp    

مبدئيًا، هذا الخيار غير مضبوط، أي سيُعلن عن جميع الأنماط الممكنة. قد يُحدد هذا الخيار أكثر من مرة، وفي هذه الحالة يُعلن عن جميع السرعات والأنماط المحددة. إذا أُسندت سلسلة نصية فارغة إلى هذا الخيار، تُصفّر القائمة، ولا يكون لجميع الإسنادات السابقة أي أثر.

أُضيف في الإصدار 240.

ReceiveChecksumOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ العتاد (hardware offload) لحساب مجموع الفحص (checksumming) لحزم الشبكة الواردة. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 245.

TransmitChecksumOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ العتاد لحساب مجموع الفحص لحزم الشبكة الصادرة. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 245.

ScatterGather=

يأخذ قيمة منطقية. إذا ضُبط إلى true، تفعيل ميزة التفريغ حيث يبني العتاد حزمة شبكة من مخازن ذاكرة متعددة غير متجاورة. عند عدم ضبطه، سيُستخدم المبدئي للنواة. هذا يقابل الأمر ethtool -K INTERFACE tx-scatter-gather on|off.

أُضيف في الإصدار 260.

ScatterGatherFragmentList=

يأخذ قيمة منطقية. إذا ضُبط إلى true، تفعيل ميزة التفريغ حيث يبني العتاد حزمة شبكة من قائمة مسلسلة من مخازن المقابس. عند عدم ضبطه، سيُستخدم المبدئي للنواة. هذا يقابل الأمر ethtool -K INTERFACE tx-scatter-gather-fraglist on|off.

أُضيف في الإصدار 260.

TCPSegmentationOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ تجزئة TCP‏ (TSO). عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 232.

TCPECNSegmentationOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُنفَّذ تفريغ تجزئة TCP حتى عند نشاط أعلام ECN (إشعار الازدحام الصريح) في تدفق TCP. عند عدم ضبطه، سيُستخدم المبدئي للنواة. هذا يقابل الأمر ethtool -K INTERFACE tx-tcp-ecn-segmentation on|off.

أُضيف في الإصدار 260.

TCPMangleIdSegmentationOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُنفَّذ تفريغ تجزئة TCP حتى لو كان العتاد غير قادر على زيادة حقل تعريف IPv4 (ID) بشكل صحيح لكل حزمة ناتجة. عند عدم ضبطه، سيُستخدم المبدئي للنواة. هذا يقابل الأمر ethtool -K INTERFACE tx-tcp-mangleid-segmentation on|off.

أُضيف في الإصدار 260.

TCP6SegmentationOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ تجزئة TCP6 (tx-tcp6-segmentation). عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدارة 235.

GenericSegmentationOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ التجزئة العام (GSO). عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 232.

PartialGenericSegmentationOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ التجزئة العام الجزئي (GSO_Partial). طالع Partial Generic Segmentation Offload[3] للمزيد من التفاصيل. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 258.

GenericReceiveOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ الاستلام العام (GRO). عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 232.

GenericReceiveOffloadHardware=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ الاستلام العام (GRO) المسارع عتاديًا. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

GenericReceiveOffloadList=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ الاستلام العام (GRO) لقائمة UDP. عند عدم ضبطه، سيُستخدم المبدئي للنواة. هذا يقابل الأمر ethtool -K INTERFACE rx-gro-list on|off.

أُضيف في الإصدار 260.

GenericReceiveOffloadUDPForwarding=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ الاستلام العام (GRO) لتجميع حزم UDP الواردة. عند عدم ضبطه، سيُستخدم المبدئي للنواة. هذا يقابل الأمر ethtool -K INTERFACE rx-udp-gro-forwarding on|off.

أُضيف في الإصدار 260.

LargeReceiveOffload=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تفريغ الاستلام الكبير (LRO). عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 232.

ReceivePacketSteeringCPUMask=

يضبط قائمة المعالجات التي قد يوجه إليها RPS حركة المرور (توجيه حزم الاستلام - RPS). يأخذ قائمة بفهارس المعالجات أو نطاقاتها مفصولة بمسافة بيضاء أو بفواصل. بدلاً من ذلك، يأخذ القيمة الخاصة "all"، التي ستشمل جميع المعالجات المتاحة في القناع. تُحدد نطاقات المعالجات بفهرس المعالج الأدنى والأعلى مفصولين بشرطة (مثال: "2-6"). قد يُحدد هذا الخيار أكثر من مرة، وفي هذه الحالة تُدمج قائمة نطاقات المعالجات المحددة. إذا أُسندت سلسلة نصية فارغة، تُصفّر القائمة، ولن يكون لجميع الإسنادات السابقة أي أثر. مبدئيًا هو غير مضبوط وتبقى قائمة معالجات RPS دون تغيير. لتعطيل RPS بعد أن كان مفعلًا، استخدم القيمة الخاصة "disable".

أُضيف في الإصدار 256.

IRQAffinityPolicy=

يحدد استراتيجية توزيع IRQ لمقاطعات MSI/MSI-X لواجهة الشبكة. يأخذ إحدى القيم "spread" أو "single". عندما يُضبط على "spread"، تُوزع IRQs الطوابق عبر وحدات المعالجة المركزية باستخدام خوارزمية أقصى مسافة واعية بالطوبولوجيا تفضل وحدات المعالجة المركزية على عقد NUMA مختلفة، ثم النوى المادية المختلفة، ثم الخيوط الفائقة المختلفة. عندما يُضبط على "single"، تُثبت جميع IRQs على وحدة معالجة مركزية واحدة (وحدة المعالجة المركزية 0 مبدئيًا، أو أول وحدة معالجة مركزية في المجموعة المحددة بواسطة IRQAffinity=). عندما يكون عدد IRQs أكبر من وحدات المعالجة المركزية المتاحة، تُلف الطوابق باستخدام تعيين دائري. عندما لا يُضبط، لا يُجرى أي إدارة للتقارب. ضبط هذا على سلسلة محارف فارغة يُعطل إدارة التقارب صراحة.

ينطبق هذا الخيار فقط على الأجهزة ذات مقاطعات MSI/MSI-X القابلة للاكتشاف عبر /sys/class/net/iface/device/msi_irqs/. تُتجاوز الأجهزة الافتراضية (veth, tap) والأجهزة القديمة INTx مع تسجيل إشعار.

لاحظ أنه إذا كانت برامج خدمة irqbalance(1) أو برامج خدمة إدارة IRQ مماثلة قيد التشغيل، فقد تتجاوز التقارب المُهيأ. فكر في تعطيل هذه البرامج الخدمية أو تهيئتها لاستبعاد الواجهات المُدارة.

أُضيف في الإصدار 260.

IRQAffinity=

يُرشح مجموعة وحدات المعالجة المركزية المؤهلة لوضع IRQ. يأخذ قائمة بمؤشرات وحدات المعالجة المركزية أو نطاقات مفصولة إما بمسافات بيضاء أو فواصل (مثل "0-3", "0,2,4,6", "0-3,8-11"). يعمل هذا الخيار بالتزامن مع IRQAffinityPolicy= و IRQAffinityNUMA= لتقييد وحدات المعالجة المركزية التي تستقبل IRQs الشبكة. عندما يُحدد مع سياسة "spread"، تُؤخذ فقط وحدات المعالجة المركزية المدرجة في الاعتبار لتوزيع IRQ. عندما يُحدد مع سياسة "single"، تُثبت IRQs على أول وحدة معالجة مركزية في المجموعة المسموح بها بدلاً من وحدة المعالجة المركزية 0. ليس له تأثير إذا لم يُضبط IRQAffinityPolicy=.

أُضيف في الإصدار 260.

IRQAffinityNUMA=

يُرشح وحدات المعالجة المركزية لتلك التابعة لعقدة NUMA المحددة. يأخذ إما "local" أو رقم عقدة NUMA صريح (0, 1, 2, ...). عندما يُضبط على "local"، تُستخدم عقدة NUMA المحلية لفتحة PCIe لبطاقة NIC (المحددة من /sys/class/net/iface/device/numa_node). إذا تعذر تحديد عقدة NUMA للجهاز (مثل نظام غير NUMA)، يُسجل تحذير وتُتجاوز تهيئة تقارب IRQ.

عندما يُحدد كل من IRQAffinity= و IRQAffinityNUMA=، يُستخدم تقاطعهما. إذا نتج عن التقاطع مجموعة فارغة، يُسجل خطأ ولا يُطبق أي تقارب. ليس له تأثير إذا لم يُضبط IRQAffinityPolicy=.

أُضيف في الإصدار 260.

ReceiveVLANCTAGHardwareAcceleration=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تسريع عتاد VLAN CTAG للاستلام. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

TransmitVLANCTAGHardwareAcceleration=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تسريع عتاد VLAN CTAG للإرسال. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

ReceiveVLANCTAGFilter=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل ترشيح الاستلام على VLAN CTAGs. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

TransmitVLANSTAGHardwareAcceleration=

يأخذ قيمة منطقية. إذا ضُبط إلى true، يُفعَّل تسريع عتاد VLAN STAG للإرسال. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

NTupleFilter=

يأخذ قيمة منطقية. إذا ضُبط إلى true، تُفعَّل مرشحات وإجراءات N-tuple للاستلام. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

ReceiveFCS=

يأخذ قيمة منطقية. إذا ضُبط إلى true، مُرِّر قيمة تسلسل فحص الإطار (FCS) أعلى المكدس دون تقليمها، واسمح لمساحة المستخدم بحساب معدل الخطأ أو صحة الوصلة. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 258.

ReceiveAll=

يأخذ قيمة منطقية. إذا ضُبط إلى true، اسمح للواجهة أيضًا باستلام إطارات إيثرنت التالفة. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 258.

RxChannels=, TxChannels=, OtherChannels=, CombinedChannels=

يحدد عدد قنوات الاستلام، أو الإرسال، أو القنوات الأخرى، أو المدمجة، على التوالي. يأخذ عددًا صحيحًا غير سالب في النطاق 1...4294967295 أو "max". إذا ضُبط إلى "max"، سيُستخدم الحد الأقصى المعلن عنه للعتاد. عند عدم ضبطه، لن يتغير الرقم. مبدئيًا هو غير مضبوط.

أُضيف في الإصدار 239.

RxBufferSize=, RxMiniBufferSize=, RxJumboBufferSize=, TxBufferSize=

يحدد الحد الأقصى لعدد الحزم المعلقة في مخزن استلام بطاقة واجهة الشبكة (NIC)، أو مخزن الاستلام المصغر، أو مخزن استلام الجامبو، أو مخزن الإرسال، على التوالي. يأخذ عددًا صحيحًا غير سالب في النطاق 1...4294967295 أو "max". إذا ضُبط إلى "max"، سيُستخدم الحد الأقصى المعلن عنه للعتاد. عند عدم ضبطه، لن يتغير الرقم. مبدئيًا هو غير مضبوط.

أُضيف في الإصدارة 244.

RxFlowControl=

يأخذ قيمة منطقية. عند ضبطه، يُفعَّل التحكم في تدفق الاستلام، والمعروف أيضًا برسالة الإيقاف المؤقت (PAUSE) لاستلام إيثرنت (توليد وإرسال إطارات إيقاف إيثرنت المؤقت). عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 246.

TxFlowControl=

يأخذ قيمة منطقية. عند ضبطه، يُفعَّل التحكم في تدفق الإرسال، والمعروف أيضًا برسالة الإيقاف المؤقت (PAUSE) لإرسال إيثرنت (الاستجابة لإطارات إيقاف إيثرنت المؤقت المستلمة). عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 246.

AutoNegotiationFlowControl=

يأخذ قيمة منطقية. عند ضبطه، تُمكِّن المفاوضة الآلية الواجهة من تبادل إعلانات الحالة مع المتراسل المتصل بحيث يمكن للجهازين الاتفاق على ضبط إيقاف إيثرنت المؤقت. عند عدم ضبطه، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 246.

GenericSegmentOffloadMaxBytes=

يحدد الحد الأقصى لحجم حزمة تفريغ التجزئة العام (GSO) التي ينبغي للجهاز قبولها. اللواحق المعتادة K، M، G مدعومة ومفهومة على أساس 1024. عدد صحيح غير سالب في النطاق 1...65536. مبدئيًا هو غير مضبوط.

أُضيف في الإصدار 248.

GenericSegmentOffloadMaxSegments=

يحدد الحد الأقصى لعدد أجزاء تفريغ التجزئة العام (GSO) التي ينبغي للجهاز قبولها. عدد صحيح غير سالب في النطاق 1...65535. مبدئيًا هو غير مضبوط.

أُضيف في الإصدار 248.

UseAdaptiveRxCoalesce=, UseAdaptiveTxCoalesce=

خصائص منطقية، عند ضبطها، تُفعِّل/تُعطِّل دمج Rx/Tx التكيفي إذا كان العتاد يدعمه. عند عدم ضبطها، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

RxCoalesceSec=, RxCoalesceIrqSec=, RxCoalesceLowSec=, RxCoalesceHighSec=, TxCoalesceSec=, TxCoalesceIrqSec=, TxCoalesceLowSec=, TxCoalesceHighSec=

تضبط هذه الخصائص التأخير قبل توليد مقاطعات Rx/Tx بعد إرسال/استلام حزمة. تدخل خصائص "Irq" حيز التنفيذ عند خدمة المضيف لطلب مقاطعة (IRQ). تدخل خصائص "Low" و "High" حيز التنفيذ عندما ينخفض معدل الحزم عن عتبة معدل الحزم المنخفض أو يتجاوز عتبة معدل الحزم المرتفع على التوالي، إذا كان دمج Rx/Tx التكيفي مفعلًا. عند عدم ضبطها، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

RxMaxCoalescedFrames=, RxMaxCoalescedIrqFrames=, RxMaxCoalescedLowFrames=, RxMaxCoalescedHighFrames=, TxMaxCoalescedFrames=, TxMaxCoalescedIrqFrames=, TxMaxCoalescedLowFrames=, TxMaxCoalescedHighFrames=

تضبط هذه الخصائص الحد الأقصى لعدد الإطارات التي تُرسل/تُستلم قبل توليد مقاطعة Rx/Tx. تدخل خصائص "Irq" حيز التنفيذ عند خدمة المضيف لطلب مقاطعة (IRQ). تدخل خصائص "Low" و "High" حيز التنفيذ عندما ينخفض معدل الحزم عن عتبة معدل الحزم المنخفض أو يتجاوز عتبة معدل الحزم المرتفع على التوالي، إذا كان دمج Rx/Tx التكيفي مفعلًا. عند عدم ضبطها، سيُستخدم المبدئي للنواة.

أُضيف في الإصدار 250.

CoalescePacketRateLow=, CoalescePacketRateHigh=

تضبط هذه الخصائص حد معدل الحزم المنخفض والمرتفع (المعبر عنه بحزم في الثانية) على التوالي، وتُستخدم لتحديد متى تُفعَّل إعدادات تجميع الحزم المقابلة لمعدلات الحزم المنخفضة والمرتفعة إذا كان تجميع Rx/Tx التكيفي مُمكَّناً. إذا لم تُضبط، ستُستخدم القيم المبدئية للنواة.

أُضيف في الإصدار 250.

CoalescePacketRateSampleIntervalSec=

يضبط تكرار أخذ عينات لمعدل الحزم المُستخدم لتجميع Rx/Tx التكيفي. لا يمكن أن تكون هذه الخاصية صفراً. أدنى دقة زمنية تدعمها هذه الخاصية هي الثواني. ستُقرَّب أجزاء الثانية للأعلى قبل تمريرها إلى النواة. إذا لم تُضبط، ستُستخدم القيمة المبدئية للنواة.

أُضيف في الإصدار 250.

StatisticsBlockCoalesceSec=

مدة تأخير تحديثات كتلة الإحصائيات الموجودة في ذاكرة البرنامج الملحق (driver). إذا لم يكن للبرنامج الملحق كتلة إحصائيات في الذاكرة، تُتجاهل هذه الخاصية. لا يمكن أن تكون هذه الخاصية صفراً. إذا لم تُضبط، ستُستخدم القيمة المبدئية للنواة.

أُضيف في الإصدار 250.

MDI=

يحدد نمط الواجهة المعتمدة على الوسيط (MDI) للواجهة. تصف MDI الواجهة من تنفيذ الطبقة الفيزيائية إلى الوسيط الفيزيائي المُستخدم لنقل الإرسال. تأخذ إحدى الكلمات التالية: "straight" (أو ما يعادلها: "mdi")، و"crossover" (أو ما يعادلها: "mdi-x"، "mdix")، و"auto". عند اختيار "straight"، سيُستخدم نمط MDI المباشر. عند اختيار "crossover"، سيُستخدم نمط MDI المتقاطع (MDI-X). عند اختيار "auto"، تُكتشف حالة MDI آلياً. المبدئي هو عدم الضبط، وستُستخدم القيمة المبدئية للنواة.

أُضيف في الإصدار 251.

SR-IOVVirtualFunctions=

يحدد عدد الوظائف الافتراضية لـ SR-IOV. يأخذ عدداً صحيحاً في النطاق 0...2147483647. المبدئي هو عدم الضبط، ويُحدد آلياً من القيم المحددة في إعدادات VirtualFunction= في أقسام [SR-IOV].

أُضيف في الإصدار 251.

خيارات قسم [SR-IOV]

يوفر SR-IOV القدرة على تقسيم مورد PCI فيزيائي واحد إلى وظائف PCI افتراضية يمكن، على سبيل المثال، حقنها في آلة افتراضية (VM). في حالة وظائف الشبكة الافتراضية (VFs)، يقلل SR-IOV من زمن التأخير واستهلاك المعالج لحركة مرور الشبكة من نوع (north-south) (أي حركة المرور ذات النهايات الطرفية خارج الجهاز المضيف)، وذلك بالسماح لحركة المرور بتجاوز مكدس شبكة الجهاز المضيف.

وجود قسم [SR-IOV] في ملف .link سيؤدي إلى إنشاء وضبط الوظيفة الافتراضية المحددة. داخل ملف .network، ستُضبط الوظيفة الافتراضية المحددة، ولكن يجب أن تكون موجودة بالفعل. حدد عدة أقسام [SR-IOV] لضبط عدة SR-IOVs.

يقبل قسم [SR-IOV] المفاتيح التالية.

VirtualFunction=

يحدد وظيفة افتراضية (VF)، وهي وظيفة PCIe خفيفة الوزن مصممة خصيصاً لنقل البيانات للداخل والخارج. يأخذ عدداً صحيحاً في النطاق من 0 إلى 2147483646. هذا الخيار إلزامي.

أُضيف في الإصدار 251.

VLANId=

يحدد معرف VLAN للوظيفة الافتراضية. يأخذ عدداً صحيحاً في النطاق من 1 إلى 4095.

أُضيف في الإصدار 251.

QualityOfService=

يحدد جودة الخدمة (QoS) للوظيفة الافتراضية. يأخذ عدداً صحيحاً في النطاق من 1 إلى 4294967294.

أُضيف في الإصدار 251.

VLANProtocol=

يحدد بروتوكول VLAN للوظيفة الافتراضية. يأخذ "802.1Q" أو "802.1ad".

أُضيف في الإصدار 251.

MACSpoofCheck=

يأخذ قيمة بولية. يتحكم في فحص انتحال عنوان MAC. عند عدم الضبط، سَتُسْتَخْدَمُ القيمة المبدئية للنواة.

أُضيف في الإصدار 251.

QueryReceiveSideScaling=

يأخذ قيمة بولية. يبدل القدرة على الاستعلام عن ضبط تدريج جانب الاستلام (RSS) للوظيفة الافتراضية (VF). قد تعتبر معلومات RSS لـ VF مثل مفتاح تجزئة RSS حساسة في بعض الأجهزة حيث تُشارَك هذه المعلومات بين VF والوظيفة المادية (PF). عند عدم الضبط، سَتُستخدَم القيمة المبدئية للنواة.

أُضيف في الإصدار 251.

Trust=

يأخذ قيمة بولية. يُضبَط وضع الثقة للوظيفة الافتراضية (VF). عند الضبط، يمكن لمستخدمي VF ضبط ميزة معينة قد تؤثر على الأمن و/أو الأداء. عند عدم الضبط، سَتُستخدَم القيمة المبدئية للنواة.

أُضيف في الإصدار 251.

LinkState=

يُسمح بتعيين حالة الارتباط للوظيفة الافتراضية (VF). يقبل قيمة منطقية أو القيمة الخاصة "auto". الضبط على "auto" يعني عكس حالة ارتباط الوظيفة المادية (PF)، بينما تسمح القيمة "yes" للـ VF بالتواصل مع الوظائف الافتراضية الأخرى على هذا المضيف حتى لو كانت حالة PF معطلة، والمقيمة "no" تجعل الأجهزة تسقط أي حزم مرسلة بواسطة الـ VF. عند عدم التعيين، ستُستخدم القيمة المبدئية للنواة (kernel).

أُضيف في الإصدار 251.

MACAddress=

يحدد عنوان MAC للوظيفة المبدئية.

أُضيف في الإصدار 251.

خيارات القسم [ENERGYEFFICIENTETHERNET]

يتحكم القسم [EnergyEfficientEthernet] في ميزة الإيثرنت الموفر للطاقة (EEE) للواجهة، ويقبل المفاتيح التالية.

Enable=

يأخذ وسيطاً منطقياً. عندما يكون true، ستُفعَّل ميزة الإيثرنت الموفر للطاقة (EEE) على الواجهة. المبدئي هو عدم الضبط، ولن تتغير حالة تفعيل EEE.

أُضيف في الإصدار 258.

TxLowPowerIdle=

يأخذ وسيطاً منطقياً. عندما يكون true، سيُفعَّل نمط خمول الطاقة المنخفضة للإرسال (Tx-LPI) لميزة الإيثرنت الموفر للطاقة على الواجهة. المبدئي هو عدم الضبط، ولن تتغير حالة تفعيل النمط.

أُضيف في الإصدار 258.

TxLowPowerIdleSec=

يأخذ فترة زمنية. يضبط هذا المدة التي يجب ألا تدخل فيها الواجهة إلى نمط خمول الطاقة المنخفضة بعد الإرسال. إذا كانت قصيرة جداً، فقد تنخفض الأداء. إذا كانت طويلة جداً، فقد لا تُحقق وفراً في الطاقة. المبدئي هو عدم الضبط، ولن تتغير الفترة الزمنية.

أُضيف في الإصدار 258.

LinkMode=

يأخذ قائمة بأنماط الربط، على سبيل المثال: "1000baset-full". انظر الجدول الخاص بإعداد Advertise= في قسم [Link] أعلاه لمعرفة القيم الممكنة. يضبط هذا أنماط الاتصال القادرة على الإيثرنت الموفر للطاقة التي سيُعلن عنها. المبدئي هو عدم الضبط، ولن تتغير الأنماط المعلن عنها.

أُضيف في الإصدار 258.

المحددات

تحل بعض الإعدادات مُحددات يمكن استخدامها لكتابة ملفات وحدات عامة تشير إلى بارامترات وقت التشغيل أو الوحدة التي تُستبدل عند تحميل ملفات الوحدات. يجب أن تكون المُحددات معروفة وقابلة للحل ليكون الإعداد صالحاً. المُحددات التالية مفهومة:

جدول 2. المُحددات المتاحة في ملفات الوحدات

المحدد المعنى التفاصيل
"%a" المعمارية سلسلة نصية قصيرة تحدد معمارية النظام المحلي. سلسلة مثل x86 أو x86-64 أو arm64. انظر المعماريات المحددة لـ ConditionArchitecture= في systemd.unit(5) للحصول على قائمة كاملة.
"%A" إصدار صورة نظام التشغيل معرف إصدار صورة نظام التشغيل للنظام المشغل، كما يُقرأ من حقل IMAGE_VERSION= في /etc/os-release. إذا لم يُضبط، يُحل إلى سلسلة فارغة. انظر os-release(5) لمزيد من المعلومات.
"%b" معرف الإقلاع معرف الإقلاع للنظام المشغل، منسق كسلسلة نصية. انظر random(4) لمزيد من المعلومات.
"%B" معرف بناء نظام التشغيل معرف بناء نظام التشغيل للنظام المشغل، كما يُقرأ من حقل BUILD_ID= في /etc/os-release. إذا لم يُضبط، يُحل إلى سلسلة فارغة. انظر os-release(5) لمزيد من المعلومات.
"%H" اسم المضيف اسم مضيف النظام المشغل.
"%l" اسم المضيف القصير اسم مضيف النظام المشغل، مقتطعًا عند النقطة الأولى لإزالة أي مكون نطاق.
"%m" معرف الآلة معرف الجهاز للنظام المشغل، منسق كسلسلة نصية. انظر machine-id(5) لمزيد من المعلومات.
"%M" معرف صورة نظام التشغيل معرف صورة نظام التشغيل للنظام المشغل، كما يُقرأ من حقل IMAGE_ID= في /etc/os-release. إذا لم يُضبط، يُحل إلى سلسلة فارغة. انظر os-release(5) لمزيد من المعلومات.
"%o" معرف نظام التشغيل معرف نظام التشغيل للنظام المشغل، كما يُقرأ من حقل ID= في /etc/os-release. انظر os-release(5) لمزيد من المعلومات.
"%q" اسم المضيف الجميل اسم المضيف الجميل للنظام المشغل، كما يُقرأ من حقل PRETTY_HOSTNAME= في /etc/machine-info. إذا لم يُضبط، يُحل إلى اسم المضيف القصير. انظر machine-info(5) لمزيد من المعلومات.
"%T" مجلد للملفات المؤقتة هذا إما /tmp أو المسار الذي ضُبطت إليه "$TMPDIR" أو "$TEMP" أو "$TMP". (لاحظ أن الدليل قد يُحدد بدون شرطة مائلة لاحقة.)
"%v" إصدار النواة مطابق لمخرجات uname -r.
"%V" مجلد للملفات المؤقتة الأكبر حجمًا والمستمرة هذا إما /var/tmp أو المسار الذي ضُبطت إليه "$TMPDIR" أو "$TEMP" أو "$TMP". (لاحظ أن الدليل قد يُحدد بدون شرطة مائلة لاحقة.)
"%w" معرف إصدار نظام التشغيل معرف إصدار نظام التشغيل للنظام المشغل، كما يُقرأ من حقل VERSION_ID= في /etc/os-release. إذا لم يُضبط، يُحل إلى سلسلة فارغة. انظر os-release(5) لمزيد من المعلومات.
"%W" معرف نوع نظام التشغيل معرف تنويعة نظام التشغيل للنظام المشغل، كما يُقرأ من حقل VARIANT_ID= في /etc/os-release. إذا لم يُضبط، يُحل إلى سلسلة فارغة. انظر os-release(5) لمزيد من المعلومات.

أمثلة

مثال 1. /usr/lib/systemd/network/99-default.link

يحدد ملف الربط 99-default.link المُرفق مع systemd السياسات المبدئية لاسم الواجهة، والأسماء البديلة، وعنوان MAC للروابط.

[Match]
OriginalName=*
[Link]
NamePolicy=keep kernel database onboard slot path
AlternativeNamesPolicy=database onboard slot path
MACAddressPolicy=persistent

مثال 2. /etc/systemd/network/10-dmz.link

يعين هذا المثال الاسم الثابت "dmz0" للواجهة ذات عنوان MAC 00:a0:de:63:7a:e6:

[Match]
MACAddress=00:a0:de:63:7a:e6
[Link]
Name=dmz0

NamePolicy= غير مضبوط، لذا يسري مفعول Name=. نستخدم البادئة "10-" لترتيب هذا الملف مبكراً في القائمة. لاحظ أنه يجب أن يكون قبل 99-default.link، أي يجب أن يكون له بادئة رقمية، ليكون له أي تأثير.

مثال 3. (إعادة) تطبيق ملف .link على واجهة

بعد إنشاء ملف .link جديد، أو تعديل ملف .link موجود، يمكن تطبيق الإعدادات الجديدة على الواجهة المطابقة بالأوامر التالية:

$ sudo udevadm control --reload
$ sudo ip link set eth0 down
$ sudo udevadm trigger --verbose --settle --action add /sys/class/net/eth0

قد تحتاج أيضًا إلى إيقاف الخدمة التي تدير واجهة الشبكة، على سبيل المثال: systemd-networkd.service(8) أو NetworkManager.service قبل العملية أعلاه، ثم إعادة تشغيل الخدمة بعد ذلك. لمزيد من التفاصيل حول أمر udevadm، انظر udevadm(8).

مثال 4. تنقيح تعيينات NamePolicy=

$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/hub0
...
حُلل ملف الضبط /usr/lib/systemd/network/99-default.link
حُلل ملف الضبط /etc/systemd/network/10-eth0.link
ID_NET_DRIVER=cdc_ether
ملف الضبط /etc/systemd/network/10-eth0.link ينطبق على الجهاز hub0
link_config: التفاوض الآلي غير مضبوط أو مُمكَّن، السرعة والازدواج غير قابلين للكتابة.
hub0: الجهاز لديه name_assign_type=4
استخدام مخطط تسمية الواجهة المبدئي 'v240'.
hub0: السياسات لم تنتج اسماً، استخدام الاسم المحدد Name=hub0.
ID_NET_LINK_FILE=/etc/systemd/network/10-eth0.link
ID_NET_NAME=hub0
...

ضبط Name= الصريح هو الذي يسود في هذه الحالة.

sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/enp0s31f6
...
حُلل ملف الضبط /usr/lib/systemd/network/99-default.link
حُلل ملف الضبط /etc/systemd/network/10-eth0.link
أُنشئ سياق ضبط الربط.
ID_NET_DRIVER=e1000e
ملف الضبط /usr/lib/systemd/network/99-default.link ينطبق على الجهاز enp0s31f6
link_config: التفاوض الآلي غير مضبوط أو مُمكَّن، السرعة والازدواج غير قابلين للكتابة.
enp0s31f6: الجهاز لديه name_assign_type=4
استخدام مخطط تسمية الواجهة المبدئي 'v240'.
enp0s31f6: السياسة *keep*: الحفاظ على اسم فضاء المستخدم الموجود
enp0s31f6: الجهاز لديه addr_assign_type=0
enp0s31f6: MAC الموجود على الجهاز يطابق بالفعل السياسة *persistent*
ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
...

في هذه الحالة، أُعيد تسمية الواجهة بالفعل، لذا فإن سياسة keep المحددة كخيار أول في 99-default.link تعني الحفاظ على الاسم الموجود. إذا أُزيلت keep، أو إذا كنا في مرحلة الإقلاع قبل حدوث إعادة التسمية، فقد نحصل على ما يلي بدلاً من ذلك:

enp0s31f6: Policy *path* yields "enp0s31f6".
enp0s31f6: Device has addr_assign_type=0
enp0s31f6: MAC on the device already matches policy *persistent*
ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
ID_NET_NAME=enp0s31f6
...

يُرجى ملاحظة أن تفاصيل المخرجات قابلة للتغيير.

مثال 5. /etc/systemd/network/10-internet.link

يعين هذا المثال الاسم الثابت "internet0" للواجهة ذات مسار الجهاز "pci-0000:00:1a.0-*":

[Match]
Path=pci-0000:00:1a.0-*
[Link]
Name=internet0

مثال 6. /etc/systemd/network/25-wireless.link

إليك مثال معقد للغاية يوضح استخدام عدد كبير من إعدادات [Match] و[Link].

[Match]
MACAddress=12:34:56:78:9a:bc
Driver=brcmsmac
Path=pci-0000:02:00.0-*
Type=wlan
Virtualization=no
Host=my-laptop
Architecture=x86-64
[Link]
Name=wireless0
MTUBytes=1450
BitsPerSecond=10M
WakeOnLan=magic
MACAddress=cb:a9:87:65:43:21

انظر أيضًا

systemd-udevd.service(8), udevadm(8), systemd.netdev(5), systemd.network(5), systemd-network-generator.service(8)

ملاحظات

1.
💣💥🧨💥💥💣 يرجى ملاحظة أن ملفات الضبط تلك يجب أن تكون متوفرة في جميع الأوقات. إذا كان /usr/local/ قسماً منفصلاً، فقد لا يكون متوفراً أثناء بدء التشغيل المبكر، ويجب عدم استخدامه للضبط.
2.
بيانات اعتماد النظام والخدمة
3.
إفراغ تجزئة عام جزئي

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

systemd 261~rc3