sk98lin(4)

الاسم
sk98lin - تعريف Gigabit Ethernet من Marvell/SysKonnect الإصدار 6.21

موجز
insmod sk98lin.o [Speed_A=i,j,...] [Speed_B=i,j,...] [AutoNeg_A=i,j,...] [AutoNeg_B=i,j,...] [DupCap_A=i,j,...] [DupCap_B=i,j,...] [FlowCtrl_A=i,j,...] [FlowCtrl_B=i,j,...] [Role_A=i,j,...] [Role_B=i,j,...] [ConType=i,j,...] [Moderation=i,j,...] [IntsPerSec=i,j,...] [PrefPort=i,j,...] [RlmtMode=i,j,...]

الوصف
ملاحظة: أُزيل هذا التعريف المهجور في لينكس 2.6.26.

sk98lin هو تعريف Gigabit Ethernet لبطاقات مهيئ الشبكة من Marvell و SysKonnect. وهو يدعم مهيئ Gigabit Ethernet المتوافق مع SysKonnect SK-98xx/SK-95xx وأي طقم رقائق متوافق مع Yukon.

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

    insmod sk98lin.o AutoNeg_A=On,Off

بعد ربط sk98lin ببطاقة مهيئ واحدة أو أكثر ووصل نظام ملفات /proc على نظامك، سيُنشأ ملف إحصاءات مخصص في المجلد /proc/net/sk98lin لكل منافذ بطاقات مهيئ الشبكة المثبتة. تُسمى هذه الملفات eth[x]، حيث x هو رقم الواجهة التي خُصصت لمنفذ معين بواسطة النظام.

إذا انتهى التحميل، يمكن تعيين أي عنوان IP مرغوب للواجهة eth[x] المعنية باستخدام أمر ifconfig(8). يؤدي هذا إلى اتصال المهيئ بالإيثرنت وعرض رسالة حالة على الطرفية تقول "ethx: network connection up using port y" متبوعة بمعاملات الاتصال المضبوطة أو المكتشفة.

يدعم sk98lin أيضًا الإطارات الكبيرة (تسمى أيضًا الإطارات الضخمة jumbo frames). يمكن لتحسين الإنتاجية بشكل هائل عند نقل كميات كبيرة من البيانات باستخدام الإطارات الضخمة. لتمكين الإطارات الكبيرة، يجب ضبط حجم MTU (وحدة النقل القصوى) للواجهة على قيمة عالية. حجم MTU المبدئي هو 1500 ويمكن تغييره حتى 9000 (بايت). يمكن ضبط حجم MTU عند تعيين عنوان IP للواجهة أو لاحقًا باستخدام أمر ifconfig(8) مع معامل mtu. فمثلاً إذا احتاج eth0 لعنوان IP وحجم MTU لإطار كبير، يمكن استخدام هذين الأمرين:

    ifconfig eth0 10.1.1.1
    ifconfig eth0 mtu 9000

يمكن دمج هذين الأمرين في أمر واحد:

    ifconfig eth0 10.1.1.1 mtu 9000

لاحظ أن الإطارات الكبيرة لا يمكن استخدامها إلا إذا سمحت بذلك البنية التحتية لشبكتك. وهذا يعني أن أي مبدل (switch) مستخدم في الإيثرنت يجب أن يدعم أيضًا الإطارات الكبيرة. تدعم بعض المبدلات الإطارات الكبيرة، ولكنها تحتاج إلى أن تُضبط للقيام بذلك. في معظم الأوقات، يكون إعدادها المبدئي هو دعم الإطارات القياسية فقط بحجم MTU قدره 1500 (بايت). بالإضافة إلى المبدلات داخل الشبكة، يجب أيضًا تمكين جميع مهيئات الشبكة المراد استخدامها فيما يتعلق بالإطارات الضخمة. إذا لم يُضبط المهيئ لاستلام الإطارات الكبيرة، فسيقوم ببساطة بإهمالها.

يمكن الرجوع إلى حجم إطارات إيثرنت القياسي باستخدام أمر ifconfig(8) مجدداً:

    ifconfig eth0 mtu 1500

يستطيع تعريف Gigabit Ethernet من Marvell/SysKonnect للينكس دعم VLAN وتجميع الروابط (Link Aggregation) وفقاً لمعايير IEEE 802.1 و 802.1q و 802.3ad. تتوفر هذه الميزات فقط بعد تثبيت نماذج مفتوحة المصدر يمكن العثور عليها على الإنترنت:

VLAN: http://www.candelatech.com/~greear/vlan.html
Link Aggregation: http://www.st.rim.or.jp/~yumo

لاحظ أن Marvell/SysKonnect لا تقدم أي دعم لهذه النماذج مفتوحة المصدر ولا تتحمل المسؤولية عن أي نوع من الإخفاقات أو المشاكل الناشئة عند استخدامها.

  المعاملات

