Onload®️ عبارة عن مكدس شبكة عالي الأداء على مستوى المستخدم، يعمل على تسريع عمليات الإدخال/الإخراج لشبكة TCP وUDP للتطبيقات التي تستخدم مقابس BSD على Linux.
يشتمل OpenOnload على مكتبة مشتركة على مستوى المستخدم تعترض مكالمات النظام المتعلقة بالشبكة وتنفذ حزمة البروتوكولات وتدعم وحدات kernel. وهو متوافق مع واجهة برمجة التطبيقات (API) لاستدعاء النظام بالكامل، بما في ذلك الجوانب التي عادةً ما تمثل مشكلة للشبكات على مستوى المستخدم، مثل fork() وexec() وتمرير المقابس عبر مآخذ مجال Unix وتطوير البروتوكول عندما لا تتم جدولة التطبيق. .
يتم توزيع OpenOnload كرمز مصدر. يمكن العثور على تعليمات البناء والتعبئة والتركيب في DEVELOPING.md
إذا كانت هناك أي واجهات ليتم تسريعها بواسطة Onload وهي ليست واجهات AMD Solarflare، فقم بتنفيذ ما يلي لتسجيل تلك الواجهات المراد تسريعها باستخدام AF_XDP:
echo ens2f0 > /sys/module/sfc_resource/afxdp/register
يجب تشغيل التطبيق المراد تحميله عن طريق وضع بادئة في سطر الأوامر بـ onload
.
المستودع المستضاف بشكل عام هو مشروع مدعوم من المجتمع. عند إثارة المشكلات في هذا المستودع، من المتوقع أن يعمل المستخدمون من رأس شجرة git لالتقاط التغييرات الأخيرة، وليس استخدام الإصدارات الرسمية من Onload التي تم إصدارها عادةً قبل ظهور تغييرات kernel الأخيرة، حيث من المحتمل أن يؤدي ذلك إلى يتم طرح العديد من القضايا المكررة. من المحتمل أن يتم إصلاح حالات عدم التوافق التي قدمتها إصدارات kernel الحديثة بسرعة هنا في هذا المستودع.
تتوفر الإصدارات المدعومة من OpenOnload على https://www.xilinx.com/support/download/nic-software-and-drivers.html#open. يرجى إثارة المشكلات المتعلقة بالإصدارات المدعومة من Onload عبر [email protected].
شجرة المصدر هذه متوافقة مع نواة Linux والتوزيعات التالية:
يوفر Onload تسريعًا مثاليًا للشبكات وميزات إضافية باستخدام واجهة الأجهزة ef_vi الأصلية التي توفرها محولات شبكة AMD Solarflare مقارنة باستخدام آلية AF_XDP الخاصة بـ Linux. في هذا الوضع، لا يلزم دعم kernel وبرنامج التشغيل لـ AF_XDP.
تم تضمين نسخة من برنامج التشغيل الصافي "sfc" لمحولات شبكة AMD Solarflare.
المحولات التالية قادرة على دعم OpenOnload بدون AF_XDP:
يمكن لـ OpenOnload تسريع التطبيقات على محولات الشبكة غير Solarflare مع دعم AF_XDP.
لدعم النسخة الصفرية، يحتاج Onload إلى برامج تشغيل محول الشبكة AF_XDP لتنفيذ أساسيات AF_XDP الضرورية. عادةً ما تدعم أحدث برامج التشغيل من موردي محولات الشبكة هذه الأساسيات.
يعد دعم AF_XDP عملاً قيد التقدم مدعومًا من المجتمع وليس بجودة الإصدار حاليًا.
إذا كان برنامج netdriver لا يدعم AF_XDP في الوضع الأصلي، فسيحاول Onload استخدام وضع XDP العام عند تسجيل الواجهة. لكي ينجح الأمر، يجب على المرء إعداد مساعد userland قبل تسجيل الواجهة:
$ make -C ./src/tools/bpf_link_helper/
$ echo $( realpath ./src/tools/bpf_link_helper/bpf-link-helper ) | sudo tee /sys/module/sfc_resource/parameters/bpf_link_helper
يمكن إنشاء OpenOnload بدون برنامج تشغيل SFC:
make
: استخدم HAVE_SFC=0
متغير؛onload_build
& onload_install
: استخدم معلمة --no-sfc
؛onload_tool reload
: استخدم معلمة --onload-only
.كما يمكن تصنيعه بدون دعم EFCT وAUX:
make
: استخدم HAVE_EFCT=0
متغير؛onload_build
: استخدم معلمة --no-efct
. يرجى الاطلاع على CONTRIBUTING.md
هذا الملف: (ج) حقوق الطبع والنشر لعام 2020-2024 محفوظة لشركة Advanced Micro Devices, Inc.