2017-01-20 2 views
0

pourriez-vous m'aider?Connexion IPV6 à l'option TOS IPV4

donc problème est QOS sur le socket IPV6 lorsqu'il se connecter au serveur IPV4

Je ne peux pas définir les options de transport sur l'emballage

self.socket = socket(PF_INET6, SOCK_DGRAM, 0); // Create UDP Socket 
int on = 1; 

setsockopt(self.socket, SOL_SOCKET, SO_NOSIGPIPE, (void *)&on, sizeof(int)); 

int off = 0; 
     setsockopt(self.socket, IPPROTO_IPV6, IPV6_V6ONLY, (void *)(&off), sizeof(off)); // Disable IPV6 Only 

int option = 46; 
// set QOS option 
setsockopt(self.socket, IPPROTO_IP, IP_TOS, (void *)(&option),sizeof(option)); // IPV4 
setsockopt(self.socket, IPPROTO_IPV6, IPV6_TCLASS, (void *)(&option),sizeof(option)); //IPV6 

Mais quand je vois des paquets à IPV4 DSCP est 0

Client IPV4 DSCP

serveur me envoyer DSCP correcte Server IPV4 DSCP

Répondre

2

Il semble que votre noyau n'implémente pas le mappage de TCLASS IPv6 vers IPv4 DSCP.

L'option V6ONLY = 0 est principalement un hack permettant aux serveurs d'accepter les connexions IPv4 et IPv6 sur une seule socket. Je ne suis pas surpris que seul le strict minimum d'options est mis en œuvre.

Votre meilleure option est probablement de contacter les développeurs du noyau pour voir si elles veulent mettre en œuvre la cartographie ...

+0

Tnx, cette course d'application IOS plate-forme sur iPhone –

+0

Dans ce cas, le développeur du noyau est Apple, bonne chance les contacter ... :( –