Speed_A=i,j,...
    يستخدم هذا المعامل لضبط قدرات السرعة للمنفذ A لبطاقة المهيئ. وهو صالح فقط لمهيئات Yukon النحاسية. القيم الممكنة هي: 10 أو 100 أو 1000 أو Auto؛ Auto هو المبدئي. عادةً ما يتم التفاوض على السرعة بين المنفذين أثناء إنشاء الرابط. إذا فشل ذلك، يمكن إجبار المنفذ على إعداد معين باستخدام هذا المعامل.

Speed_B=i,j,...
    يستخدم هذا المعامل لضبط قدرات السرعة للمنفذ B لبطاقة المهيئ. وهو صالح فقط لمهيئات Yukon النحاسية. القيم الممكنة هي: 10 أو 100 أو 1000 أو Auto؛ Auto هو المبدئي. عادةً ما يتم التفاوض على السرعة بين المنفذين أثناء إنشاء الرابط. إذا فشل ذلك، يمكن إجبار المنفذ على إعداد معين باستخدام هذا المعامل.

AutoNeg_A=i,j,...
    يُمكن أو يُعطل استخدام التفاوض الآلي للمنفذ A لبطاقة المهيئ. القيم الممكنة هي: On أو Off أو Sense؛ On هو المبدئي. يكتشف وضع Sense آلياً ما إذا كان شريك الرابط يدعم التفاوض الآلي أم لا.

AutoNeg_B=i,j,...
    يُمكن أو يُعطل استخدام التفاوض الآلي للمنفذ B لبطاقة المهيئ. القيم الممكنة هي: On أو Off أو Sense؛ On هو المبدئي. يكتشف وضع Sense آلياً ما إذا كان شريك الرابط يدعم التفاوض الآلي أم لا.

DupCap_A=i,j,...
    يشير هذا المعامل إلى وضع الازدواج (duplex) المراد استخدامه للمنفذ A لبطاقة المهيئ. القيم الممكنة هي: Half أو Full أو Both؛ Both هو المبدئي. هذا المعامل ذو صلة فقط إذا لم يُضبط AutoNeg_A للمنفذ A على Sense. إذا ضُبط AutoNeg_A على On، يمكن ذكر القيم الثلاث لـ DupCap_A (Half أو Full أو Both). أما إذا ضُبط AutoNeg_A على Off، فيُسمح فقط بقيم DupCap_A وهي Full و Half. معامل DupCap_A هذا مفيد إذا كان شريك الرابط لا يدعم جميع تركيبات الازدواج الممكنة.

DupCap_B=i,j,...
    يشير هذا المعامل إلى وضع الازدواج المراد استخدامه للمنفذ B لبطاقة المهيئ. القيم الممكنة هي: Half أو Full أو Both؛ Both هو المبدئي. هذا المعامل ذو صلة فقط إذا لم يُضبط AutoNeg_B للمنفذ B على Sense. إذا ضُبط AutoNeg_B على On، يمكن ذكر القيم الثلاث لـ DupCap_B (Half أو Full أو Both). أما إذا ضُبط AutoNeg_B على Off، فيُسمح فقط بقيم DupCap_B وهي Full و Half. معامل DupCap_B هذا مفيد إذا كان شريك الرابط لا يدعم جميع تركيبات الازدواج الممكنة.

FlowCtrl_A=i,j,...
    يمكن استخدام هذا المعامل لضبط قدرات التحكم في التدفق التي يبلغ عنها المنفذ أثناء التفاوض الآلي. القيم الممكنة هي: Sym أو SymOrRem أو LocSend أو None؛ SymOrRem هو المبدئي. الأوضاع المختلفة لها المعاني التالية:

    Sym = متماثل
        يُسمح لكلا شريكي الرابط بإرسال إطارات PAUSE.

    SymOrRem = متماثل أو بعيد
        يُسمح لكلاهما أو للشريك البعيد فقط بإرسال إطارات PAUSE.

    LocSend = إرسال محلي
        يُسمح لشريك الرابط المحلي فقط بإرسال إطارات PAUSE.

    None = لا شيء
        لا يُسمح لأي شريك رابط بإرسال إطارات PAUSE.

    لاحظ أن هذا المعامل يُتجاهل إذا ضُبط AutoNeg_A على Off.

