2010-07-08 15 views

risposta

1

Host: Enumerazione delle interfacce con getifaddrs().

(modifica) Sembra che è necessario chiamare sysctl(NET_IPV6_OPT_DAD_ENABLE) prima getifaddrs()?

http://lwn.net/Articles/218597/

rete: Invia un ping ICMP è il tipico, ma non ingannare metodo di prova che utilizzano server DHCP.

Si presume che se si sta impostando l'IP, si sta implementando una forma di DHCP e si controllano tutti gli indirizzi per quel segmento. Altrimenti usa semplicemente gli indirizzi già univoci del link-local scope.

+0

Grazie per la risposta. Sto controllando l'host. Assegno l'indirizzo IPv6 e poi voglio sapere se non è un tentativo/duplicato. La funzione getifaddrs() fornisce solo SIOCGIFFLAGS in cui IFA_F_TENTATIVE non esiste. Il comando "ip" mi dice se l'IP è provvisorio usando il comando "ip addr show Krishna

+0

Sto passando attraverso i sorgenti del pacchetto iproute che costituisce" ip ". Non ho avuto fortuna se ...: - ( – Krishna

1

Si può leggere la bandiera sperimentale di Indirizzo IPv6, come di seguito:

Indica le bandiere che sono impostati sull'indirizzo multicast. A partire da RFC 2373, l'unica bandiera definita è il flag Transient (T). La bandiera T usa il bit di basso ordine del campo Flags.

* If 0, the multicast address is a permanently assigned, well-known multicast address allocated by the Internet Assigned Numbers Authority (IANA). 
* If 1, the multicast address is a not permanently assigned, or transient. 
+0

Ciao, Grazie per la risposta .Penso che funzioni solo per indirizzi IPv6 multi-cast. Non è per indirizzi locali, locali e globali di Link, ma sono in grado di usare netlink socket per recuperare le bandiere però. Cordiali saluti, -Krishna – Krishna