Ease more work concerning active list, e.g. hash table etc.
The tcp_lro_entry_get() abstraction adds an extra compare to the critical path (the compare against NULL in the function itself, in addition to the same compare in the main routine). At least it does at the C level. Have you verified that the compiler is smart enough to continue to use a single compare?
If this adds an extra compare to the actual executed code, then I object.