IP-NEXTHOP(8) Linux IP-NEXTHOP(8)

# [NAME](#NAME)

ip-nexthop - nexthop object management

# [SYNOPSIS](#SYNOPSIS)

**ip** \[ *ip-OPTIONS* ] **nexthop** { *COMMAND* | **help** }

**ip nexthop** { **show** | **flush** } *SELECTOR*

**ip nexthop** { **add** | **replace** } id *ID* *NH*

**ip nexthop** { **get** | **del** } id *ID*

**ip nexthop bucket list BUCKET\_SELECTOR**

**ip nexthop bucket get** id *ID* index *INDEX*

*SELECTOR* := \[ **id** *ID* ] \[ **dev** *DEV* ] \[ **vrf** *NAME* ] \[ **master** *DEV* ] \[ **groups** ] \[ **fdb** ]

*BUCKET\_SELECTOR* := *SELECTOR* | \[ **nhid** *ID* ]

*NH* := { **blackhole** | \[ **via** *ADDRESS* ] \[ **dev** *DEV* ] \[ **onlink** ] \[ **encap** *ENCAP* ] \[ **fdb** ] | **group** *GROUP* \[ **hw\_stats** { **on** | **off** } ] \[ **fdb** ] \[ **type** *TYPE* \[ *TYPE\_ARGS* ] ] }

*ENCAP* := \[ *ENCAP\_MPLS* ]

*ENCAP\_MPLS* := **mpls** \[ *LABEL* ] \[ **ttl** *TTL* ]

*GROUP* := **id**\[,**weight**\[/...]

*TYPE* := { **mpath** | **resilient** }

*TYPE\_ARGS* := \[ *RESILIENT\_ARGS* ]

*RESILIENT\_ARGS* := \[ **buckets** *BUCKETS* ] \[ **idle\_timer** *IDLE* ] \[ **unbalanced\_timer** *UNBALANCED* ]

# [DESCRIPTION](#DESCRIPTION)

**ip nexthop** is used to manipulate entries in the kernel's nexthop tables.

[ip nexthop add id ID](#ip)

add new nexthop entry

[ip nexthop replace id ID](#ip~2)

change the configuration of a nexthop or add new one

[**via \[ FAMILY \] ADDRESS**](#via)

the address of the nexthop router, in the address family FAMILY. Address family must match address family of nexthop instance.

[**dev NAME**](#dev)

is the output device.

[**onlink**](#onlink)

pretend that the nexthop is directly attached to this link, even if it does not match any interface prefix.

[**encap ENCAPTYPE ENCAPHDR**](#encap)

attach tunnel encapsulation attributes to this route.

*ENCAPTYPE* is a string specifying the supported encapsulation type. Namely:

**mpls** - encapsulation type MPLS

*ENCAPHDR* is a set of encapsulation attributes specific to the *ENCAPTYPE.*

**mpls**  
*MPLSLABEL* - mpls label stack with labels separated by */*

**ttl** *TTL* - TTL to use for MPLS header or 0 to inherit from IP header

[**group GROUP \[ type TYPE \[ TYPE\_ARGS \] \]**](#group)

create a nexthop group. Group specification is id with an optional weight (id,weight) and a '/' as a separator between entries.

*TYPE* is a string specifying the nexthop group type. Namely:

**mpath** - Multipath nexthop group backed by the hash-threshold algorithm. The default when the type is unspecified.

**resilient** - Resilient nexthop group. Group is resilient to addition and deletion of nexthops.

*TYPE\_ARGS* is a set of attributes specific to the *TYPE.*

**resilient**  
**buckets** *BUCKETS* - Number of nexthop buckets. Cannot be changed for an existing group

**idle\_timer** *IDLE* - Time in seconds in which a nexthop bucket does not see traffic and is therefore considered idle. Default is 120 seconds

**unbalanced\_timer** *UNBALANCED* - Time in seconds in which a nexthop group is unbalanced and is therefore considered unbalanced. The kernel will try to rebalance unbalanced groups, which might result in some flows being reset. A value of 0 means that no rebalancing will take place. Default is 0 seconds

[**blackhole**](#blackhole)

create a blackhole nexthop

[**fdb**](#fdb)

nexthop and nexthop groups for use with layer-2 fdb entries. A fdb nexthop group can only have fdb nexthops. Example: Used to represent a vxlan remote vtep ip. layer-2 vxlan fdb entry pointing to an ecmp nexthop group containing multiple remote vtep ips.

[ip nexthop delete id ID](#ip~3)

delete nexthop with given id.

[ip nexthop show](#ip~4)

show the contents of the nexthop table or the nexthops selected by some criteria.

[**dev DEV**](#dev~2)

show the nexthops using the given device.

[**vrf NAME**](#vrf)

show the nexthops using devices associated with the vrf name

[**master DEV**](#master)

show the nexthops using devices enslaved to given master device

[**groups**](#groups)

show only nexthop groups

[**fdb**](#fdb~2)

show only fdb nexthops and nexthop groups

[ip nexthop flush](#ip~5)

flushes nexthops selected by some criteria. Criteria options are the same as show.

[ip nexthop get id ID](#ip~6)

get a single nexthop by id

[ip nexthop bucket show](#ip~7)

show the contents of the nexthop bucket table or the nexthop buckets selected by some criteria.

[**id ID**](#id)

show the nexthop buckets that belong to a nexthop group with a given id

[**nhid ID**](#nhid)

show the nexthop buckets that hold a nexthop with a given id

[**dev DEV**](#dev~3)

show the nexthop buckets using the given device

[**vrf NAME**](#vrf~2)

show the nexthop buckets using devices associated with the vrf name

[**master DEV**](#master~2)

show the nexthop buckets using devices enslaved to given master device

[ip nexthop bucket get id ID index INDEX](#ip~8)

get a single nexthop bucket by nexthop group id and bucket index

# [EXAMPLES](#EXAMPLES)

ip nexthop ls

Show all nexthop entries in the kernel.

ip nexthop add id 1 via 192.168.1.1 dev eth0

Adds an IPv4 nexthop with id 1 using the gateway 192.168.1.1 out device eth0.

ip nexthop add id 2 encap mpls 200/300 via 10.1.1.1 dev eth0

Adds an IPv4 nexthop with mpls encapsulation attributes attached to it.

ip nexthop add id 3 group 1/2

Adds a nexthop with id 3. The nexthop is a group using nexthops with ids 1 and 2 at equal weight.

ip nexthop add id 4 group 1,5/2,11

Adds a nexthop with id 4. The nexthop is a group using nexthops with ids 1 and 2 with nexthop 1 at weight 5 and nexthop 2 at weight 11.

ip nexthop add id 5 via 192.168.1.2 fdb

Adds a fdb nexthop with id 5.

ip nexthop add id 7 group 5/6 fdb

Adds a fdb nexthop group with id 7. A fdb nexthop group can only have fdb nexthops.

ip nexthop add id 10 group 1/2 type resilient buckets 32

Add a resilient nexthop group with id 10 and 32 nexthop buckets.

# [SEE ALSO](#SEE_ALSO)

[**ip**(8)](/man/os/iproute2/ip.8)

# [AUTHOR](#AUTHOR)

Original Manpage by David Ahern &lt;dsahern@kernel.org&gt;

30 May 2019 iproute2

---

Document: ip-nexthop(8) from iproute2 7.2.0-r1 (Chainguard OS)
Source: https://kernel.googlesource.com/pub/scm/network/iproute2/iproute2
