TSO is not feasible if there are ip options present. Which is okay but ip header
flags like DSCP/ECN should be allowed. TSO works fine in v4 case as ip options
and ip header fields are handled separately. In v6 case, we've munged them into
one in6p_outputopts. But we are incorrectly checking for inp6_options
(which is totally unused) to see if ip options are present.
We need to check in6p_outputopts instead of inp6_options. But because
in6p_outputopts combines both ip options and ip header fields, we need to rely
on ip6_optlen() which correctly reports ip options length to decide if ip
options are present and whether we can do TSO or not.