Iphone tethering enable ncm by default.
I don't know if iOS should take the responsibility or usbmuxd should. For short, we need ncm in ipheth driver to connected to the network.
Taking Linux code as the reference, iPhone currently implement ncm in rx side and has no CRC implemented.
Also, iOS has fixed 16 dp items in each usb packet regardless of the usb configuration.
Tested on my iOS 18.3.2