bail out if submodules are not initialized
crazy micro-optimization
length is never odd here

the other code is clearly also just needed for odd lengths
this is slightly faster
this is somehow measurably faster.

todo: investigate this; such an optimization should not be necessary
speed up udp pseudo header checksum calculation

vectorizing the code is not worth it due to alignment requirements
allow unknown SFP modules