|
1. |
Configure a VRF for the IP-only path.
Example:
Router(config)# vrf ip_only
Router(config-vrf)# fallback-vrf default
Router(config-vrf)# address-family ipv4 unicast
Router(config-vrf-af)# exit
Router(config-vrf)# address-family ipv6 unicast
Router(config-vrf-af)# exit
|
|
2. |
Activate the IP-only table in RIB configuration.
Example:
Router(config)# router rib
Router(config-rib)# table ip-only activate vrf ip_only
|
|
3. |
Configure the BGP neighbor group to use IP-only steering.
Example:
Router(config)# router bgp <ASN>
Router(config-bgp)# neighbor-group ip-only
Router(config-bgp-nbrgrp)# remote-as <Remote-AS>
Router(config-bgp-nbrgrp)# update-source <Loopback-Interface>
Router(config-bgp-nbrgrp)# tcp ip-only-preferred
|
|
4. |
(Optional) Configure prefix-list and distribute-list for IS-IS.
Example:
Router(config)# ipv4 prefix-list v4-host-only
Router(config-ipv4_pfx)# 10 permit 0.0.0.0/0 eq 32
Router(config-ipv4_pfx)# exit
Router(config)# router isis 1
Router(config-isis)# address-family ipv4 unicast
Router(config-isis-af)# distribute-list ip-only prefix-list v4-host-only in
|
|
5. |
(Optional) Configure a route-policy for IP-only steering.
Example:
Router(config)# route-policy rpl-isis-ip-only
Router(config-rpl)# if not destination in (192.0.2.1 192.0.2.2 192.0.2.3) then
Router(config-rpl-if)# drop
Router(config-rpl-if)# else
Router(config-rpl-else)# pass
Router(config-rpl)# end-policy
Router(config)# router isis 1
Router(config-isis)# address-family ipv4 unicast
Router(config-isis-af)# distribute-list ip-only route-policy isis-ip-only in
|
|
6. |
Use the show running-config router rib command to verify if the feature is enabled.
Example:
Router# show running-config router rib
Wed Mar 27 06:39:01.233 UTC
router rib
table ip-only activate vrf ip_only
!
|
|
7. |
Verify the IS-IS IP-only local RIB entries:
Example:
Router# show isis route ip-only
Wed Jul 26 09:24:56.422 PDT
IS-IS 1 IPv4 Unicast routes
Codes: L1 - level 1, L2 - level 2, ia - interarea (leaked into level 1)
df - level 1 default (closest attached router), su - summary null
C - connected, S - static, R - RIP, B - BGP, O - OSPF
E - EIGRP, A - access/subscriber, M - mobile, a - application
i - IS-IS (redistributed from another instance)
Maximum parallel path count: 8
L2 10.2.1.0/24 [20/115]
via 10.1.1.101, GigabitEthernet0/0/0/2, r101, Weight: 0
L2 10.3.1.0/24 [120/115]
via 10.1.1.101, GigabitEthernet0/0/0/2, r101, Weight: 0
L2 10.4.1.0/24 [130/115]
via 10.1.1.101, GigabitEthernet0/0/0/2, r101, Weight: 0
L2 10.1.0.101/32 [20/115]
via 10.1.1.101, GigabitEthernet0/0/0/2, r101, Weight: 0
L2 10.1.0.102/32 [30/115]
via 10.1.1.101, GigabitEthernet0/0/0/2, r101, Weight: 0
L2 10.1.0.103/32 [130/115]
via 10.1.1.101, GigabitEthernet0/0/0/2, r101, Weight: 0
|
|
8. |
Use the show tcp detail pcb command to verify that BGP is using the IP-only option and check the TCP session details for the neighbor.
Example:
Router# show tcp detail pcb 0x00007f733000d618 location 0/rP1/CPU0
Tue Dec 12 09:20:56.163 UTC
==============================================================
Connection state is ESTAB, I/O status: 0, socket status: 0
Established at Tue Dec 12 07:25:24 2023
PCB 0x00007f733000d618, SO 0x7f733000d158, TCPCB 0x7f733000d8c8, vrfid 0x60000000,
Pak Prio: Medium, TOS: 192, TTL: 255, Hash index: 1575
Local host: 10.1.1.1, Local port: 179 (Local App PID: 24619)
Foreign host: 10.4.4.4, Foreign port: 50026
(Local App PID/instance/SPL_APP_ID: 24619/1/0)
Current send queue size in bytes: 0 (max 24576)
Current receive queue size in bytes: 0 (max 32768) mis-ordered: 0 bytes
Current receive queue size in packets: 0 (max 0)
Timer Starts Wakeups Next(msec)
Retrans 1735 0 0
SendWnd 0 0 0
TimeWait 0 0 0
AckHold 1733 1668 0
KeepAlive 0 0 0
PmtuAger 0 0 0
GiveUp 0 0 0
Throttle 0 0 0
FirstSyn 0 0 0
iss: 2670304720 snduna: 2670348690 sndnxt: 2670348690
sndmax: 2670348690 sndwnd: 32768 sndcwnd: 3720
irs: 2277543107 rcvnxt: 2277587077 rcvwnd: 32331 rcvadv: 2277619845
SRTT: 232 ms, RTTO: 300 ms, RTV: 7 ms, KRTT: 0 ms
minRTT: 0 ms, maxRTT: 248 ms
ACK hold time: 200 ms, Keepalive time: 0 sec, SYN waittime: 30 sec
Giveup time: 0 ms, Retransmission retries: 0, Retransmit forever: FALSE
Connect retries remaining: 0, connect retry interval: 0 secs
State flags: none
Feature flags: Win Scale, Nagle, IP FIB TBLID OVERRIDE
Request flags: Win Scale
Datagrams (in bytes): MSS 1240, peer MSS 1240, min MSS 1240, max MSS 1240
Window scales: rcv 0, snd 0, request rcv 0, request snd 0
Timestamp option: recent 0, recent age 0, last ACK sent 0
Sack blocks {start, end}: none
Sack holes {start, end, dups, rxmit}: none
Socket options: SO_REUSEADDR, SO_REUSEPORT, SO_NBIO
Socket states: SS_ISCONNECTED, SS_PRIV, SS_BLOCKCLOSE, SS_BLOCKSND
Socket receive buffer states: SB_DEL_WAKEUP
Socket send buffer states: SB_DEL_WAKEUP
Socket receive buffer: Low/High watermark 1/32768
Socket send buffer : Low/High watermark 2048/24576, Notify threshold 0
Socket misc info : Rcv data size (sb_cc) 0, so_qlen 0,
so_q0len 0, so_qlimit 0, so_error 0
so_auto_rearm 1
PDU information:
#PDU's in buffer: 0
FIB Lookup Cache:
Lookup table: default ipv4 unicast (Table ID: 0xe0000001)
Lookup done at Tue Dec 12 09:16:24 2023 (next lookup due on next protocol message on or after 78 sec)
Lookup result:
Matching table: default ipv4 unicast (Table ID: 0xe0000001)
Outgoing interface: Bundle-Ether1 (IFH: 0xf000024)
PD ctx: size: 0 data: {}
Num Labels: 0 Label Stack: {}
Next HopID: 0
VXLAN Encap String size: 0 data:
VXLAN Next Hop IP size: 0 IP:
Num of peers with authentication info: 0
|
|
9. |
Use the show tcp statistics pcb command to verify the number of IP-only packets per neighbor:
Example:
Router# show tcp statistics pcb 0x00007f733000d618 location 0/rP1/CPU0
Wed Mar 27 06:46:52.566 UTC
==============================================================
Statistics for PCB 0x7f1ca0008550, vrfid 0x60000000
Send: 0 bytes received from application
0 segment instructions received from partner
0 xipc pulses received from application
0 packets sent to network (v4/v6 IO)
3547 packets sent to network (NetIO)
0 packets failed getting queued to network (v4/v6 IO)
0 packets failed getting queued to network (NetIO)
3217 ip-only-preferred packets sent to network
0 write operations by application
0 times armed, 0 times unarmed, 0 times auto-armed
Last written at: Wed Mar 27 06:46:51 2024
Rcvd: 3584 packets received from network
1791 packets queued to application
1 packets failed queuing to application
0 packets dropped due to minttl check
0 send-window shrink attempts by peer ignored
0 read operations by application
0 times armed, 0 times unarmed, 0 times auto-armed
Last read at: Wed Mar 27 06:46:51 2024
|