> get interface fp-ethX ...Interface: fp-ethX...RX misses: 123456/var/log/syslog, the following log messages are observed at time of node startup:systemd 1 - - Started Edge NSD.NSX 6619 - [nsx@6876 comp="nsx-edge" subcomp="nsd" tid="6619" level="INFO"] Set interface kni-lrport-0 state Upip.py, which will configure the CPU affinity for the KNI thread. ip.py is not run./var/log/syslog:### process NSD is started. NSD polls for any interface changes in every 500ms.systemd 1 - - Started Edge NSD.### process datapathd is started. datapathd creates interface kni-lrport-0, which is detected by NSDNSX 8298 - [nsx@6876 comp="nsx-edge" subcomp="nsd" tid="8298" level="INFO"] Set interface kni-lrport-0 MAC 02:50:56:xx:xx:xx### The message below is the most important message. The following message triggers a script called ip.py.NSX 8298 - [nsx@6876 comp="nsx-edge" subcomp="nsd" tid="8298" level="INFO"] Detected parent kni interface kni-lrport-0 creation state up, ifindex 11### script ip.py is called. The script configures KNI thread coresNSX 10730 - [nsx@6876 comp="nsx-edge" subcomp="nsd" tid="10730" level="INFO"] ExecuteCmd (Child): Running: ' /usr/bin/sudo /opt/vmware/nsx-edge/bin/ip.py configure-cpu --kni kni-lrport-0', env: ''systemd 1 - - Started Edge NSD.NSX 6619 - [nsx@6876 comp="nsx-edge" subcomp="nsd" tid="6619" level="INFO"] Set interface kni-lrport-0 state UpDetected parent kni interface kni-lrport-0 creation state up' is not logged, as in the working log messages above. As a result, the ip.py script is not run, which leads to the KNI thread CPU affinity not being configured.> get dataplane | find CorelistCorelist : 0,4,8,12,10,6,2,16,20,24,22,18,14,28,32,36,38,34,30,26,40,44,48,50,46,42ps aux | grep kni' to get the process ID (PID) for KNI thread:ps aux | grep kniroot 17901 97.8 0.0 0 0 ? R MonDD 12648:14 [kni_single]# taskset -apc 17901pid 17901's current affinity list: 0-51taskset -pc $(pidof kni_single)As a workaround, either of the below 2 methods can be implemented
WorkAround:-2
get dataplane | find Corelist" to discover all datapath cores.> get dataplane | find CorelistCorelist : 0,4,8,12,10,6,2,16,20,24,22,18,14,28,32,36,38,34,30,26,40,44,48,50,46,42/var/run/vmware/edge/cpu_usage.json, go to the very bottom of the file and view the usage of non-DPDK cores, like below:"non_dpdk_cpu_per_core": { "1": 100.0, "3": 9.01, "5": 5.88, "7": 1.19, "9": 0.97, "11": 0.98, "13": 0.91, "15": 1.09, "17": 1.26, "19": 0.9, "21": 0.95, "23": 0.89, "25": 1.02, "27": 0.79, "29": 0.75, "31": 0.8, "33": 0.93, "35": 0.91, "37": 0.9, "39": 0.73, "41": 0.87, "43": 0.7, "45": 0.81, "47": 0.63, "49": 0.88, "51": 0.88"3": 9.01.The non-DPDK core selected, should also NOT show up in the output from step 2.(a) above.ps aux | grep kni" to find the PID for KNI thread:ps aux | grep kniroot 17901 97.8 0.0 0 0 ? R Aug10 12648:14 [kni_single]taskset -apc <non-DPDK core found in 2.(b)> <PID found in 2.(c)>'# taskset -apc 3 17901pid 17901's current affinity list: 0-51pid 17901's new affinity list: 3