1*bc515ed0SDonald Hunter# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 2*bc515ed0SDonald Hunter 3*bc515ed0SDonald Huntername: rt-neigh 4*bc515ed0SDonald Hunterprotocol: netlink-raw 5*bc515ed0SDonald Hunterprotonum: 0 6*bc515ed0SDonald Hunter 7*bc515ed0SDonald Hunterdoc: 8*bc515ed0SDonald Hunter IP neighbour management over rtnetlink. 9*bc515ed0SDonald Hunter 10*bc515ed0SDonald Hunterdefinitions: 11*bc515ed0SDonald Hunter - 12*bc515ed0SDonald Hunter name: ndmsg 13*bc515ed0SDonald Hunter type: struct 14*bc515ed0SDonald Hunter members: 15*bc515ed0SDonald Hunter - 16*bc515ed0SDonald Hunter name: family 17*bc515ed0SDonald Hunter type: u8 18*bc515ed0SDonald Hunter - 19*bc515ed0SDonald Hunter name: pad 20*bc515ed0SDonald Hunter type: pad 21*bc515ed0SDonald Hunter len: 3 22*bc515ed0SDonald Hunter - 23*bc515ed0SDonald Hunter name: ifindex 24*bc515ed0SDonald Hunter type: s32 25*bc515ed0SDonald Hunter - 26*bc515ed0SDonald Hunter name: state 27*bc515ed0SDonald Hunter type: u16 28*bc515ed0SDonald Hunter enum: nud-state 29*bc515ed0SDonald Hunter - 30*bc515ed0SDonald Hunter name: flags 31*bc515ed0SDonald Hunter type: u8 32*bc515ed0SDonald Hunter enum: ntf-flags 33*bc515ed0SDonald Hunter - 34*bc515ed0SDonald Hunter name: type 35*bc515ed0SDonald Hunter type: u8 36*bc515ed0SDonald Hunter enum: rtm-type 37*bc515ed0SDonald Hunter - 38*bc515ed0SDonald Hunter name: ndtmsg 39*bc515ed0SDonald Hunter type: struct 40*bc515ed0SDonald Hunter members: 41*bc515ed0SDonald Hunter - 42*bc515ed0SDonald Hunter name: family 43*bc515ed0SDonald Hunter type: u8 44*bc515ed0SDonald Hunter - 45*bc515ed0SDonald Hunter name: pad 46*bc515ed0SDonald Hunter type: pad 47*bc515ed0SDonald Hunter len: 3 48*bc515ed0SDonald Hunter - 49*bc515ed0SDonald Hunter name: nud-state 50*bc515ed0SDonald Hunter type: flags 51*bc515ed0SDonald Hunter entries: 52*bc515ed0SDonald Hunter - incomplete 53*bc515ed0SDonald Hunter - reachable 54*bc515ed0SDonald Hunter - stale 55*bc515ed0SDonald Hunter - delay 56*bc515ed0SDonald Hunter - probe 57*bc515ed0SDonald Hunter - failed 58*bc515ed0SDonald Hunter - noarp 59*bc515ed0SDonald Hunter - permanent 60*bc515ed0SDonald Hunter - 61*bc515ed0SDonald Hunter name: ntf-flags 62*bc515ed0SDonald Hunter type: flags 63*bc515ed0SDonald Hunter entries: 64*bc515ed0SDonald Hunter - use 65*bc515ed0SDonald Hunter - self 66*bc515ed0SDonald Hunter - master 67*bc515ed0SDonald Hunter - proxy 68*bc515ed0SDonald Hunter - ext-learned 69*bc515ed0SDonald Hunter - offloaded 70*bc515ed0SDonald Hunter - sticky 71*bc515ed0SDonald Hunter - router 72*bc515ed0SDonald Hunter - 73*bc515ed0SDonald Hunter name: ntf-ext-flags 74*bc515ed0SDonald Hunter type: flags 75*bc515ed0SDonald Hunter entries: 76*bc515ed0SDonald Hunter - managed 77*bc515ed0SDonald Hunter - locked 78*bc515ed0SDonald Hunter - 79*bc515ed0SDonald Hunter name: rtm-type 80*bc515ed0SDonald Hunter type: enum 81*bc515ed0SDonald Hunter entries: 82*bc515ed0SDonald Hunter - unspec 83*bc515ed0SDonald Hunter - unicast 84*bc515ed0SDonald Hunter - local 85*bc515ed0SDonald Hunter - broadcast 86*bc515ed0SDonald Hunter - anycast 87*bc515ed0SDonald Hunter - multicast 88*bc515ed0SDonald Hunter - blackhole 89*bc515ed0SDonald Hunter - unreachable 90*bc515ed0SDonald Hunter - prohibit 91*bc515ed0SDonald Hunter - throw 92*bc515ed0SDonald Hunter - nat 93*bc515ed0SDonald Hunter - xresolve 94*bc515ed0SDonald Hunter - 95*bc515ed0SDonald Hunter name: nda-cacheinfo 96*bc515ed0SDonald Hunter type: struct 97*bc515ed0SDonald Hunter members: 98*bc515ed0SDonald Hunter - 99*bc515ed0SDonald Hunter name: confirmed 100*bc515ed0SDonald Hunter type: u32 101*bc515ed0SDonald Hunter - 102*bc515ed0SDonald Hunter name: used 103*bc515ed0SDonald Hunter type: u32 104*bc515ed0SDonald Hunter - 105*bc515ed0SDonald Hunter name: updated 106*bc515ed0SDonald Hunter type: u32 107*bc515ed0SDonald Hunter - 108*bc515ed0SDonald Hunter name: refcnt 109*bc515ed0SDonald Hunter type: u32 110*bc515ed0SDonald Hunter - 111*bc515ed0SDonald Hunter name: ndt-config 112*bc515ed0SDonald Hunter type: struct 113*bc515ed0SDonald Hunter members: 114*bc515ed0SDonald Hunter - 115*bc515ed0SDonald Hunter name: key-len 116*bc515ed0SDonald Hunter type: u16 117*bc515ed0SDonald Hunter - 118*bc515ed0SDonald Hunter name: entry-size 119*bc515ed0SDonald Hunter type: u16 120*bc515ed0SDonald Hunter - 121*bc515ed0SDonald Hunter name: entries 122*bc515ed0SDonald Hunter type: u32 123*bc515ed0SDonald Hunter - 124*bc515ed0SDonald Hunter name: last-flush 125*bc515ed0SDonald Hunter type: u32 126*bc515ed0SDonald Hunter - 127*bc515ed0SDonald Hunter name: last-rand 128*bc515ed0SDonald Hunter type: u32 129*bc515ed0SDonald Hunter - 130*bc515ed0SDonald Hunter name: hash-rnd 131*bc515ed0SDonald Hunter type: u32 132*bc515ed0SDonald Hunter - 133*bc515ed0SDonald Hunter name: hash-mask 134*bc515ed0SDonald Hunter type: u32 135*bc515ed0SDonald Hunter - 136*bc515ed0SDonald Hunter name: hash-chain-gc 137*bc515ed0SDonald Hunter type: u32 138*bc515ed0SDonald Hunter - 139*bc515ed0SDonald Hunter name: proxy-qlen 140*bc515ed0SDonald Hunter type: u32 141*bc515ed0SDonald Hunter - 142*bc515ed0SDonald Hunter name: ndt-stats 143*bc515ed0SDonald Hunter type: struct 144*bc515ed0SDonald Hunter members: 145*bc515ed0SDonald Hunter - 146*bc515ed0SDonald Hunter name: allocs 147*bc515ed0SDonald Hunter type: u64 148*bc515ed0SDonald Hunter - 149*bc515ed0SDonald Hunter name: destroys 150*bc515ed0SDonald Hunter type: u64 151*bc515ed0SDonald Hunter - 152*bc515ed0SDonald Hunter name: hash-grows 153*bc515ed0SDonald Hunter type: u64 154*bc515ed0SDonald Hunter - 155*bc515ed0SDonald Hunter name: res-failed 156*bc515ed0SDonald Hunter type: u64 157*bc515ed0SDonald Hunter - 158*bc515ed0SDonald Hunter name: lookups 159*bc515ed0SDonald Hunter type: u64 160*bc515ed0SDonald Hunter - 161*bc515ed0SDonald Hunter name: hits 162*bc515ed0SDonald Hunter type: u64 163*bc515ed0SDonald Hunter - 164*bc515ed0SDonald Hunter name: rcv-probes-mcast 165*bc515ed0SDonald Hunter type: u64 166*bc515ed0SDonald Hunter - 167*bc515ed0SDonald Hunter name: rcv-probes-ucast 168*bc515ed0SDonald Hunter type: u64 169*bc515ed0SDonald Hunter - 170*bc515ed0SDonald Hunter name: periodic-gc-runs 171*bc515ed0SDonald Hunter type: u64 172*bc515ed0SDonald Hunter - 173*bc515ed0SDonald Hunter name: forced-gc-runs 174*bc515ed0SDonald Hunter type: u64 175*bc515ed0SDonald Hunter - 176*bc515ed0SDonald Hunter name: table-fulls 177*bc515ed0SDonald Hunter type: u64 178*bc515ed0SDonald Hunter 179*bc515ed0SDonald Hunterattribute-sets: 180*bc515ed0SDonald Hunter - 181*bc515ed0SDonald Hunter name: neighbour-attrs 182*bc515ed0SDonald Hunter attributes: 183*bc515ed0SDonald Hunter - 184*bc515ed0SDonald Hunter name: unspec 185*bc515ed0SDonald Hunter type: binary 186*bc515ed0SDonald Hunter value: 0 187*bc515ed0SDonald Hunter - 188*bc515ed0SDonald Hunter name: dst 189*bc515ed0SDonald Hunter type: binary 190*bc515ed0SDonald Hunter display-hint: ipv4 191*bc515ed0SDonald Hunter - 192*bc515ed0SDonald Hunter name: lladr 193*bc515ed0SDonald Hunter type: binary 194*bc515ed0SDonald Hunter display-hint: mac 195*bc515ed0SDonald Hunter - 196*bc515ed0SDonald Hunter name: cacheinfo 197*bc515ed0SDonald Hunter type: binary 198*bc515ed0SDonald Hunter struct: nda-cacheinfo 199*bc515ed0SDonald Hunter - 200*bc515ed0SDonald Hunter name: probes 201*bc515ed0SDonald Hunter type: u32 202*bc515ed0SDonald Hunter - 203*bc515ed0SDonald Hunter name: vlan 204*bc515ed0SDonald Hunter type: u16 205*bc515ed0SDonald Hunter - 206*bc515ed0SDonald Hunter name: port 207*bc515ed0SDonald Hunter type: u16 208*bc515ed0SDonald Hunter - 209*bc515ed0SDonald Hunter name: vni 210*bc515ed0SDonald Hunter type: u32 211*bc515ed0SDonald Hunter - 212*bc515ed0SDonald Hunter name: ifindex 213*bc515ed0SDonald Hunter type: u32 214*bc515ed0SDonald Hunter - 215*bc515ed0SDonald Hunter name: master 216*bc515ed0SDonald Hunter type: u32 217*bc515ed0SDonald Hunter - 218*bc515ed0SDonald Hunter name: link-netnsid 219*bc515ed0SDonald Hunter type: s32 220*bc515ed0SDonald Hunter - 221*bc515ed0SDonald Hunter name: src-vni 222*bc515ed0SDonald Hunter type: u32 223*bc515ed0SDonald Hunter - 224*bc515ed0SDonald Hunter name: protocol 225*bc515ed0SDonald Hunter type: u8 226*bc515ed0SDonald Hunter - 227*bc515ed0SDonald Hunter name: nh-id 228*bc515ed0SDonald Hunter type: u32 229*bc515ed0SDonald Hunter - 230*bc515ed0SDonald Hunter name: fdb-ext-attrs 231*bc515ed0SDonald Hunter type: binary 232*bc515ed0SDonald Hunter - 233*bc515ed0SDonald Hunter name: flags-ext 234*bc515ed0SDonald Hunter type: u32 235*bc515ed0SDonald Hunter enum: ntf-ext-flags 236*bc515ed0SDonald Hunter - 237*bc515ed0SDonald Hunter name: ndm-state-mask 238*bc515ed0SDonald Hunter type: u16 239*bc515ed0SDonald Hunter - 240*bc515ed0SDonald Hunter name: ndm-flags-mask 241*bc515ed0SDonald Hunter type: u8 242*bc515ed0SDonald Hunter - 243*bc515ed0SDonald Hunter name: ndt-attrs 244*bc515ed0SDonald Hunter attributes: 245*bc515ed0SDonald Hunter - 246*bc515ed0SDonald Hunter name: name 247*bc515ed0SDonald Hunter type: string 248*bc515ed0SDonald Hunter - 249*bc515ed0SDonald Hunter name: thresh1 250*bc515ed0SDonald Hunter type: u32 251*bc515ed0SDonald Hunter - 252*bc515ed0SDonald Hunter name: thresh2 253*bc515ed0SDonald Hunter type: u32 254*bc515ed0SDonald Hunter - 255*bc515ed0SDonald Hunter name: thresh3 256*bc515ed0SDonald Hunter type: u32 257*bc515ed0SDonald Hunter - 258*bc515ed0SDonald Hunter name: config 259*bc515ed0SDonald Hunter type: binary 260*bc515ed0SDonald Hunter struct: ndt-config 261*bc515ed0SDonald Hunter - 262*bc515ed0SDonald Hunter name: parms 263*bc515ed0SDonald Hunter type: nest 264*bc515ed0SDonald Hunter nested-attributes: ndtpa-attrs 265*bc515ed0SDonald Hunter - 266*bc515ed0SDonald Hunter name: stats 267*bc515ed0SDonald Hunter type: binary 268*bc515ed0SDonald Hunter struct: ndt-stats 269*bc515ed0SDonald Hunter - 270*bc515ed0SDonald Hunter name: gc-interval 271*bc515ed0SDonald Hunter type: u64 272*bc515ed0SDonald Hunter - 273*bc515ed0SDonald Hunter name: pad 274*bc515ed0SDonald Hunter type: pad 275*bc515ed0SDonald Hunter - 276*bc515ed0SDonald Hunter name: ndtpa-attrs 277*bc515ed0SDonald Hunter attributes: 278*bc515ed0SDonald Hunter - 279*bc515ed0SDonald Hunter name: ifindex 280*bc515ed0SDonald Hunter type: u32 281*bc515ed0SDonald Hunter - 282*bc515ed0SDonald Hunter name: refcnt 283*bc515ed0SDonald Hunter type: u32 284*bc515ed0SDonald Hunter - 285*bc515ed0SDonald Hunter name: reachable-time 286*bc515ed0SDonald Hunter type: u64 287*bc515ed0SDonald Hunter - 288*bc515ed0SDonald Hunter name: base-reachable-time 289*bc515ed0SDonald Hunter type: u64 290*bc515ed0SDonald Hunter - 291*bc515ed0SDonald Hunter name: retrans-time 292*bc515ed0SDonald Hunter type: u64 293*bc515ed0SDonald Hunter - 294*bc515ed0SDonald Hunter name: gc-staletime 295*bc515ed0SDonald Hunter type: u64 296*bc515ed0SDonald Hunter - 297*bc515ed0SDonald Hunter name: delay-probe-time 298*bc515ed0SDonald Hunter type: u64 299*bc515ed0SDonald Hunter - 300*bc515ed0SDonald Hunter name: queue-len 301*bc515ed0SDonald Hunter type: u32 302*bc515ed0SDonald Hunter - 303*bc515ed0SDonald Hunter name: app-probes 304*bc515ed0SDonald Hunter type: u32 305*bc515ed0SDonald Hunter - 306*bc515ed0SDonald Hunter name: ucast-probes 307*bc515ed0SDonald Hunter type: u32 308*bc515ed0SDonald Hunter - 309*bc515ed0SDonald Hunter name: mcast-probes 310*bc515ed0SDonald Hunter type: u32 311*bc515ed0SDonald Hunter - 312*bc515ed0SDonald Hunter name: anycast-delay 313*bc515ed0SDonald Hunter type: u64 314*bc515ed0SDonald Hunter - 315*bc515ed0SDonald Hunter name: proxy-delay 316*bc515ed0SDonald Hunter type: u64 317*bc515ed0SDonald Hunter - 318*bc515ed0SDonald Hunter name: proxy-qlen 319*bc515ed0SDonald Hunter type: u32 320*bc515ed0SDonald Hunter - 321*bc515ed0SDonald Hunter name: locktime 322*bc515ed0SDonald Hunter type: u64 323*bc515ed0SDonald Hunter - 324*bc515ed0SDonald Hunter name: queue-lenbytes 325*bc515ed0SDonald Hunter type: u32 326*bc515ed0SDonald Hunter - 327*bc515ed0SDonald Hunter name: mcast-reprobes 328*bc515ed0SDonald Hunter type: u32 329*bc515ed0SDonald Hunter - 330*bc515ed0SDonald Hunter name: pad 331*bc515ed0SDonald Hunter type: pad 332*bc515ed0SDonald Hunter - 333*bc515ed0SDonald Hunter name: interval-probe-time-ms 334*bc515ed0SDonald Hunter type: u64 335*bc515ed0SDonald Hunter 336*bc515ed0SDonald Hunteroperations: 337*bc515ed0SDonald Hunter enum-model: directional 338*bc515ed0SDonald Hunter list: 339*bc515ed0SDonald Hunter - 340*bc515ed0SDonald Hunter name: newneigh 341*bc515ed0SDonald Hunter doc: Add new neighbour entry 342*bc515ed0SDonald Hunter fixed-header: ndmsg 343*bc515ed0SDonald Hunter attribute-set: neighbour-attrs 344*bc515ed0SDonald Hunter do: 345*bc515ed0SDonald Hunter request: 346*bc515ed0SDonald Hunter value: 28 347*bc515ed0SDonald Hunter attributes: &neighbour-all 348*bc515ed0SDonald Hunter - dst 349*bc515ed0SDonald Hunter - lladdr 350*bc515ed0SDonald Hunter - probes 351*bc515ed0SDonald Hunter - vlan 352*bc515ed0SDonald Hunter - port 353*bc515ed0SDonald Hunter - vni 354*bc515ed0SDonald Hunter - ifindex 355*bc515ed0SDonald Hunter - master 356*bc515ed0SDonald Hunter - protocol 357*bc515ed0SDonald Hunter - nh-id 358*bc515ed0SDonald Hunter - flags-ext 359*bc515ed0SDonald Hunter - fdb-ext-attrs 360*bc515ed0SDonald Hunter - 361*bc515ed0SDonald Hunter name: delneigh 362*bc515ed0SDonald Hunter doc: Remove an existing neighbour entry 363*bc515ed0SDonald Hunter fixed-header: ndmsg 364*bc515ed0SDonald Hunter attribute-set: neighbour-attrs 365*bc515ed0SDonald Hunter do: 366*bc515ed0SDonald Hunter request: 367*bc515ed0SDonald Hunter value: 29 368*bc515ed0SDonald Hunter attributes: 369*bc515ed0SDonald Hunter - dst 370*bc515ed0SDonald Hunter - ifindex 371*bc515ed0SDonald Hunter - 372*bc515ed0SDonald Hunter name: delneigh-ntf 373*bc515ed0SDonald Hunter doc: Notify a neighbour deletion 374*bc515ed0SDonald Hunter value: 29 375*bc515ed0SDonald Hunter notify: delneigh 376*bc515ed0SDonald Hunter fixed-header: ndmsg 377*bc515ed0SDonald Hunter - 378*bc515ed0SDonald Hunter name: getneigh 379*bc515ed0SDonald Hunter doc: Get or dump neighbour entries 380*bc515ed0SDonald Hunter fixed-header: ndmsg 381*bc515ed0SDonald Hunter attribute-set: neighbour-attrs 382*bc515ed0SDonald Hunter do: 383*bc515ed0SDonald Hunter request: 384*bc515ed0SDonald Hunter value: 30 385*bc515ed0SDonald Hunter attributes: 386*bc515ed0SDonald Hunter - dst 387*bc515ed0SDonald Hunter reply: 388*bc515ed0SDonald Hunter value: 28 389*bc515ed0SDonald Hunter attributes: *neighbour-all 390*bc515ed0SDonald Hunter dump: 391*bc515ed0SDonald Hunter request: 392*bc515ed0SDonald Hunter attributes: 393*bc515ed0SDonald Hunter - ifindex 394*bc515ed0SDonald Hunter - master 395*bc515ed0SDonald Hunter reply: 396*bc515ed0SDonald Hunter attributes: *neighbour-all 397*bc515ed0SDonald Hunter - 398*bc515ed0SDonald Hunter name: newneigh-ntf 399*bc515ed0SDonald Hunter doc: Notify a neighbour creation 400*bc515ed0SDonald Hunter value: 28 401*bc515ed0SDonald Hunter notify: getneigh 402*bc515ed0SDonald Hunter fixed-header: ndmsg 403*bc515ed0SDonald Hunter - 404*bc515ed0SDonald Hunter name: getneightbl 405*bc515ed0SDonald Hunter doc: Get or dump neighbour tables 406*bc515ed0SDonald Hunter fixed-header: ndtmsg 407*bc515ed0SDonald Hunter attribute-set: ndt-attrs 408*bc515ed0SDonald Hunter dump: 409*bc515ed0SDonald Hunter request: 410*bc515ed0SDonald Hunter value: 66 411*bc515ed0SDonald Hunter reply: 412*bc515ed0SDonald Hunter value: 64 413*bc515ed0SDonald Hunter attributes: 414*bc515ed0SDonald Hunter - name 415*bc515ed0SDonald Hunter - thresh1 416*bc515ed0SDonald Hunter - thresh2 417*bc515ed0SDonald Hunter - thresh3 418*bc515ed0SDonald Hunter - config 419*bc515ed0SDonald Hunter - parms 420*bc515ed0SDonald Hunter - stats 421*bc515ed0SDonald Hunter - gc-interval 422*bc515ed0SDonald Hunter - 423*bc515ed0SDonald Hunter name: setneightbl 424*bc515ed0SDonald Hunter doc: Set neighbour tables 425*bc515ed0SDonald Hunter fixed-header: ndtmsg 426*bc515ed0SDonald Hunter attribute-set: ndt-attrs 427*bc515ed0SDonald Hunter do: 428*bc515ed0SDonald Hunter request: 429*bc515ed0SDonald Hunter value: 67 430*bc515ed0SDonald Hunter attributes: 431*bc515ed0SDonald Hunter - name 432*bc515ed0SDonald Hunter - thresh1 433*bc515ed0SDonald Hunter - thresh2 434*bc515ed0SDonald Hunter - thresh3 435*bc515ed0SDonald Hunter - parms 436*bc515ed0SDonald Hunter - gc-interval 437*bc515ed0SDonald Hunter 438*bc515ed0SDonald Huntermcast-groups: 439*bc515ed0SDonald Hunter list: 440*bc515ed0SDonald Hunter - 441*bc515ed0SDonald Hunter name: rtnlgrp-neigh 442*bc515ed0SDonald Hunter value: 3 443