.\" -*- 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 rtnetlink 7 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم rtnetlink \- مقبس توجيه لينكس .SH موجز .nf \fB#include \fP \fB#include \fP \fB#include \fP \fB#include \fP .P \fBrtnetlink_socket = socket(AF_NETLINK, int \fP\fIsocket_type\fP\fB, NETLINK_ROUTE);\fP .fi .SH الوصف .\" FIXME . ? all these macros could be moved to rtnetlink(3) يسمح Rtnetlink بقراءة جداول توجيه النواة وتعديلها. يُستخدم داخل النواة للتواصل بين الأنظمة الفرعية المختلفة، رغم أن هذا الاستخدام غير موثق هنا، وللتواصل مع برامج فضاء المستخدم. يمكن التحكم في مسارات الشبكة، وعناوين IP، ومعلمات الوصلة، وإعدادات الجوار، وضوابط جدولة الدور (queueing disciplines)، وفئات حركة المرور، ومصنفات الحزم، كل ذلك عبر مقابس \fBNETLINK_ROUTE\fP. وهو يعتمد على رسائل netlink؛ انظر \fBnetlink\fP(7) للمزيد من المعلومات. .SS "سمات التوجيه" تحتوي بعض رسائل rtnetlink على سمات اختيارية بعد الترويسة الأولية: .P .in +4n .EX struct rtattr { unsigned short rta_len; /* طول الخيار */ unsigned short rta_type; /* نوع الخيار */ /* البيانات تتبع */ }; .EE .in .P ينبغي التعامل مع هذه السمات باستخدام وحدات ماكرو RTA_* فقط أو libnetlink، انظر \fBrtnetlink\fP(3). .SS الرسائل يتكون Rtnetlink من أنواع الرسائل هذه (بالإضافة إلى رسائل netlink القياسية): .TP \fBRTM_NEWLINK\fP .TQ \fBRTM_DELLINK\fP .TQ \fBRTM_GETLINK\fP إنشاء واجهة شبكة محددة أو إزالتها أو الحصول على معلومات عنها. تحتوي هذه الرسائل على هيكل \fIifinfomsg\fP يليه سلسلة من هياكل \fIrtattr\fP. .IP .EX struct ifinfomsg { unsigned char ifi_family; /* AF_UNSPEC */ unsigned short ifi_type; /* نوع الجهاز */ int ifi_index; /* فهرس الواجهة */ unsigned int ifi_flags; /* أعلام الجهاز */ unsigned int ifi_change; /* قناع التغيير */ }; .EE .IP .\" FIXME Document ifinfomsg.ifi_type يحتوي \fIifi_flags\fP على أعلام الجهاز، انظر \fBnetdevice\fP(7)؛ و \fIifi_index\fP هو فهرس الواجهة الفريد (منذ لينكس 3.7، يمكن تقديم قيمة غير صفرية مع رسالة \fBRTM_NEWLINK\fP، وبالتالي إنشاء وصلة بـ \fIifindex\fP المعطى)؛ و \fIifi_change\fP هو قناع يحدد أي بتات من \fIifi_flags\fP يجب تطبيقها على الجهاز. .TS tab(:); c s s lb l l. سمات التوجيه rta_type:نوع القيمة:الوصف _ IFLA_UNSPEC:\-:غير محدد IFLA_ADDRESS:عنوان العتاد:عنوان الطبقة الثانية (L2) للواجهة IFLA_BROADCAST:عنوان العتاد:عنوان بث الطبقة الثانية (L2) IFLA_IFNAME:سلسلة asciiz:اسم الجهاز IFLA_MTU:unsigned int:وحدة النقل القصوى (MTU) للجهاز IFLA_LINK:int:نوع الوصلة IFLA_QDISC:سلسلة asciiz:انضباط الجدولة IFLA_STATS:T{ انظر أدناه T}:إحصائيات الواجهة IFLA_PERM_ADDRESS:عنوان العتاد:T{ عنوان العتاد المقدم من الجهاز (منذ لينكس 5.5) T} .TE .IP نوع القيمة لـ \fBIFLA_STATS\fP هو \fIstruct rtnl_link_stats\fP (في لينكس 2.4 وما قبله كان \fIstruct net_device_stats\fP). .TP \fBRTM_NEWADDR\fP .TQ \fBRTM_DELADDR\fP .TQ \fBRTM_GETADDR\fP إضافة أو إزالة أو تلقي معلومات حول عنوان IP مرتبط بواجهة. في لينكس 2.2، يمكن للواجهة أن تحمل عناوين IP متعددة، وهذا يحل محل مفهوم جهاز الاسم المستعار (alias device) في لينكس 2.0. في لينكس 2.2، تدعم هذه الرسائل عناوين IPv4 و IPv6. وهي تحتوي على هيكل \fIifaddrmsg\fP، تتبعه اختياريًا سمات توجيه \fIrtattr\fP. .IP .EX struct ifaddrmsg { unsigned char ifa_family; /* نوع العنوان */ unsigned char ifa_prefixlen; /* طول بادئة العنوان */ unsigned char ifa_flags; /* أعلام العنوان */ unsigned char ifa_scope; /* نطاق العنوان */ unsigned int ifa_index; /* فهرس الواجهة */ }; .EE .IP \fIifa_family\fP هو نوع عائلة العناوين (حاليًا \fBAF_INET\fP أو \fBAF_INET6\fP)، و \fIifa_prefixlen\fP هو طول قناع العنوان إذا كان محددًا للعائلة (مثل IPv4)، و \fIifa_scope\fP هو نطاق العنوان، و \fIifa_index\fP هو فهرس الواجهة التي يرتبط بها العنوان. \fIifa_flags\fP هي كلمة أعلام تتضمن \fBIFA_F_SECONDARY\fP للعنوان الثانوي (واجهة الاسم المستعار القديمة)، و \fBIFA_F_PERMANENT\fP لعنوان دائم ضبطه المستخدم، وأعلام أخرى غير موثقة. .TS tab(:); c s s lb l l. سمات rta_type:نوع القيمة:الوصف _ IFA_UNSPEC:\-:غير محدد IFA_ADDRESS:عنوان البروتوكول الخام:عنوان الواجهة IFA_LOCAL:عنوان البروتوكول الخام:عنوان محلي IFA_LABEL:سلسلة asciiz:اسم الواجهة IFA_BROADCAST:عنوان البروتوكول الخام:عنوان البث IFA_ANYCAST:عنوان البروتوكول الخام:عنوان البث لأي وجهة (anycast) IFA_CACHEINFO:struct ifa_cacheinfo:معلومات العنوان .TE .IP .EX struct ifa_cacheinfo { __u32 ifa_prefered; // العمر المفضل المتبقي، بالثواني __u32 ifa_valid; // العمر الصالح المتبقي، بالثواني __u32 cstamp; // طابع وقت الإنشاء، بأجزاء المئة من الثانية __u32 tstamp; // طابع وقت التحديث، بأجزاء المئة من الثانية }; .EE .IP لا يمكن أن يكون \fIifa_valid\fP صفرًا، ولا يمكن أن يكون \fIifa_prefered\fP أكبر من \fIifa_valid\fP. تمثل القيمة \fBUINT32_MAX\fP عمرًا غير محدود. .TP \fBRTM_NEWROUTE\fP .TQ \fBRTM_DELROUTE\fP .TQ \fBRTM_GETROUTE\fP إنشاء مسار شبكة أو إزالته أو تلقي معلومات عنه. تحتوي هذه الرسائل على هيكل \fIrtmsg\fP متبوعًا بتسلسل اختياري من هياكل \fIrtattr\fP. بالنسبة لـ \fBRTM_GETROUTE\fP، فإن ضبط \fIrtm_dst_len\fP و \fIrtm_src_len\fP على 0 يعني الحصول على جميع المدخلات لجدول التوجيه المحدد. أما الحقول الأخرى، باستثناء \fIrtm_table\fP و \fIrtm_protocol\fP، فإن 0 يعمل كرمز بديل (wildcard). .IP .EX struct rtmsg { unsigned char rtm_family; /* عائلة عناوين المسار */ unsigned char rtm_dst_len; /* طول الوجهة */ unsigned char rtm_src_len; /* طول المصدر */ unsigned char rtm_tos; /* مرشح نوع الخدمة (TOS) */ unsigned char rtm_table; /* معرف جدول التوجيه؛ انظر RTA_TABLE أدناه */ unsigned char rtm_protocol; /* بروتوكول التوجيه؛ انظر أدناه */ unsigned char rtm_scope; /* انظر أدناه */ unsigned char rtm_type; /* انظر أدناه */ \& unsigned int rtm_flags; }; .EE .TS tab(:); lb l. rtm_type:نوع المسار _ RTN_UNSPEC:مسار غير معروف RTN_UNICAST:بوابة أو مسار مباشر RTN_LOCAL:مسار واجهة محلي RTN_BROADCAST:T{ مسار بث محلي (يُرسل كبث) T} RTN_ANYCAST:T{ مسار بث محلي (يُرسل كبث لوجهة محددة/unicast) T} RTN_MULTICAST:مسار بث مجموعاتي RTN_BLACKHOLE:مسار لإسقاط الحزم RTN_UNREACHABLE:وجهة لا يمكن الوصول إليها RTN_PROHIBIT:مسار لرفض الحزم RTN_THROW:مواصلة البحث عن المسار في جدول آخر RTN_NAT:قاعدة لترجمة عناوين الشبكة RTN_XRESOLVE:T{ الإحالة إلى محلل خارجي (غير مُنفذ) T} .TE .TS tab(:); lb l. rtm_protocol:أصل المسار _ RTPROT_UNSPEC:unknown RTPROT_REDIRECT:T{ بواسطة إعادة توجيه ICMP (غير مستخدم حاليًا) T} RTPROT_KERNEL:بواسطة النواة RTPROT_BOOT:أثناء الإقلاع RTPROT_STATIC:بواسطة المدير .TE .IP القيم الأكبر من \fBRTPROT_STATIC\fP لا تفسرها النواة، بل هي لمجرد إخبار المستخدم. ويمكن استخدامها لوسم مصدر معلومات التوجيه أو للتمييز بين شياطين توجيه متعددة. انظر \fI\fP لمعرفات شياطين التوجيه المعينة مسبقًا. .IP \fIrtm_scope\fP هي المسافة إلى الوجهة: .TS tab(:); lb l. RT_SCOPE_UNIVERSE:مسار عام RT_SCOPE_SITE:T{ مسار داخلي في النظام الذاتي المحلي T} RT_SCOPE_LINK:مسار على هذه الوصلة RT_SCOPE_HOST:مسار على الحاسوب المحلي RT_SCOPE_NOWHERE:الوجهة غير موجودة .TE .IP القيم بين \fBRT_SCOPE_UNIVERSE\fP و \fBRT_SCOPE_SITE\fP متاحة للمستخدم. .IP تمتلك \fIrtm_flags\fP المعاني التالية: .TS tab(:); lb l. RTM_F_NOTIFY:T{ إذا تغير المسار، أخطر المستخدم عبر rtnetlink T} RTM_F_CLONED:المسار منسوخ من مسار آخر RTM_F_EQUALIZE:موازن متعدد المسارات (لم يُنفذ بعد) .TE .IP تحدد \fIrtm_table\fP جدول التوجيه .TS tab(:); lb l. RT_TABLE_UNSPEC:جدول توجيه غير محدد RT_TABLE_DEFAULT:الجدول المبدئي RT_TABLE_MAIN:الجدول الرئيس RT_TABLE_LOCAL:الجدول المحلي .TE .IP .\" Keep table on same page يمكن للمستخدم تعيين قيم عشوائية بين \fBRT_TABLE_UNSPEC\fP و \fBRT_TABLE_DEFAULT\fP. .bp +1 .TS tab(:); c s s lb2 l2 l. سمات rta_type:نوع القيمة:الوصف _ RTA_UNSPEC:\-:ignored RTA_DST:عنوان البروتوكول:عنوان وجهة المسار RTA_SRC:عنوان البروتوكول:عنوان مصدر المسار RTA_IIF:int:فهرس واجهة الإدخال RTA_OIF:int:فهرس واجهة الإخراج RTA_GATEWAY:عنوان البروتوكول:بوابة المسار RTA_PRIORITY:int:أولوية المسار RTA_PREFSRC:عنوان البروتوكول:عنوان المصدر المفضل RTA_METRICS::T{ مقاييس المسار .br (انظر أدناه). T} RTA_MULTIPATH::T{ بيانات القفزة التالية متعددة المسارات .br (انظر أدناه). T} RTA_PROTOINFO::لم يعد مستخدماً RTA_FLOW:int:مجال المسار RTA_CACHEINFO:struct rta_cacheinfo:(انظر linux/rtnetlink.h) RTA_SESSION::لم يعد مستخدماً RTA_MP_ALGO::لم يعد مستخدماً RTA_TABLE:int:T{ معرف جدول التوجيه؛ إذا عُين، .br يُتجاهل rtm_table T} RTA_MARK:int: RTA_MFC_STATS:struct rta_mfc_stats:(انظر linux/rtnetlink.h) RTA_VIA:struct rtvia:T{ بوابة في عائلة عناوين (AF) مختلفة (انظر أدناه) T} RTA_NEWDST:عنوان البروتوكول:T{ تغيير عنوان وجهة الحزمة T} RTA_PREF:char:T{ تفضيل موجه IPv6 وفقًا لـ RFC4191 (انظر أدناه) T} RTA_ENCAP_TYPE:short:T{ نوع التغليف لـ .br الأنفاق خفيفة الوزن (lwtunnels) (انظر أدناه) T} RTA_ENCAP::مُعرَّف بواسطة RTA_ENCAP_TYPE RTA_EXPIRES:int:T{ وقت انتهاء صلاحية مسارات IPv6 (بالثواني) T} .TE .IP تحتوي \fBRTA_METRICS\fP على مصفوفة من \fIstruct rtattr\fP مع سماتها المقابلة: .RS .IP .TS tab(:); c s s lb l lx. سمات rta_type:نوع القيمة:الوصف _ RTAX_UNSPEC:\-:غير محدد RTAX_LOCK:__u32:T{ حقل بتات يشير إلى سمات RTAX_* الموصدة. T} RTAX_MTU:__u32:T{ وحدة الإرسال القصوى لهذا المسار. T} RTAX_WINDOW:__u32:T{ الحجم الأقصى لنافذة الاستقبال لهذا المسار. T} RTAX_RTT:__u32:T{ وقت الذهاب والإياب المقدّر لهذا المسار. T} RTAX_RTTVAR:__u32:T{ تباين وقت الذهاب والإياب المقدّر لهذا المسار. T} RTAX_SSTHRESH:__u32:T{ عتبة البداية البطيئة لاستخدامها لهذا المسار. T} RTAX_CWND:__u32:T{ الحجم الأقصى لنافذة الازدحام لهذا المسار. T} RTAX_ADVMSS:__u32:T{ حجم القطعة الأقصى المُراد الإعلان عنه لهذا المسار. T} RTAX_REORDERING:__u32:T{ مستوى إعادة ترتيب الحزم المبدئي لهذا المسار. T} RTAX_HOPLIMIT:__u32:T{ حد القفزات (TTL) لاستخدامه لهذا المسار. T} RTAX_INITCWND:__u32:T{ نافذة الازدحام المبدئية لاستخدامها لهذا المسار. T} RTAX_FEATURES:__u32:T{ المزايا المراد تمكينها لهذا المسار على وجه التحديد. T} RTAX_RTO_MIN:__u32:T{ مهلة إعادة الإرسال الدنيا لاستخدامها لهذا المسار. T} RTAX_INITRWND:__u32:T{ الحجم المبدئي لنافذة الاستقبال لهذا المسار. T} RTAX_QUICKACK:__u32:T{ استخدم الإقرار السريع (quick ack) لهذا المسار. T} RTAX_CC_ALGO:سلسلة asciiz:T{ خوارزمية التحكم في الازدحام لاستخدامها لهذا المسار. T} RTAX_FASTOPEN_NO_COOKIE:__u32:T{ اسمح بفتح TCP السريع بدون ملف تعريف ارتباط (cookie). T} .TE .RE .IP المقاييس الموصدة بـ \fBRTAX_LOCK\fP لها الأسبقية على القيم التي تستخدمها الـ \fBنواة\fP عادةً (المحسوبة أو المخصصة بواسطة sysctl أو setsockopt(2)). لذا، فإن بعض المقاييس، مثل \fBRTAX_RTO_MIN\fP، ليس لها تأثير ما لم يُضبط البت الخاص بها في \fBRTAX_LOCK\fP. .IP تحتوي \fBRTA_MULTIPATH\fP على عدة حالات محزومة من \fIstruct rtnexthop\fP مع RTAs متداخلة (\fBRTA_GATEWAY\fP): .IP .in +4n .EX struct rtnexthop { unsigned short rtnh_len; /* طول البنية + طول RTAs */ unsigned char rtnh_flags; /* أعلام (انظر linux/rtnetlink.h) */ unsigned char rtnh_hops; /* أولوية القفزة التالية */ int rtnh_ifindex; /* فهرس الواجهة لهذه القفزة التالية */ } .EE .in .IP توجد مجموعة من ماكروهات \fBRTNH_*\fP المشابهة لماكروهات \fBRTA_*\fP و \fBNLHDR_*\fP المفيدة للتعامل مع هذه البنى. .IP .in +4n .EX struct rtvia { unsigned short rtvia_family; unsigned char rtvia_addr[0]; }; .EE .in .IP \fIrtvia_addr\fP هو العنوان، و \fIrtvia_family\fP هو نوع عائلته. .IP قد تحتوي \fBRTA_PREF\fP على القيم \fBICMPV6_ROUTER_PREF_LOW\fP، و \fBICMPV6_ROUTER_PREF_MEDIUM\fP، و \fBICMPV6_ROUTER_PREF_HIGH\fP المُعرَّفة في \fI\fP. .IP قد تحتوي \fBRTA_ENCAP_TYPE\fP على القيم \fBLWTUNNEL_ENCAP_MPLS\fP، أو \fBLWTUNNEL_ENCAP_IP\fP، أو \fBLWTUNNEL_ENCAP_ILA\fP، أو \fBLWTUNNEL_ENCAP_IP6\fP المُعرَّفة في \fI\fP. .IP \fBاملأ هذه القيم!\fP .TP \fBRTM_NEWNEIGH\fP .TQ \fBRTM_DELNEIGH\fP .TQ \fBRTM_GETNEIGH\fP أضف معلومات حول مدخل جدول مجاور (مثل مدخل ARP)، أو أزلها، أو استقبلها. تحتوي الرسالة على بنية \fIndmsg\fP. .IP .EX struct ndmsg { unsigned char ndm_family; int ndm_ifindex; /* فهرس الواجهة */ __u16 ndm_state; /* الحالة */ __u8 ndm_flags; /* أعلام */ __u8 ndm_type; }; \& struct nda_cacheinfo { __u32 ndm_confirmed; __u32 ndm_used; __u32 ndm_updated; __u32 ndm_refcnt; }; .EE .IP \fIndm_state\fP هو قناع بتات للحالات التالية: .TS tab(:); lb l. NUD_INCOMPLETE:مدخل \fBخبيئة\fP يُحلّ حاليًا NUD_REACHABLE:مدخل \fBخبيئة\fP عامل ومؤكَّد NUD_STALE:مدخل \fBخبيئة\fP منتهي الصلاحية NUD_DELAY:مدخل ينتظر مؤقتًا NUD_PROBE:مدخل \fBخبيئة\fP يُعاد سبره حاليًا NUD_FAILED:مدخل \fBخبيئة\fP غير صالح NUD_NOARP:جهاز ليس له \fBخبيئة\fP وجهة NUD_PERMANENT:مدخل ساكن .TE .IP أعلام \fIndm_flags\fP الصالحة هي: .TS tab(:); lb l. NTF_PROXY:مدخل arp \fBوكيل\fP NTF_ROUTER:موجّه IPv6 .TE .IP .\" FIXME . .\" document the members of the struct better بنية \fIrtattr\fP لها المعاني التالية لحقل \fIrta_type\fP: .TS tab(:); lb l. NDA_UNSPEC:نوع غير معروف NDA_DST:عنوان وجهة لطبقة الشبكة في \fBخبيئة\fP المجاورة NDA_LLADDR:عنوان لطبقة الوصلة في \fBخبيئة\fP المجاورة NDA_CACHEINFO:إحصائيات الـ \fBخبيئة\fP .TE .IP إذا كان حقل \fIrta_type\fP هو \fBNDA_CACHEINFO\fP، فستتبعه ترويسة \fIstruct nda_cacheinfo\fP. .TP \fBRTM_NEWRULE\fP .TQ \fBRTM_DELRULE\fP .TQ \fBRTM_GETRULE\fP أضف قاعدة توجيه، أو احذفها، أو استرجعها. تحمل \fIstruct rtmsg\fP .TP \fBRTM_NEWQDISC\fP .TQ \fBRTM_DELQDISC\fP .TQ \fBRTM_GETQDISC\fP أضف نظام جدولة طوابير (queueing discipline)، أو أزله، أو احصل عليه. تحتوي الرسالة على \fIstruct tcmsg\fP وقد تتبعها سلسلة من السمات. .IP .EX struct tcmsg { unsigned char tcm_family; int tcm_ifindex; /* فهرس الواجهة */ __u32 tcm_handle; /* مقبض Qdisc */ __u32 tcm_parent; /* Qdisc الأب */ __u32 tcm_info; }; .EE .TS tab(:); c s s lb2 l2 l. سمات rta_type:نوع القيمة:الوصف _ TCA_UNSPEC:\-:غير محدد TCA_KIND:سلسلة asciiz:اسم نظام جدولة الطوابير TCA_OPTIONS:\fBتسلسل\fP بايتات:تليها الخيارات الخاصة بـ Qdisc TCA_STATS:struct tc_stats:إحصائيات Qdisc TCA_XSTATS:خاص بـ qdisc:إحصائيات خاصة بالوحدة TCA_RATE:struct tc_estimator:حد المعدل .TE .IP بالإضافة إلى ذلك، تُسمح بسمات متنوعة أخرى خاصة بوحدات qdisc. لمزيد من المعلومات راجع ملفات التضمين المناسبة. .TP \fBRTM_NEWTCLASS\fP .TQ \fBRTM_DELTCLASS\fP .TQ \fBRTM_GETTCLASS\fP أضِف فئة حركة مرور، أو أزلها، أو احصل عليها. تحتوي هذه الرسائل على \fIstruct tcmsg\fP كما هو موضح أعلاه. .TP \fBRTM_NEWTFILTER\fP .TQ \fBRTM_DELTFILTER\fP .TQ \fBRTM_GETTFILTER\fP أضِف مرشح حركة مرور، أو أزله، أو استلم معلومات عنه. تحتوي هذه الرسائل على \fIstruct tcmsg\fP كما هو موضح أعلاه. .SH الإصدارات تُعد \fBrtnetlink\fP ميزة جديدة في لينكس 2.2. .SH العلل صفحة الدليل هذه غير مكتملة. .SH "انظر أيضًا" \fBcmsg\fP(3)، و\fBrtnetlink\fP(3)، و\fBip\fP(7)، و\fBnetlink\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 .