Quick update:
Lots of work on the ethernet interface driven by finding issues as I worked more with LWIP, it now seems very robust, copes with fragmented and rapid sequential packets (it was missing some packets before.)
I have implemented an RPC system, a portmapper and most of the VXI11 interface, and it's working well. I've also implemented the raw TCP interface and the friendly command line telnet interface. lxi tools work, as do the NI tools on Windows.
Searching for LXI devices - please wait...
Broadcasting on interface lo
Broadcasting on interface ens18
Found "KEITHLEY INSTRUMENTS,MODEL DMM7510,04451981,1.7.5b" on address 10.55.0.142
Found "HEWLETT-PACKARD,34401A,0,9-5-2" on address 10.55.0.156
Found 2 devices
The DMM7510 is a real network capable device, it's useful to make sure my responses match ... the 34401A is obviously not network capable natively, so this is using the Yaugi.
From a benchmark perspective I can get about 70 requests per second (using lxi benchmark) if it actually involves going through GPIB (it does repeated *IDN? queries), however if I short circuit the GPIB to test the network code and responsiveness I get about 1500 requests per second on RAW and about 600 using VXI, this compares with 2100 and 1100 on the DMM7510 which has a gigabit rather than 100meg interface so I'm actually very pleased with these numbers, and I've tested with 100's of thousands of calls and it stays up and responsive.
Lots still to do ... I haven't implemented the VXI abort or interrupt channels yet, and I'm not sure how to test them, but I think I'll look at them next. Then I'll get onto USBTMC which actually has a lot of similar logic to VXI11 so I'm hoping all the internal interfaces will already be pretty much right, and with pigrew's tinyusb implementation already in place this should be reasonably simple.
The NI tools make use of the lxi identification XML document which needs to be served by a web server, so I need to get that done as well.
On the hardware side, I think I'm going to change to 3.3V on the PoE board to reduce power consumption mainly to reduce the transformer temperature ... it's not crazily hot, but I want to 3D print a case, so the lower temperature the better. Otherwise I think the hardware is working well ... I do have a free GPIO so I'm wondering if an LED would be useful.