Class MTU

java.lang.Object
net.i2p.router.transport.udp.MTU

public class MTU extends Object
Get the MTU for the network interface of an address. Not available until Java 6 / Android API 9. Public only for command line test. Not for external use, not a public API.
Since:
0.9.2. public since 0.9.27
  • Method Details

    • getMTU

      public static int getMTU(InetAddress ia, boolean isSSU2)
      The MTU for the socket interface, if available. Not available for Java 5. Note that we don't return the value for the default interface if we can't find the address. Finding the default interface is hard, altough we could perhaps just look for the first non-loopback address. But the MTU of the default route probably isn't relevant. For SSU2 MTU, values lower than PeerState2.MIN_MTU may be returned, so the caller can determine if SSU2 should be supported.
      Parameters:
      ia - null ok
      isSSU2 - if true, calculate SSU2 MTU
      Returns:
      0 if Java 5, or if not bound to an address; limited to range MIN_MTU to LARGE_MTU for SSU 1.
    • rectify

      public static int rectify(boolean isIPv6, int mtu)
      Returns:
      min of PeerState.MIN_MTU, max of PeerState.LARGE_MTU, rectified so rv % 16 == 12 (IPv4) or rv % 16 == 0 (IPv6)
    • main

      public static void main(String[] args)