FlowCtrl_B=i,j,...
    يمكن استخدام هذا المعامل لضبط قدرات التحكم في التدفق التي يبلغ عنها المنفذ أثناء التفاوض الآلي. القيم الممكنة هي: Sym أو SymOrRem أو LocSend أو None؛ SymOrRem هو المبدئي. الأوضاع المختلفة لها المعاني التالية:

    Sym = متماثل
        يُسمح لكلا شريكي الرابط بإرسال إطارات PAUSE.

    SymOrRem = متماثل أو بعيد
        يُسمح لكلاهما أو للشريك البعيد فقط بإرسال إطارات PAUSE.

    LocSend = إرسال محلي
        يُسمح لشريك الرابط المحلي فقط بإرسال إطارات PAUSE.

    None = لا شيء
        لا يُسمح لأي شريك رابط بإرسال إطارات PAUSE.

    لاحظ أن هذا المعامل يُتجاهل إذا ضُبط AutoNeg_B على Off.

Role_A=i,j,...
    هذا المعامل صالح فقط لبطاقات المهيئ 1000Base-T. لكي يتواصل منفذا 1000Base-T، يجب أن يأخذ أحدهما دور السيد master (يوفر معلومات التوقيت)، بينما يجب أن يكون الآخر تابعاً slave. القيم الممكنة هي: Auto أو Master أو Slave؛ Auto هو المبدئي. عادةً ما يتم التفاوض على دور المنفذ بين المنفذين أثناء إنشاء الرابط، ولكن إذا فشل ذلك يمكن إجبار المنفذ A لبطاقة المهيئ على إعداد معين باستخدام هذا المعامل.

Role_B=i,j,...
    هذا المعامل صالح فقط لبطاقات المهيئ 1000Base-T. لكي يتواصل منفذا 1000Base-T، يجب أن يأخذ أحدهما دور السيد master (يوفر معلومات التوقيت)، بينما يجب أن يكون الآخر تابعاً slave. القيم الممكنة هي: Auto أو Master أو Slave؛ Auto هو المبدئي. عادةً ما يتم التفاوض على دور المنفذ بين المنفذين أثناء إنشاء الرابط، ولكن إذا فشل ذلك يمكن إجبار المنفذ B لبطاقة المهيئ على إعداد معين باستخدام هذا المعامل.

ConType=i,j,...
    هذا المعامل هو مزيج من جميع المعاملات الخمسة لكل منفذ داخل معامل واحد بسيط. وهذا يسهل ضبط كلا المنفذين لبطاقة المهيئ. تعكس القيم المختلفة لهذا المتغير أكثر التركيبات منطقية لمعاملات المنفذ. القيم الممكنة وما يقابلها من تركيبات معاملات لكل منفذ:

    ConType | DupCap | AutoNeg | FlowCtrl | Role | Speed
    Auto | Both | On | SymOrRem | Auto | Auto
    100FD | Full | Off | لا شيء | Auto | 100
    100HD | Half | Off | لا شيء | Auto | 100
    10FD | Full | Off | لا شيء | Auto | 10
    10HD | Half | Off | لا شيء | Auto | 10

    ذكر أي معامل منفذ آخر مع معامل ConType هذا سيؤدي إلى ضبط مدمج لتلك الإعدادات. يرجع ذلك إلى حقيقة أن المعاملات لكل منفذ (مثل Speed_A) لها أولوية أعلى من المتغير المدمج ConType.

Moderation=i,j,...
    تستخدم تهدئة المقاطعة (Interrupt moderation) للحد من أقصى عدد من المقاطعات التي يتعين على التعريف خدمتها. أي أن مقاطعة واحدة أو أكثر (والتي تشير إلى أي حزمة إرسال أو استقبال يراد معالجتها) توضع في الصف حتى يعالجها التعريف. يُحدد وقت خدمة المقاطعات المصطفة بواسطة معامل IntsPerSec، الموضح أدناه. أوضاع التهدئة الممكنة هي: None أو Static أو Dynamic؛ None هو المبدئي. الأوضاع المختلفة لها المعاني التالية:

    None لا تُطبق أي تهدئة للمقاطعات على بطاقة المهيئ. وبالتالي، تُخدم كل مقاطعة إرسال أو استقبال فوراً بمجرد ظهورها على خط المقاطعة في بطاقة المهيئ.

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

    Dynamic قد تُطبق تهدئة المقاطعات على بطاقة المهيئ، اعتماداً على حمولة النظام. إذا اكتشف التعريف أن حمولة النظام مرتفعة جداً، فإنه يحاول حماية النظام من حمولة الشبكة الزائدة بتمكين تهدئة المقاطعة. وإذا انخفض استهلاك وحدة المعالجة المركزية (CPU) لاحقًا (أو إذا كانت حمولة الشبكة مهملة)، فستُعطل تهدئة المقاطعة آلياً.

    يجب استخدام تهدئة المقاطعة عندما يتعين على التعريف التعامل مع واجهة واحدة أو أكثر بذات حمولة شبكة عالية، مما يؤدي بالتبعية إلى استهلاك عالٍ لوحدة المعالجة المركزية. عند تطبيق التهدئة في حالات حمولة الشبكة العالية هذه، قد ينخفض استهلاك المعالج بنسبة 20-30% على الحاسوب البطيء.

    لاحظ أن عيب استخدام تهدئة المقاطعة هو زيادة في وقت الذهاب والعودة (RTT)، بسبب صف وخدمة المقاطعات في أوقات تهدئة مخصصة.

