fragmentación de paquetes udp para sockets sin procesar

Seguimiento de la preguntafragmentación de paquetes para enchufes sin procesar

Si tengo un socket sin procesar implementado como tal:

  if ((sip_socket = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0)
      {
    cout << "Unable to create the SIP sockets."<< sip_socket<<" \n";
    return -3;
      }

   if ( setsockopt(sip_socket, IPPROTO_IP, IP_HDRINCL, &one, sizeof(one)) == -1)
      {
   cerr << "Unable to set option to Raw Socket.\n";
   return -4;
      };  

¿Cómo puedo configurar elipHdr-> fragment_offset (16 bits, incluidos los indicadores de 3 bits) si tengo un paquete de tamaño 1756 (sin incluir el encabezado IP)?
¿Debo preparar dos paquetes, uno de tamaño 1480 y otro de tamaño 276, y luego colocar encabezados IP en ambos paquetes?

¿Alguien puede señalar un código de ejemplo para esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta