Книга: UNIX: разработка сетевых приложений

Получение сообщений об изменении транспортной MTU

Получение сообщений об изменении транспортной MTU

Для получения уведомлений об изменении транспортной MTU приложение может включить параметр сокета IPV6_RECVPATHMTU. Этот флаг разрешает доставку транспортной MTU во вспомогательных данных каждый раз, когда эта величина меняется. Функция recvmsg в этом случае возвратит дейтаграмму нулевой длины, но со вспомогательными данными, в которых будет помещена транспортная MTU. Элемент cmsg_level структуры cmsghdr будет иметь значение IPPROTO_IPV6, элемент cmsg_type будет IPV6_PATHMTU, а первый байт данных будет первым байтом структуры iр6_mtuinfo. Эта структура содержит адрес узла, для которого изменилась транспортная MTU, и новое значение этой величины в байтах.

struct ip6_mtuinfo {
 struct sockaddr_in6 ip6m_addr; /* адрес узла */
 uint32_t            ip6m_mtu;  /* транспортная MTU
                                   в порядке байтов узла */
};

Эта структура определяется включением заголовочного файла <netinet/in.h>.

Оглавление книги


Генерация: 1.192. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз