2010-07-08 29 views
9

Tôi đang chỉ định địa chỉ ipv6 bằng cách sử dụng gọi hệ thống ioctl() theo sơ đồ. Tôi muốn biết nếu có cách nào, tôi có thể tìm thấy ip được chỉ định là dự kiến ​​/ trùng lặp?Cách đọc cờ TENTATIVE của Địa chỉ IPv6?

Cảm ơn.

+0

Trên máy chủ hoặc mạng? –

Trả lời

1

Máy chủ: Liệt kê các giao diện với getifaddrs().

(chỉnh sửa) Có vẻ như bạn cần gọi sysctl(NET_IPV6_OPT_DAD_ENABLE) trước getifaddrs()?

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

Mạng: Gửi ping ICMP là điển hình nhưng không đánh lừa phương pháp chứng minh rằng các máy chủ DHCP sử dụng.

Giả sử nếu bạn đang thiết lập IP thì bạn đang thực hiện một hình thức DHCP và bạn kiểm soát tất cả các địa chỉ cho phân đoạn đó. Nếu không, chỉ cần sử dụng phạm vi liên kết cục bộ đã là địa chỉ duy nhất.

+0

Cảm ơn bạn đã trả lời. Tôi đang kiểm tra trên máy chủ. Tôi chỉ định địa chỉ IPv6 và sau đó tôi muốn biết nếu nó không phải là dự kiến ​​/ trùng lặp. Hàm getifaddrs() chỉ cung cấp SIOCGIFFLAGS trong đó IFA_F_TENTATIVE không tồn tại. Lệnh "ip" cho tôi biết nếu IP là dự kiến ​​bằng cách sử dụng lệnh "ip addr show Krishna

+0

Tôi đang đi qua các nguồn iproute gói cấu thành" ip ".Không có bất kỳ may mắn mặc dù ...: - ( – Krishna

1

Bạn có thể đọc cờ TENTATIVE của Địa chỉ IPv6 như sau:

Cho biết cờ được đặt trên địa chỉ phát đa hướng. Kể từ RFC 2373, cờ duy nhất được xác định là cờ Tạm thời (T). Cờ T sử dụng bit thứ tự thấp của trường Cờ.

* 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

Xin chào, Cảm ơn phản hồi của bạn Tôi nghĩ rằng, nó chỉ hoạt động đối với địa chỉ IPv6 đa địa chỉ. Nó không dành cho địa chỉ Link-local, site-local và global i guess. Nhưng, tôi có thể sử dụng netlink các ổ cắm để lấy cờ mặc dù Trân trọng, -Krishna – Krishna

Các vấn đề liên quan