[Differential] D19422: if_vxlan(4) Allow set MTU more than 1500 bytes.

jhb (John Baldwin) phabric-noreply at FreeBSD.org
Fri Jul 12 17:33:29 UTC 2019


jhb added a comment.


  I agree that we can't handle this in ether_ioctl as it varies too much by real hardware.

INLINE COMMENTS

> if_vxlan.c:90
> + */
> +#define VXLAN_MAX_MTU	65435
> +

If it was possible to make this derived from other constants that would be ideal.  <net/ethernet.h> has ETHER_MAX_LEN_JUMBO of only 9018, but it seems some other drivers have higher maximums (9600 for cxgbe and 9728 for ixl(4)).  So sadly there is no good constant for the 64k max.   Is there an expression that would give you the max overhead?  If so you could use something like:

  '(65535 - sizeof(struct vxlan_header) - ETHER_HDR_LEN - ETHER_CRC_LEN - ETHER_VLAN_VCAP_LEN)

if_ixl.c has something like that for setting the MTU.  What I don't know is what the possible encapsulation overhead is for this interface.

CHANGES SINCE LAST ACTION
  https://reviews.freebsd.org/D19422/new/

REVISION DETAIL
  https://reviews.freebsd.org/D19422

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: aleksandr.fedorov_itglobal.com, bryanv, hrs, #network, rgrimes, krion, jhb
Cc: evgueni.gavrilov_itglobal.com, olevole_olevole.ru, ae, freebsd-net-list, krzysztof.galazka_intel.com


More information about the freebsd-net mailing list