Не все платформы с поддержкой IPv6 поддерживают сокеты с двумя стеками, поэтому возникает вопрос: как приложения, нуждающиеся в максимизации совместимости с IPv6, либо знают, что двойной стек поддерживается, либо связывают отдельно, когда его нет? Единственный универсальный ответ - IPV6_V6ONLY.
Приложение, игнорирующее IPV6_V6ONLY или написанное до существования стеков IP, способных работать с двумя стеками, может обнаружить отдельную привязку к V4 в среде с двумя стеками, поскольку привязка сокета двух стеков IPv6 к IPv4 предотвращает привязку сокета IPv4. Приложение также может не ожидать IPv4 поверх IPv6 из-за проблем протокола или уровня приложения или контроля доступа IP.
Эта или подобные ситуации, скорее всего, побудили MS et al к значению по умолчанию 1, хотя RFC3493 объявляет 0 по умолчанию. 1 теоретически максимизирует обратную совместимость. В частности, Windows XP / 2003 не поддерживает сокеты с двумя стеками.
Нет также недостатка в приложениях, которые, к сожалению, должны передавать информацию нижнего уровня для правильной работы, поэтому этот параметр может быть весьма полезен для планирования стратегии совместимости IPv4 / IPv6, которая наилучшим образом соответствует требованиям и существующим кодовым базам.