.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1999, Andi Kleen .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-1-para .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH netdevice 7 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم netdevice \- وصول منخفض المستوى إلى أجهزة الشبكة في لينكس .SH موجز .nf \fB#include \fP \fB#include \fP .fi .SH الوصف تصف صفحة الدليل هذه واجهة المقابس المستخدمة لتكوين أجهزة الشبكة. .P يدعم لينكس بعض أوامر ioctl القياسية لتكوين أجهزة الشبكة. يمكن استخدامها على أي واصف ملف لمقبس بغض النظر عن العائلة أو النوع. تمرر معظمها بنية \fIifreq\fP: .P .in +4n .EX struct ifreq { char ifr_name[IFNAMSIZ]; /* Interface name */ union { struct sockaddr ifr_addr; struct sockaddr ifr_dstaddr; struct sockaddr ifr_broadaddr; struct sockaddr ifr_netmask; struct sockaddr ifr_hwaddr; short ifr_flags; int ifr_ifindex; int ifr_metric; int ifr_mtu; struct ifmap ifr_map; char ifr_slave[IFNAMSIZ]; char ifr_newname[IFNAMSIZ]; char *ifr_data; }; }; .EE .in .P يشكل \fBAF_INET6\fP استثناءً. يمرر بنية \fIin6_ifreq\fP: .P .in +4n .EX struct in6_ifreq { struct in6_addr ifr6_addr; u32 ifr6_prefixlen; int ifr6_ifindex; /* Interface index */ }; .EE .in .P عادةً، يحدد المستخدم الجهاز المراد التأثير عليه بتعيين \fIifr_name\fP إلى اسم الواجهة أو \fIifr6_ifindex\fP إلى فهرس الواجهة. قد تشارك جميع الأعضاء الأخرى في البنية الذاكرة. .SS Ioctls إذا تم وضع علامة على ioctl كامتياز، فإن استخدامه يتطلب معرف مستخدم فعال بقيمة 0 أو إمكانية \fBCAP_NET_ADMIN\fP. إذا لم يكن الأمر كذلك، يُرجع \fBEPERM\fP. .TP \fBSIOCGIFNAME\fP بإعطاء \fIifr_ifindex\fP، يُرجع اسم الواجهة في \fIifr_name\fP. هذا هو ioctl الوحيد الذي يُرجع نتيجته في \fIifr_name\fP. .TP \fBSIOCGIFINDEX\fP يسترجع فهرس الواجهة إلى \fIifr_ifindex\fP. .TP \fBSIOCGIFFLAGS\fP .TQ \fBSIOCSIFFLAGS\fP .\" Do not right adjust text blocks in tables يحصل أو يعين كلمة العلم النشطة للجهاز. يحتوي \fIifr_flags\fP على قناع بت للقيم التالية: .na .TS tab(:); c s l l. أعلام الجهاز IFF_UP:الواجهة قيد التشغيل. IFF_BROADCAST:تم تعيين عنوان بث صالح. IFF_DEBUG:علم تصحيح داخلي. IFF_LOOPBACK:الواجهة هي واجهة استرجاع. IFF_POINTOPOINT:الواجهة هي وصلة نقطة إلى نقطة. IFF_RUNNING:الموارد مخصصة. IFF_NOARP:T{ لا يوجد بروتوكول ARP، عنوان الوجهة من الطبقة 2 غير مضبوط. T} IFF_PROMISC:الواجهة في وضع الاختلاط. IFF_NOTRAILERS:تجنب استخدام المقطورات. IFF_ALLMULTI:استقبال جميع حزم الإرسال المتعدد. IFF_MASTER:رئيس حزمة موازنة الحمل. IFF_SLAVE:تابع حزمة موازنة الحمل. IFF_MULTICAST:يدعم الإرسال المتعدد IFF_PORTSEL:قادر على اختيار نوع الوسائط عبر ifmap. IFF_AUTOMEDIA:اختيار الوسائط آلي نشط. IFF_DYNAMIC:T{ العناوين تُفقد عند إيقاف الواجهة. T} برنامج التشغيل يشير إلى L1 نشط (منذ Linux 2.6.17):إشارة برنامج التشغيل L1 (بدءًا من Linux 2.6.17) برنامج التشغيل يشير إلى خمول (منذ Linux 2.6.17):إشارات برنامج التشغيل معطلة (منذ إصدار Linux 2.6.17) صدى الحزم المرسلة (منذ Linux 2.6.25):حزم البيانات المرسلة بواسطة Echo (بدءًا من Linux 2.6.25) .TE .ad .P تعيين كلمة العلم النشط هي عملية مميزة، لكن أي عملية قد تقرأها. .TP \fBSIOCGIFPFLAGS\fP .TQ \fBSIOCSIFPFLAGS\fP الحصول على أو تعيين الأعلام الموسعة (الخاصة) للجهاز. \fIifr_flags\fP يحتوي على قناع بت للقيم التالية: .TS tab(:); c s l l. الأعلام الخاصة IFF_802_1Q_VLAN:الواجهة هي جهاز VLAN 802.1Q. IFF_EBRIDGE:الواجهة هي جهاز جسر إيثرنت. IFF_SLAVE_INACTIVE:الواجهة هي تابع ربط غير نشط. IFF_MASTER_8023AD:الواجهة هي رئيس ربط 802.3ad. IFF_MASTER_ALB:الواجهة هي رئيس ربط متوازن\-alb. IFF_BONDING:الواجهة هي رئيس أو تابع ربط. IFF_SLAVE_NEEDARP:الواجهة تحتاج ARPs للتحقق. IFF_ISATAP:الواجهة هي واجهة ISATAP وفقًا لـ RFC4214. .TE .P ضبط أعلام الواجهة الموسعة (الخاصة) هو عملية مميزة. .TP \fBSIOCGIFADDR\fP .TQ \fBSIOCSIFADDR\fP .TQ \fBSIOCDIFADDR\fP احصل على عنوان الجهاز أو اضبطه أو احذفه باستخدام \fIifr_addr\fP، أو \fIifr6_addr\fP مع \fIifr6_prefixlen\fP. ضبط أو حذف عنوان الواجهة هو عملية مميزة. للتوافق، يُرجع \fBSIOCGIFADDR\fP عناوين \fBAF_INET\fP فقط، ويقبل \fBSIOCSIFADDR\fP عناوين \fBAF_INET\fP و\fBAF_INET6\fP، ويحذف \fBSIOCDIFADDR\fP عناوين \fBAF_INET6\fP فقط. يمكن حذف عنوان \fBAF_INET\fP بضبطه على الصفر عبر \fBSIOCSIFADDR\fP. .TP \fBSIOCGIFDSTADDR\fP .TQ \fBSIOCSIFDSTADDR\fP احصل على عنوان الوجهة لجهاز نقطة إلى نقطة أو اضبطه باستخدام \fIifr_dstaddr\fP. للتوافق، تُقبل أو تُرجع عناوين \fBAF_INET\fP فقط. ضبط عنوان الوجهة هو عملية مميزة. .TP \fBSIOCGIFBRDADDR\fP .TQ \fBSIOCSIFBRDADDR\fP احصل على عنوان البث لجهاز أو اضبطه باستخدام \fIifr_brdaddr\fP. للتوافق، تُقبل أو تُرجع عناوين \fBAF_INET\fP فقط. ضبط عنوان البث هو عملية مميزة. .TP \fBSIOCGIFNETMASK\fP .TQ \fBSIOCSIFNETMASK\fP احصل على قناع الشبكة لجهاز أو اضبطه باستخدام \fIifr_netmask\fP. للتوافق، تُقبل أو تُرجع عناوين \fBAF_INET\fP فقط. ضبط قناع الشبكة هو عملية مميزة. .TP \fBSIOCGIFMETRIC\fP .TQ \fBSIOCSIFMETRIC\fP احصل على مقياس الجهاز أو اضبطه باستخدام \fIifr_metric\fP. هذا غير مطبق حاليًا؛ يضبط \fIifr_metric\fP على 0 إذا حاولت قراءته ويُرجع \fBEOPNOTSUPP\fP إذا حاولت ضبطه. .TP \fBSIOCGIFMTU\fP .TQ \fBSIOCSIFMTU\fP احصل على MTU (وحدة النقل القصوى) لجهاز أو اضبطه باستخدام \fIifr_mtu\fP. ضبط MTU هو عملية مميزة. ضبط MTU على قيم صغيرة جدًا قد يسبب تعطل النواة. .TP \fBSIOCGIFHWADDR\fP .TQ \fBSIOCSIFHWADDR\fP احصل على عنوان الأجهزة لجهاز أو اضبطه باستخدام \fIifr_hwaddr\fP. يُحدد عنوان الأجهزة في هيكل \fIsockaddr\fP. يحتوي \fIsa_family\fP على نوع الجهاز ARPHRD_*، و\fIsa_data\fP على عنوان الأجهزة من الطبقة 2 بدءًا من البايت 0. ضبط عنوان الأجهزة هو عملية مميزة. .TP \fBSIOCSIFHWBROADCAST\fP ضبط عنوان البث العتادي لجهاز من \fIifr_hwaddr\fP. هذه عملية مميزة. .TP \fBSIOCGIFMAP\fP .TQ \fBSIOCSIFMAP\fP جلب أو ضبط معاملات العتاد للواجهة باستخدام \fIifr_map\fP. ضبط المعاملات عملية مميزة. .IP .in +4n .EX struct ifmap { unsigned long mem_start; unsigned long mem_end; unsigned short base_addr; unsigned char irq; unsigned char dma; unsigned char port; }; .EE .in .IP تفسير بنية ifmap يعتمد على برنامج تشغيل الجهاز والبنية. .TP \fBSIOCADDMULTI\fP .TQ \fBSIOCDELMULTI\fP إضافة عنوان إلى أو حذف عنوان من مرشحات البث المتعدد لطبقة الوصل للجهاز باستخدام \fIifr_hwaddr\fP. هذه عمليات مميزة. انظر أيضًا \fBpacket\fP(7) لبديل. .TP \fBSIOCGIFTXQLEN\fP .TQ \fBSIOCSIFTXQLEN\fP جلب أو ضبط طول طابور الإرسال لجهاز باستخدام \fIifr_qlen\fP. ضبط طول طابور الإرسال عملية مميزة. .TP \fBSIOCSIFNAME\fP تغيير اسم الواجهة المحددة في \fIifr_name\fP إلى \fIifr_newname\fP. هذه عملية مميزة. يُسمح بها فقط عندما لا تكون الواجهة نشطة. .TP \fBSIOCGIFCONF\fP إرجاع قائمة بعناوين الواجهة (طبقة الشبكة). هذا يعني حاليًا عناوين عائلة \fBAF_INET\fP (IPv4) فقط للتوافق. على عكس الآخرين، يمرر هذا ioctl بنية \fIifconf\fP: .IP .in +4n .EX struct ifconf { int ifc_len; /* size of buffer */ union { char *ifc_buf; /* buffer address */ struct ifreq *ifc_req; /* array of structures */ }; }; .EE .in .IP إذا كان \fIifc_req\fP فارغًا، يُرجع \fBSIOCGIFCONF\fP حجم المخزن المؤقت اللازم بالبايتات لاستقبال جميع العناوين المتاحة في \fIifc_len\fP. وإلا، يحتوي \fIifc_req\fP على مؤشر لمصفوفة من بنى \fIifreq\fP ليتم ملؤها بجميع عناوين واجهة L3 النشطة حاليًا. يحتوي \fIifc_len\fP على حجم المصفوفة بالبايتات. داخل كل بنية \fIifreq\fP، يستقبل \fIifr_name\fP اسم الواجهة، و \fIifr_addr\fP العنوان. يُرجع العدد الفعلي للبايتات المنقولة في \fIifc_len\fP. .IP إذا كان الحجم المحدد بواسطة \fIifc_len\fP غير كافٍ لتخزين جميع العناوين، يتجاوز النواة العناوين الزائدة ويعيد النجاح. لا توجد طريقة موثوقة لاكتشاف هذه الحالة بمجرد حدوثها. لذلك يُوصى إما بتحديد حجم المخزن المؤقت اللازم مسبقًا باستدعاء \fBSIOCGIFCONF\fP مع ضبط \fIifc_req\fP على NULL، أو إعادة محاولة الاستدعاء بمخزن مؤقت أكبر كلما اختلف \fIifc_len\fP عند الإرجاع بأقل من \fIsizeof(struct ifreq)\fP عن قيمته الأصلية. .IP .\" Slaving isn't supported in Linux 2.2 .\" . .\" .TP .\" .B SIOCGIFSLAVE .\" .TQ .\" .B SIOCSIFSLAVE .\" Get or set the slave device using .\" .IR ifr_slave . .\" Setting the slave device is a privileged operation. .\" .P .\" FIXME . add amateur radio stuff. إذا حدث خطأ في الوصول إلى بنى \fIifconf\fP أو \fIifreq\fP، يُرجع \fBEFAULT\fP. .P تدعم معظم البروتوكولات ioctls الخاصة بها لتكوين خيارات الواجهة الخاصة بالبروتوكول. انظر صفحات دليل البروتوكول للوصف. لتكوين عناوين IP، انظر \fBip\fP(7). .P بالإضافة إلى ذلك، تدعم بعض الأجهزة ioctls خاصة. هذه غير موصوفة هنا. .SH ملاحظات \fBSIOCGIFCONF\fP و ioctls الأخرى التي تقبل أو تعيد عناوين مقبس \fBAF_INET\fP فقط هي خاصة بـ IP وربما يجب توثيقها في \fBip\fP(7). .P يمكن العثور على أسماء الواجهات التي لا تحتوي على عناوين أو التي لا تحتوي على العلم \fBIFF_RUNNING\fP مضبوطًا عبر \fI/proc/net/dev\fP. .P يمكن قراءة عناوين IPv6 من \fI/proc/net/if_inet6\fP أو عبر \fBrtnetlink\fP(7). يمكن إضافة عنوان IPv6 جديد وحذف عنوان IPv6 موجود عبر \fBSIOCSIFADDR\fP و \fBSIOCDIFADDR\fP أو عبر \fBrtnetlink\fP(7). استرداد أو تغيير عناوين IPv6 الوجهة لواجهة نقطة\-إلى\-نقطة ممكن فقط عبر \fBrtnetlink\fP(7). .SH العلل تفتقر glibc 2.1 إلى الماكرو \fIifr_newname\fP في \fI\fP. أضف ما يلي إلى برنامجك كحل بديل: .P .in +4n .EX #ifndef ifr_newname #define ifr_newname ifr_ifru.ifru_slave #endif .EE .in .SH "انظر أيضًا" \fBproc\fP(5)، \fBcapabilities\fP(7)، \fBip\fP(7)، \fBrtnetlink\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .