.. SPDX-License-Identifier: GPL-2.0 .. NOTE: This document was auto-generated. ======================================== Family ``rt-rule`` netlink specification ======================================== .. contents:: :depth: 3 ------- Summary ------- FIB rule management over rtnetlink. ---------- Operations ---------- .. _rt-rule-operation-newrule: newrule ======= Add new FIB rule :attribute-set: :ref:`rt-rule-attribute-set-fib-rule-attrs` :do: **request** :attributes: [``iifname``, ``oifname``, ``priority``, ``fwmark``, ``flow``, ``tun-id``, ``fwmask``, ``table``, ``suppress-prefixlen``, ``suppress-ifgroup``, ``goto``, ``l3mdev``, ``uid-range``, ``protocol``, ``ip-proto``, ``sport-range``, ``dport-range``, ``dscp``, ``flowlabel``, ``flowlabel-mask``] .. _rt-rule-operation-newrule-ntf: newrule-ntf =========== Notify a rule creation :value: 32 :notify: newrule .. _rt-rule-operation-delrule: delrule ======= Remove an existing FIB rule :attribute-set: :ref:`rt-rule-attribute-set-fib-rule-attrs` :do: **request** :attributes: [``iifname``, ``oifname``, ``priority``, ``fwmark``, ``flow``, ``tun-id``, ``fwmask``, ``table``, ``suppress-prefixlen``, ``suppress-ifgroup``, ``goto``, ``l3mdev``, ``uid-range``, ``protocol``, ``ip-proto``, ``sport-range``, ``dport-range``, ``dscp``, ``flowlabel``, ``flowlabel-mask``] .. _rt-rule-operation-delrule-ntf: delrule-ntf =========== Notify a rule deletion :value: 33 :notify: delrule .. _rt-rule-operation-getrule: getrule ======= Dump all FIB rules :attribute-set: :ref:`rt-rule-attribute-set-fib-rule-attrs` :dump: **request** **reply** :attributes: [``iifname``, ``oifname``, ``priority``, ``fwmark``, ``flow``, ``tun-id``, ``fwmask``, ``table``, ``suppress-prefixlen``, ``suppress-ifgroup``, ``goto``, ``l3mdev``, ``uid-range``, ``protocol``, ``ip-proto``, ``sport-range``, ``dport-range``, ``dscp``, ``flowlabel``, ``flowlabel-mask``] ---------------- Multicast groups ---------------- - rtnlgrp-ipv4-rule - rtnlgrp-ipv6-rule ----------- Definitions ----------- .. _rt-rule-definition-rtgenmsg: rtgenmsg ======== :type: struct :members: :family (``u8``): .. _rt-rule-definition-fib-rule-hdr: fib-rule-hdr ============ :type: struct :members: :family (``u8``): :dst-len (``u8``): :src-len (``u8``): :tos (``u8``): :table (``u8``): :res1 (``pad``): :res2 (``pad``): :action (``u8``): :flags (``u32``): .. _rt-rule-definition-fr-act: fr-act ====== :type: enum :entries: - ``unspec`` - ``to-tbl`` - ``goto`` - ``nop`` - ``res3`` - ``res4`` - ``blackhole`` - ``unreachable`` - ``prohibit`` .. _rt-rule-definition-fib-rule-port-range: fib-rule-port-range =================== :type: struct :members: :start (``u16``): :end (``u16``): .. _rt-rule-definition-fib-rule-uid-range: fib-rule-uid-range ================== :type: struct :members: :start (``u32``): :end (``u32``): -------------- Attribute sets -------------- .. _rt-rule-attribute-set-fib-rule-attrs: fib-rule-attrs ============== dst (``u32``) ~~~~~~~~~~~~~ src (``u32``) ~~~~~~~~~~~~~ iifname (``string``) ~~~~~~~~~~~~~~~~~~~~ goto (``u32``) ~~~~~~~~~~~~~~ unused2 (``pad``) ~~~~~~~~~~~~~~~~~ priority (``u32``) ~~~~~~~~~~~~~~~~~~ unused3 (``pad``) ~~~~~~~~~~~~~~~~~ unused4 (``pad``) ~~~~~~~~~~~~~~~~~ unused5 (``pad``) ~~~~~~~~~~~~~~~~~ fwmark (``u32``) ~~~~~~~~~~~~~~~~ :display-hint: hex flow (``u32``) ~~~~~~~~~~~~~~ tun-id (``u64``) ~~~~~~~~~~~~~~~~ suppress-ifgroup (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~ suppress-prefixlen (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :display-hint: hex table (``u32``) ~~~~~~~~~~~~~~~ fwmask (``u32``) ~~~~~~~~~~~~~~~~ :display-hint: hex oifname (``string``) ~~~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ l3mdev (``u8``) ~~~~~~~~~~~~~~~ uid-range (``binary``) ~~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`rt-rule-definition-fib-rule-uid-range` protocol (``u8``) ~~~~~~~~~~~~~~~~~ ip-proto (``u8``) ~~~~~~~~~~~~~~~~~ sport-range (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`rt-rule-definition-fib-rule-port-range` dport-range (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`rt-rule-definition-fib-rule-port-range` dscp (``u8``) ~~~~~~~~~~~~~ flowlabel (``u32``) ~~~~~~~~~~~~~~~~~~~ :byte-order: big-endian :display-hint: hex flowlabel-mask (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~ :byte-order: big-endian :display-hint: hex