.. SPDX-License-Identifier: GPL-2.0 .. NOTE: This document was auto-generated. ========================================= Family ``rt-neigh`` netlink specification ========================================= .. contents:: :depth: 3 ------- Summary ------- IP neighbour management over rtnetlink. ---------- Operations ---------- .. _rt-neigh-operation-newneigh: newneigh ======== Add new neighbour entry :fixed-header: :ref:`rt-neigh-definition-ndmsg` :attribute-set: :ref:`rt-neigh-attribute-set-neighbour-attrs` :do: **request** :attributes: [``dst``, ``lladdr``, ``probes``, ``vlan``, ``port``, ``vni``, ``ifindex``, ``master``, ``protocol``, ``nh-id``, ``flags-ext``, ``fdb-ext-attrs``] .. _rt-neigh-operation-delneigh: delneigh ======== Remove an existing neighbour entry :fixed-header: :ref:`rt-neigh-definition-ndmsg` :attribute-set: :ref:`rt-neigh-attribute-set-neighbour-attrs` :do: **request** :attributes: [``dst``, ``ifindex``] .. _rt-neigh-operation-delneigh-ntf: delneigh-ntf ============ Notify a neighbour deletion :value: 29 :notify: delneigh :fixed-header: :ref:`rt-neigh-definition-ndmsg` .. _rt-neigh-operation-getneigh: getneigh ======== Get or dump neighbour entries :fixed-header: :ref:`rt-neigh-definition-ndmsg` :attribute-set: :ref:`rt-neigh-attribute-set-neighbour-attrs` :do: **request** :attributes: [``dst``] **reply** :attributes: [``dst``, ``lladdr``, ``probes``, ``vlan``, ``port``, ``vni``, ``ifindex``, ``master``, ``protocol``, ``nh-id``, ``flags-ext``, ``fdb-ext-attrs``] :dump: **request** :attributes: [``ifindex``, ``master``] **reply** :attributes: [``dst``, ``lladdr``, ``probes``, ``vlan``, ``port``, ``vni``, ``ifindex``, ``master``, ``protocol``, ``nh-id``, ``flags-ext``, ``fdb-ext-attrs``] .. _rt-neigh-operation-newneigh-ntf: newneigh-ntf ============ Notify a neighbour creation :value: 28 :notify: getneigh :fixed-header: :ref:`rt-neigh-definition-ndmsg` .. _rt-neigh-operation-getneightbl: getneightbl =========== Get or dump neighbour tables :fixed-header: :ref:`rt-neigh-definition-ndtmsg` :attribute-set: :ref:`rt-neigh-attribute-set-ndt-attrs` :dump: **request** **reply** :attributes: [``name``, ``thresh1``, ``thresh2``, ``thresh3``, ``config``, ``parms``, ``stats``, ``gc-interval``] .. _rt-neigh-operation-setneightbl: setneightbl =========== Set neighbour tables :fixed-header: :ref:`rt-neigh-definition-ndtmsg` :attribute-set: :ref:`rt-neigh-attribute-set-ndt-attrs` :do: **request** :attributes: [``name``, ``thresh1``, ``thresh2``, ``thresh3``, ``parms``, ``gc-interval``] ---------------- Multicast groups ---------------- - rtnlgrp-neigh ----------- Definitions ----------- .. _rt-neigh-definition-ndmsg: ndmsg ===== :type: struct :members: :family (``u8``): :ifindex (``s32``): :state (``u16``): :flags (``u8``): :type (``u8``): .. _rt-neigh-definition-ndtmsg: ndtmsg ====== :type: struct :members: :family (``u8``): .. _rt-neigh-definition-nud-state: nud-state ========= :type: flags :entries: - ``incomplete`` - ``reachable`` - ``stale`` - ``delay`` - ``probe`` - ``failed`` - ``noarp`` - ``permanent`` .. _rt-neigh-definition-ntf-flags: ntf-flags ========= :type: flags :entries: - ``use`` - ``self`` - ``master`` - ``proxy`` - ``ext-learned`` - ``offloaded`` - ``sticky`` - ``router`` .. _rt-neigh-definition-ntf-ext-flags: ntf-ext-flags ============= :type: flags :entries: - ``managed`` - ``locked`` .. _rt-neigh-definition-rtm-type: rtm-type ======== :type: enum :entries: - ``unspec`` - ``unicast`` - ``local`` - ``broadcast`` - ``anycast`` - ``multicast`` - ``blackhole`` - ``unreachable`` - ``prohibit`` - ``throw`` - ``nat`` - ``xresolve`` .. _rt-neigh-definition-nda-cacheinfo: nda-cacheinfo ============= :type: struct :members: :confirmed (``u32``): :used (``u32``): :updated (``u32``): :refcnt (``u32``): .. _rt-neigh-definition-ndt-config: ndt-config ========== :type: struct :members: :key-len (``u16``): :entry-size (``u16``): :entries (``u32``): :last-flush (``u32``): :last-rand (``u32``): :hash-rnd (``u32``): :hash-mask (``u32``): :hash-chain-gc (``u32``): :proxy-qlen (``u32``): .. _rt-neigh-definition-ndt-stats: ndt-stats ========= :type: struct :members: :allocs (``u64``): :destroys (``u64``): :hash-grows (``u64``): :res-failed (``u64``): :lookups (``u64``): :hits (``u64``): :rcv-probes-mcast (``u64``): :rcv-probes-ucast (``u64``): :periodic-gc-runs (``u64``): :forced-gc-runs (``u64``): :table-fulls (``u64``): -------------- Attribute sets -------------- .. _rt-neigh-attribute-set-neighbour-attrs: neighbour-attrs =============== unspec (``binary``) ~~~~~~~~~~~~~~~~~~~ :value: 0 dst (``binary``) ~~~~~~~~~~~~~~~~ :display-hint: ipv4 lladr (``binary``) ~~~~~~~~~~~~~~~~~~ :display-hint: mac cacheinfo (``binary``) ~~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`rt-neigh-definition-nda-cacheinfo` probes (``u32``) ~~~~~~~~~~~~~~~~ vlan (``u16``) ~~~~~~~~~~~~~~ port (``u16``) ~~~~~~~~~~~~~~ vni (``u32``) ~~~~~~~~~~~~~ ifindex (``u32``) ~~~~~~~~~~~~~~~~~ master (``u32``) ~~~~~~~~~~~~~~~~ link-netnsid (``s32``) ~~~~~~~~~~~~~~~~~~~~~~ src-vni (``u32``) ~~~~~~~~~~~~~~~~~ protocol (``u8``) ~~~~~~~~~~~~~~~~~ nh-id (``u32``) ~~~~~~~~~~~~~~~ fdb-ext-attrs (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~~~~ flags-ext (``u32``) ~~~~~~~~~~~~~~~~~~~ :enum: :ref:`rt-neigh-definition-ntf-ext-flags` ndm-state-mask (``u16``) ~~~~~~~~~~~~~~~~~~~~~~~~ ndm-flags-mask (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~ .. _rt-neigh-attribute-set-ndt-attrs: ndt-attrs ========= name (``string``) ~~~~~~~~~~~~~~~~~ thresh1 (``u32``) ~~~~~~~~~~~~~~~~~ thresh2 (``u32``) ~~~~~~~~~~~~~~~~~ thresh3 (``u32``) ~~~~~~~~~~~~~~~~~ config (``binary``) ~~~~~~~~~~~~~~~~~~~ :struct: :ref:`rt-neigh-definition-ndt-config` parms (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`rt-neigh-attribute-set-ndtpa-attrs` stats (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`rt-neigh-definition-ndt-stats` gc-interval (``u64``) ~~~~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ .. _rt-neigh-attribute-set-ndtpa-attrs: ndtpa-attrs =========== ifindex (``u32``) ~~~~~~~~~~~~~~~~~ refcnt (``u32``) ~~~~~~~~~~~~~~~~ reachable-time (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~~ base-reachable-time (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ retrans-time (``u64``) ~~~~~~~~~~~~~~~~~~~~~~ gc-staletime (``u64``) ~~~~~~~~~~~~~~~~~~~~~~ delay-probe-time (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~~~~ queue-len (``u32``) ~~~~~~~~~~~~~~~~~~~ app-probes (``u32``) ~~~~~~~~~~~~~~~~~~~~ ucast-probes (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ mcast-probes (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ anycast-delay (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~ proxy-delay (``u64``) ~~~~~~~~~~~~~~~~~~~~~ proxy-qlen (``u32``) ~~~~~~~~~~~~~~~~~~~~ locktime (``u64``) ~~~~~~~~~~~~~~~~~~ queue-lenbytes (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~ mcast-reprobes (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ interval-probe-time-ms (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~