The following log messages are seen on EVO platforms running 22.2R2 and above:
User@RouterA> show log messages.9.gz | match jtd_ioctl kernel: [jtd_ioctl:1194] Unable to find jtd flow for TCP ioctl SIOCUTCPSESS: local: X.X.X.200:0 remote: X.X.X.202:179 vrf 0 kernel: [jtd_ioctl:1194] Unable to find jtd flow for TCP ioctl SIOCUTCPSESS: local: X.X.X.200:0 remote: X.X.X.202:179 vrf 0 kernel: [jtd_ioctl:1194] Unable to find jtd flow for TCP ioctl SIOCUTCPSESS: local: X.X.X.200:0 remote: X.X.X.202:179 vrf 0 kernel: [jtd_ioctl:1194] Unable to find jtd flow for TCP ioctl SIOCUTCPSESS: local: xxxx:xxxx:xxx:ffff:ffff:ffff:ffff:10:0 remote: xxxx:xxxx:xxx:ffff:ffff:ffff:ffff:2:179 vrf 0
These are seen from the JTD tool which was introduced from Junos release 22.2R2 on EVO platforms.
The JTD module is a kernel loadable model in EVO system to handle the hostbound traffic. It works like a bridge between PFEs and Linux kernel to “translate” the packets between various applications (native Linux kernel) and FPC (TTP encapsulated packets).Starting from EVO release 22.2, the JTD statistics counter logging will be migrated to the Linux tracepoint handling.The following logs are seen in "show log messages"
kernel: [jtd_ioctl:1194] Unable to find jtd flow for TCP ioctl SIOCUTCPSESS: local: kernel: [jtd_ioctl:1194] Unable to find jtd flow for TCP ioctl SIOCUTCPSESS: local:
Use the following command to check the logs:
User@RouterA# run show system jtd-sessions JTD sessions: IPv4: Main hash --------------- Proto Local Remote PFE VRF TTP Len MTU Flags tcp4 172.17.63.200:179 172.17.63.202:62325 128.0.0.1 0 44 1500 2 TTP header: Type: 2 Priority: 0 Proto: 0 IFL index: 1018 Length: 155 Hint: 0x40008001 NH index: 1003 ----- tcp4 172.17.63.200:44462 172.17.63.204:179 128.0.0.1 0 28 1500 2 TTP header: Type: 4 Priority: 0 Proto: 2 IFL index: 1028 Length: 68 Hint: 0x40008000 NH index: 1000 ----- --- IPv6: Main hash --------------- Proto Local Remote PFE VRF TTP Len MTU Flags tcp6 fd00:acde:370:ffff:ffff:ffff:ffff:10:49626 fd00:acde:370:ffff:ffff:ffff:ffff:1:179 128.0.0.1 0 44 1500 4 TTP header: Type: 2 Priority: 0 Proto: 0 IFL index: 1018 Length: 122 Hint: 0x40008001 NH index: 11000 ----- tcp6 fd00:acde:370:ffff:ffff:ffff:ffff:10:49600 fd00:acde:370:ffff:ffff:ffff:ffff:1:179 128.0.0.1 0 44 1500 20 TTP header: Type: 2 Priority: 0 Proto: 0 IFL index: 1018 Length: 114 Hint: 0x40008001 NH index: 11000 -----
This is a transient corner case which will be noticed while updating the TCP session (nsagnetd/SI is “updating”), entry is not found under jtd-sessions and error is printed.
To reproduce the issue, consider two directly connected routers where one router is running EVO release 22.2R2 and above, which will be our DUT or interested device, then take the following steps:
Initial State BGP sessions are down on both sides:
X.X.X.X 1200 0 0 0 29 1d 20:36:50 Connect X.X.X.X 1200 0 0 0 0 2d 20:36:54 Connect X.X.X.X 1200 0 0 0 23 1d 20:36:52 Active fd00:acde:370:ffff:ffff:ffff:ffff:1 1200 0 0 0 22 1d 20:36:52 Active fd00:acde:370:ffff:ffff:ffff:ffff:2 1200 0 0 0 0 2d 20:48:18 Active fd00:acde:370:ffff:ffff:ffff:ffff:3 1200 0 0 0 23 1d 20:36:52 Active
Bring up a few of the BGP sessions:
X.X.X.202 1200 8 9 0 29 6 Establ inet.0: 0/0/0/0 inet.2: 0/0/0/0 bgp.l3vpn.0: 0/0/0/0 bgp.l3vpn-inet6.0: 0/0/0/0 bgp.l2vpn.0: 0/0/0/0 bgp.evpn.0: 0/0/0/0 X.X.X.X 1200 0 0 0 0 2d 20:39:14 Connect X.X.X.204 1200 4 4 0 23 32 Establ inet.0: 0/0/0/0
Bring down the BGP session from Peer end router. At the same time, try changing the loopback interface from lo0.10 to lo0.1000 on local router.
User@RouterA> show log messages.9.gz | match jtd_ioctl kernel: [jtd_ioctl:1194] Unable to find jtd flow for TCP ioctl SIOCUTCPSESS: local: X.X.X.200:0 remote: 172.17.63.202:179 vrf 0 kernel: [jtd_ioctl:1194] Unable to find jtd flow for TCP ioctl SIOCUTCPSESS: local: X.X.X.200:0 remote: 172.17.63.202:179 vrf 0
This corner case is specific to a connect() operation. For an established session, SI will have learned the kernel-assigned local port and would not experience this result. If the BGP sessions were established, the logs can be considered as noise related to a transient condition
2023-09-12: Initial Publication
TECH SR - 2023-0623-719116