IntsPerSec=i,j,...
    يحدد هذا المعامل طول أي فاصل تهدئة للمقاطعات. بافتراض استخدام تهدئة مقاطعة ثابتة، فإن قيمة معامل IntsPerSec البالغة 2000 ستؤدي إلى فاصل تهدئة مقاطعة قدره 500 ميكروثانية. القيم الممكنة لهذا المعامل تقع في النطاق من 30 إلى 40000 (مقاطعة في الثانية). القيمة المبدئية هي 2000.

    يستخدم هذا المعامل فقط إذا كانت تهدئة المقاطعة الثابتة أو الديناميكية مفعلة على بطاقة مهيئ الشبكة. ويُتجاهل هذا المعامل في حال عدم تطبيق أي تهدئة.

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

PrefPort=i,j,...
    يستخدم هذا المعامل لإجبار المنفذ المفضل على A أو B (في مهيئات الشبكة ثنائية المنافذ). المنفذ المفضل هو المنفذ الذي يُستخدم إذا اكتُشف أن كلا المنفذين A و B يعملان بكامل وظائفهما. القيم الممكنة هي: A أو B؛ A هو المبدئي.

RlmtMode=i,j,...
    يراقب RLMT حالة المنفذ. إذا فشل رابط المنفذ النشط، ينتقل RLMT فوراً إلى رابط الاحتياط. يُحافظ على الرابط الافتراضي طالما أن رابطاً "فيزيائياً" واحداً على الأقل يعمل. يحدد هذا المعامل كيف يجب أن يراقب RLMT كلا المنفذين. القيم الممكنة هي: CheckLinkState أو CheckLocalPort أو CheckSeg أو DualNet؛ CheckLinkState هو المبدئي. الأوضاع المختلفة لها المعاني التالية:

    CheckLinkState فحص حالة الرابط فقط: يستخدم RLMT حالة الرابط التي تبلغ عنها عتاد المهيئ لكل منفذ على حدة لتحديد ما إذا كان يمكن استخدام المنفذ لكل حركة مرور الشبكة أم لا.

    CheckLocalPort في هذا الوضع، يراقب RLMT مسار الشبكة بين المنفذين للمهيئ عن طريق تبادل الحزم بينهما بانتظام. يتطلب هذا الوضع ضبطاً للشبكة يكون فيه المنفذان قادرين على "رؤية" بعضهما البعض (أي يجب ألا يكون هناك أي مسير (router) بين المنفذين).

    CheckSeg فحص المنفذ المحلي والتجزئة: يدعم هذا الوضع نفس وظائف وضع CheckLocalPort وفوق ذلك يفحص تجزئة الشبكة بين المنافذ. ولذلك، يجب استخدام هذا الوضع فقط إذا ثُبتت مبدلات Gigabit Ethernet على الشبكة ضُبطت لاستخدام بروتوكول Spanning Tree.

    DualNet في هذا الوضع، يُستخدم المنفذان A و B كجهازين منفصلين. إذا كان لديك مهيئ ثنائي المنافذ، فسيُضبط المنفذ A كـ eth[x] والمنفذ B كـ eth[x+1]. يمكن استخدام كلا المنفذين بشكل مستقل بعناوين IP مميزة. لا يُستخدم إعداد المنفذ المفضل. ويُغلق RLMT.

    لاحظ أن أوضاع RLMT CheckLocalPort و CheckLinkState مصممة للعمل في حالات الضبط التي يوجد فيها مسار شبكة بين المنافذ في مهيئ واحد. وعلاوة على ذلك، فهي ليست مصممة للعمل عندما تكون المهيئات متصلة وجهاً لوجه (back-to-back).

الملفات

/proc/net/sk98lin/eth[x]
    ملف الإحصاءات لواجهة معينة لبطاقة المهيئ. يحتوي على معلومات عامة عن بطاقة المهيئ بالإضافة إلى ملخص مفصل لجميع عدادات الإرسال والاستقبال.

/usr/src/linux/Documentation/networking/sk98lin.txt
    هذا هو ملف README لتعريف sk98lin. يحتوي على دليل تثبيت مفصل ويشرح جميع معاملات التعريف. كما يشير إلى المشاكل الشائعة ويوفر الحلول لها.

العلل
أبلغ عن أي علل إلى linux@syskonnect.de

انظر أيضًا
ifconfig(8)، insmod(8)، modprobe(8)

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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