I wrote pmtud.sh this weekend to get the MTU of a link (or tunnel) quickly, reliably, and without sending a ton of pings. It can do so in about 11 pings per target.

I had fun writing the entire thing in sh, tried making it “POSIX-compliant,” but probably failed somewhere since POSIX isn’t worded well. The script only needs dig and ping and uses shell built-ins for everything else. It performs a recursive binary search on the MTU search domain and asynchronously queues pings for later.

  • mastertraitorOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    Saved my bacon with this comment. Fixed a ton of (seemingly) innocuous errors.