> On 11/2/2020 1:18 PM, Andrew Rybchenko wrote: > > On 11/2/20 11:52 AM, SteveX Yang wrote: > >> Annouce to replace 'RTE_ETHER_MAX_LEN' with 'RTE_ETHER_MTU' as type > >> condition of jumbo frame. Involved scopes: > >> - rte_ethdev; > >> - app, e.g.: test-pmd, test-eventdev; > >> - examples, e.g.: ipsec-secgw, l3fwd, vhost; > >> - net PMDs which support VLAN tag(s) within overhead, e.g.: i40e, ixgbe; > >> > >> Signed-off-by: SteveX Yang <stevex.y...@intel.com> > >> --- > >> doc/guides/rel_notes/deprecation.rst | 12 ++++++++++++ > >> 1 file changed, 12 insertions(+) > >> > >> diff --git a/doc/guides/rel_notes/deprecation.rst > >> b/doc/guides/rel_notes/deprecation.rst > >> index 2e082499b..fae139f01 100644 > >> --- a/doc/guides/rel_notes/deprecation.rst > >> +++ b/doc/guides/rel_notes/deprecation.rst > >> @@ -138,6 +138,18 @@ Deprecation Notices > >> will be limited to maximum 256 queues. > >> Also compile time flag ``RTE_ETHDEV_QUEUE_STAT_CNTRS`` will be removed. > >> +* ethdev: Offload flag ``DEV_RX_OFFLOAD_JUMBO_FRAME`` will be set > >> according to > >> + ``RTE_ETHER_MTU`` in next release. Currently, the jumbo frame uses the > >> + ``RTE_ETHER_MAX_LEN`` as boundary condition. When the MTU (1500) set, > >> the > >> + frame type of rx packet will be different if used different overhead, > >> it will > >> + cause the consistency issue. Hence, using fixed value ``RTE_ETHER_MTU`` > >> can > >> + avoid this issue. > >> + Following scopes will be changed: > >> + - ``rte_ethdev`` > >> + - ``app``, e.g.: ``test-pmd``, ``test-eventdev``; > >> + - ``examples``, e.g.: ``ipsec-secgw``, ``l3fwd``, ``vhost``; > >> + - net PMDs which support VLAN tag(s) within overhead, e.g.: ``i40e``; > >> + > >> * cryptodev: support for using IV with all sizes is added, J0 still can > >> be used but only when IV length in following structs > >> ``rte_crypto_auth_xform``, > >> ``rte_crypto_aead_xform`` is set to zero. When IV length is greater or > >> equal > >> > > > > If so, what's the point to have the offload? May be just deprecate and > > later remove it? > >
Same thought actually, can we remove DEV_RX_OFFLOAD_JUMBO_FRAME flag completely? PMD can decide based on provided MTU size does segmentation, etc. is needed. > > Above just changes the condition of what is called jumbo frame, nothing more. > > ethdev assumes max frame size (without jumbo frame support) can be > 'RTE_ETHER_MAX_LEN' (1518) > > But a PMD can support double VLAN, and it can have RTE_ETHER_MAX_LEN + 8 bytes > frame size and still may not support jumbo frame. > > In that case ethdev overwrites the frame size as RTE_ETHER_MAX_LEN, and this > will reduce the supported MTU to 1492 (instead of expected 1500). > Above deprecation notice is to fix this.