IP-ROUTE(8) Linux IP-ROUTE(8) (NAME) ip-route - (SYNOPSIS) ip [ ip-OPTIONS ] route { COMMAND | help } ip route { show | flush } SELECTOR ip route save SELECTOR ip route restore ip route get ROUTE_GET_FLAGS [ to ] ADDRESS [ from ADDRESS iif STRING ] [ oif STRING ] [ mark MARK ] [ tos TOS ] [ vrf NAME ] [ ipproto PROTOCOL ] [ sport NUMBER ] [ dport NUMBER ] [ as ADDRESS ] [ flowlabel FLOWLABEL ] ip route { add | del | change | append | replace } ROUTE SELECTOR := [ root PREFIX ] [ match PREFIX ] [ exact PREFIX ] [ table TABLE_ID ] [ vrf NAME ] [ proto RTPROTO ] [ type TYPE ] [ scope SCOPE ] ROUTE := NODE_SPEC [ INFO_SPEC ] NODE_SPEC := [ TYPE ] PREFIX [ tos TOS ] [ table TABLE_ID ] [ proto RTPROTO ] [ scope SCOPE ] [ metric METRIC ] [ ttl-propagate { enabled | disabled } ] INFO_SPEC := { NH | nhid ID } OPTIONS FLAGS [ nexthop NH ] ... NH := [ encap ENCAP ] [ via [ FAMILY ] ADDRESS ] [ dev STRING ] [ weight NUMBER ] NHFLAGS FAMILY := [ inet | inet6 | mpls | bridge | link ] OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ] [ as [ to ] ADDRESS ] rtt TIME ] [ rttvar TIME ] [ reordering NUMBER ] [ window NUMBER ] [ cwnd NUMBER ] [ ssthresh NUMBER ] [ realms REALM ] [ rto_min TIME ] [ initcwnd NUMBER ] [ initrwnd NUMBER ] [ features FEATURES ] [ quickack BOOL ] [ congctl NAME ] [ pref PREF ] [ expires TIME ] [ fastopen_no_cookie BOOL ] TYPE := [ unicast | local | broadcast | multicast | throw | unreachable | prohibit | blackhole | nat ] TABLE_ID := [ local| main | default | all | NUMBER ] SCOPE := [ host | link | global | NUMBER ] NHFLAGS := [ onlink | pervasive ] RTPROTO := [ kernel | boot | static | NUMBER ] FEATURES := [ ecn | ] PREF := [ low | medium | high ] ENCAP := [ ENCAP_MPLS | ENCAP_IP | ENCAP_BPF | ENCAP_SEG6 | ENCAP_SEG6LOCAL | ENCAP_IOAM6 ] ENCAP_MPLS := mpls [ LABEL ] [ ttl TTL ] ENCAP_IP := ip id TUNNEL_ID dst REMOTE_IP [ src SRC ] [ tos TOS ] [ ttl TTL ] [ key ] [ csum ] [ seq ] [ GENEVE_OPTS | VXLAN_OPTS | ERSPAN_OPTS ] ENCAP_BPF := bpf [ in PROG ] [ out PROG ] [ xmit PROG ] [ headroom SIZE ] ENCAP_SEG6 := seg6 mode [ encap | encap.red | inline | l2encap | l2encap.red ] segs SEGMENTS [ hmac KEYID ] ENCAP_SEG6LOCAL := seg6local action SEG6_ACTION [ SEG6_ACTION_PARAM ] [ count ] ENCAP_IOAM6 := ioam6 [ freq K/N ] mode [ inline | encap | auto ] [ tunsrc ADDRESS ] [ tundst ADDRESS ] trace prealloc type IOAM6_TRACE_TYPE ns IOAM6_NAMESPACE size IOAM6_TRACE_SIZE ROUTE_GET_FLAGS := ROUTE_GET_FLAG [ ROUTE_GET_FLAGS ] ROUTE_GET_FLAG := [ connected | fibmatch | notify ] (DESCRIPTION) ip route . : unicast - . unreachable - . ICMP host unreachable . EHOSTUNREACH . blackhole - . . EINVAL . prohibit - . ICMP communication administratively prohibited . EACCES . local - . . broadcast - (broadcast) . . throw - . . . ICMP net unreachable . ENETUNREACH . nat - NAT. ( ) ( ) . via . : NAT 2.6 . anycast - anycast . local : . multicast - (multicast) . . : 2.x 1 2^32-1 /usr/share/iproute2/rt_tables /etc/iproute2/rt_tables ( ) . main ( 254) . (0 253 254 255) . . local ( 255) . . . (policy routing) . ip route add ip route change ip route replace to TYPE PREFIX () . TYPE ip unicast . TYPE . PREFIX IP IPv6 . ip . PREFIX default IP 0/0 IPv6 ::/0 . tos TOS dsfield TOS (TOS). : TOS TOS . TOS . TOS /usr/share/iproute2/rt_dsfield /etc/iproute2/rt_dsfield ( ). metric NUMBER preference NUMBER (preference) . NUMBER . table TABLEID . TABLEID /usr/share/iproute2/rt_tables /etc/iproute2/rt_tables ( ). ip main local broadcast nat local . vrf NAME vrf . VRF . dev NAME . via [ FAMILY ] ADDRESS FAMILY. . unicast BSD . NAT IP . src ADDRESS . realm REALMID (realm) . REALMID /usr/share/iproute2/rt_realms /etc/iproute2/rt_realms ( ). mtu MTU mtu lock MTU MTU . lock MTU MTU (Path MTU Discovery) . lock MTU IPv4 DF IPv6 MTU (fragment) . window NUMBER TCP . (data bursts) TCP . rtt TIME RTT ( <>). . s sec secs ms msec msecs . rttvar TIME ( 2.3.15+) RTT. rtt . rto_min TIME ( 2.6.23+) TCP ( Retransmission TimeOut) . rtt . ssthresh NUMBER ( 2.3.15+) (slow start threshold) . cwnd NUMBER ( 2.3.15+) (clamp) (congestion window). lock . initcwnd NUMBER ( 2.5.70+) . MSS ( <>) . RFC2414 . initrwnd NUMBER ( 2.6.33+) . MSS . (Slow Start) . features FEATURES (3.18+) . ecn (explicit congestion notification) . ecn sysctl net.ipv4.tcp_ecn 0 . quickack BOOL ( 3.11+) (quick ack) . fastopen_no_cookie BOOL ( 4.15+) TCP Fastopen . congctl NAME ( 3.20+) congctl lock NAME ( 3.20+) TCP . TCP . lock . lock . advmss NUMBER ( 2.3.15+) MSS ( <>) TCP. MTU . ( .) reordering NUMBER ( 2.3.15+) (reordering) . sysctl net/ipv4/tcp_reordering . nexthop NEXTHOP (nexthop) (multipath). NEXTHOP : via [ FAMILY ] ADDRESS - . dev NAME - . weight NUMBER - . iproute2 nexthop . ADDRESS IPv6 IPv4 . IPv4 nexthop . IPv6 ip route append . scope SCOPE_VAL (scope) . SCOPE_VAL /usr/share/iproute2/rt_scopes /etc/iproute2/rt_scopes ( ). ip global unicast link unicast broadcast host local . protocol RTPROTO . RTPROTO /usr/share/iproute2/rt_protos /etc/iproute2/rt_protos ( ). ip boot ( ). : redirect - ICMP redirect . kernel - . boot - . . static - . . ra - Router Discovery . ( ) . onlink (nexthop) . pref PREF IPv6. PREF RFC4191 Router Discovery : low - medium - high - nhid ID nexthop . encap ENCAPTYPE ENCAPHDR . ENCAPTYPE : mpls - MPLS ip - IP ( Geneve GRE VXLAN ...) bpf - BPF seg6 - IPv6 Segment Routing seg6local - SRv6 ioam6 - IPv6 IOAM xfrm - XFRM ENCAPHDR ENCAPTYPE . mpls MPLSLABEL - mpls / ttl TTL - TTL MPLS 0 IP ip id TUNNEL_ID - ( VNI VXLAN) dst REMOTE_IP - IP (IPv4 IPv6) src SRC - IP (IPv4 IPv6) tos TOS - TOS ttl TTL - TTL key - GRE csum - csum GRE seq - seq GRE GENEVE_OPTS - CLASS:TYPE:DATA CLASS TYPE DATA . . VXLAN_OPTS - GBP . . ERSPAN_OPTS - VERSION:INDEX:DIR:HWID VERSION INDEX DIR HWID . . VERSION 1 INDEX VERSION 2 DIR HWID . bpf in PROG - BPF out PROG - BPF xmit PROG - BPF headroom SIZE - BPF (xmit) seg6 mode inline - (SRH) IPv6 mode encap - IPv6 SRH mode encap.red - IPv6 SRH . HMAC SRH . mode l2encap - IPv6 SRH mode l2encap.red - IPv6 SRH . HMAC SRH . SEGMENTS - IPv6 KEYID - . ip- sr(8) . seg6local SEG6_ACTION [ SEG6_ACTION_PARAM ] [ count ] - . count . : ) ) ) ( SID List SID List ). -s show . ( 4.14+). End [ flavors FLAVORS ] - SRv6 . Segments Left . . flavors End Flavor . Flavors parameters . End.X nh6 NEXTHOP [ flavors FLAVORS ] - SRv6 . (forward) . Segments Left . . flavors End.X Flavor . Flavors parameters . End.DX6 nh6 NEXTHOP - IPv6 . :: . Segments Left SRH IPv6 . . End.DT6 { table | vrftable } TABLEID - IPv6 . TABLEID /usr/share/iproute2/rt_tables /etc/iproute2/rt_tables ( ). vrftable VRF . VRF VRF (net.vrf.strict_mode=1). Segments Left SRH IPv6 . . End.DT4 vrftable TABLEID - IPv4 . TABLEID /usr/share/iproute2/rt_tables /etc/iproute2/rt_tables ( ). VRF . VRF VRF (net.vrf.strict_mode=1). Segments Left SRH IPv4 . . End.DT46 vrftable TABLEID - IPv4 IPv6 . TABLEID /usr/share/iproute2/rt_tables /etc/iproute2/rt_tables ( ). VRF . VRF VRF (net.vrf.strict_mode=1). Segments Left SRH IPv4 IPv6 . . End.B6 srh segs SEGMENTS [ hmac KEYID ] - SRH IPv6 DA SRH . SRH . Segments Left . . End.B6.Encaps srh segs SEGMENTS [ hmac KEYID ] - SRv6 . IPv6 SRH . IPv6 SRH . ip-sr(8) . Flavors flavors . flavors OPERATION[,OPERATION] [ATTRIBUTES] OPERATION := { psp | usp | usd | next-csid } ATTRIBUTES := { KEY VALUE } [ ATTRIBUTES ] KEY := { lblen | nflen } psp - Penultimate Segment Pop ( PSP) SID SID ( SRH ) IPv6 ( DA) SRH IPv6 (pop) . PSP SR ( Segment Left ) . flavor End . usp - Ultimate Segment Pop SRH ( ) usd - Ultimate Segment Decapsulation ( ) next-csid - NEXT-C- SID SRv6 SID . flavor NEXT-C-SID Locator-Block Locator-Node Function . Locator-Block / Locator-Node Function End SRv6 NEXT-C-SID Locator-Block Locator-Node Function . lblen VALUE - Locator-Block NEXT-C-SID . Locator-Block 0 8 . NEXT-C-SID . nflen VALUE - Locator-Node Function NEXT-C-SID . Locator-Node Function 0 8 . NEXT-C-SID . ioam6 freq K/N - IOAM K N ( 1/1 ). mode inline - IOAM IPv6 ( ). mode encap - IPv6 IOAM. mode auto - inline encap (in-transit). tunsrc ADDRESS - IPv6 ( ) inline . : . tundst ADDRESS - IPv6 ( ) inline . type IOAM6_TRACE_TYPE - IOAM ( ) . ns IOAM6_NAMESPACE - IOAM. ip-ioam(8) . size IOAM6_TRACE_SIZE - (). xfrm if_id IF_ID [ link_dev LINK_DEV ] expires TIME ( 4.4+) . IPv6 . ttl-propagate { enabled | disabled } TTL . MPLS . ip route delete ip route del ip route add . (to tos preference table) . ip . ip route del . ip route show () . to SELECTOR () . SELECTOR (root match exact) . root PREFIX PREFIX . : root 0/0 . match PREFIX PREFIX . : match 10.0/16 10.0/16 10/8 0/0 10.1/16 10.0.0/24 . exact PREFIX ( PREFIX) . ip root 0/0 . tos TOS dsfield TOS TOS . table TABLEID () . main . TABLEID : all - . cache - . vrf NAME vrf cloned cached ( MTU) . table cache . from SELECTOR to . from . protocol RTPROTO . scope SCOPE_VAL . type TYPE . dev NAME . via [ FAMILY ] PREFIX PREFIX . src PREFIX PREFIX . realm REALMID realms FROMREALM/TOREALM (realms) . ip route flush . ip route show . : show IP flush . -statistics . . ip route flush . ip route get . fibmatch fib. (dst) . to ADDRESS () . from ADDRESS . tos TOS dsfield TOS (Type Of Service). iif NAME . oif NAME . mark MARK (fwmark) vrf NAME vrf . ipproto PROTOCOL ip . sport NUMBER . dport NUMBER . connected ( from) . . flowlabel FLOWLABEL ipv6 . ip route show . show . get . get . iif . ip route ls cache . iif (forward) . ip route save stdout ip route show ip route restore . ip route restore stdin ip route save . ( ) . . . (NOTES) 3.6 (routing cache) IPv4 . ip route show cached . (EXAMPLES) ip ro . ip route add default via 192.168.1.1 dev eth0 ( ) 192.168.1.1 eth0 . ip route add 10.1.1.0/30 encap mpls 200/300 via 10.1.1.1 dev eth0 ipv4 mpls . ip -6 route add 2001:db8:1::/64 encap seg6 mode encap segs 2001:db8:42::1,2001:db8:ffff::2 dev eth0 IPv6 SRv6 . ip -6 route add 2001:db8:1::/64 encap seg6local action End.DT46 vrftable 100 dev vrf100 IPv6 SRv6 VRF. ip -6 route add 2001:db8:1::/64 encap seg6local action End flavors psp dev eth0 IPv6 End SRv6 psp . ip -6 route add 2001:db8:1::/64 encap seg6local action End flavors next-csid dev eth0 IPv6 End SRv6 next-csid . ip -6 route add 2001:db8:1::/64 encap seg6local action End flavors next-csid lblen 48 nflen 16 dev eth0 IPv6 End SRv6 next-csid Locator-Block Locator-Node Function . ip -6 route add 2001:db8:1::/64 encap ioam6 freq 2/5 mode encap tundst 2001:db8:42::1 trace prealloc type 0x800000 ns 1 size 12 dev eth0 IPv6 IOAM ( ip6ip6) IOAM 1 ( ). ip route add 10.1.1.0/30 nhid 10 ipv4 nexthop 10. (SEE ALSO) ip(8) (AUTHOR) Michail Litvak . iproute2 13 Dec 2012 IP-ROUTE(8)