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

We use cookies. Read the Privacy and Cookie Policy

Получение сообщений об изменении транспортной 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>.

Данный текст является ознакомительным фрагментом.