The article explains what does decapsulation kernel table ID unknown and when do we notice this message.
user@router> show evpn ip-prefix-database l3-context TEST309
L3 context: TEST309
IPv4->EVPN Exported Prefixes
Prefix EVPN route status
172.16.0.4/31 Created
IPv6->EVPN Exported Prefixes
fd00:abcd:1234::4/127 Created
EVPN->IPv4 Imported Prefixes
Prefix Etag
192.168.0.2/32 0
Route distinguisher VNI/Label Router MAC Nexthop/Overlay GW/ESI Route-Status Reject-Reason
x.x.x.x:14 abcxyz 00:00:00:00:00:00 y.y.y.y Rejected decapsulation kernel table ID unknown <<<<<<<<<<<<<<
decapsulation kernel table ID unknown will be reported in the command show evpn ip-prefix database l3-context command
The message indicates that the kernel table ID couldn't be found. The reason being it might be stuck in KRT table.
Please run show krt queue command and verify if there are any stuck entries.
If there are stuck entries, please verify the table where it corresponds.
From the KRT queue we can see the following stuck output
Routing table add queue: 2 queued
ADD table index 9, gf 1 (16031) <<<< please refer the Index, which is 9 , which is with the kernel-id -1 from the show krt table
error 'File exists'
kqp '0x5630fe669180'
ADD table index 10, gf 1 (16013)
kqp '0x5630fe669600'
On further looking at show krt table, the following can be noticed.
TEST309.inet.0 : GF: 1 krt-index: 7 ID: 0 kernel-id: 53 <<<<<<< Existing RI
TEST309.inet.0 : GF: 1 krt-index: 10 ID: 0 kernel-id: -1 <<<<<<< RI after RD has been modified on the fly, failed to configure properly
The most probable root cause is on the fly modification of Route Distinguisher for the existing routing-instance.
Its not recommended to modify the RD in the routing-instance on the fly, rather its recommended to modify the RD in the following sequence.