{
  "id": "networking/ipv6-ndp-dad-failed",
  "signature": "IPv6: Duplicate Address Detection (DAD) failed for fe80::1/64 on eth0, address in use by 00:1a:2b:3c:4d:5e",
  "signature_zh": "IPv6: fe80::1/64在eth0上的重复地址检测（DAD）失败，地址已被00:1a:2b:3c:4d:5e使用",
  "regex": "IPv6: Duplicate Address Detection \\(DAD\\) failed for [\\w:]+/\\d+ on \\w+, address in use by [\\da-f]{2}(:[\\da-f]{2}){5}",
  "domain": "networking",
  "category": "layer2",
  "subcategory": null,
  "root_cause": "Another host on the same link-local network segment is already using the IPv6 address fe80::1, causing the Duplicate Address Detection (DAD) mechanism (RFC 4862) to reject the address assignment and leave the interface in a tentative state.",
  "root_cause_type": "generic",
  "root_cause_zh": "同一链路本地网段上的另一主机已在使用IPv6地址fe80::1，导致重复地址检测（DAD）机制（RFC 4862）拒绝地址分配，使接口处于暂定状态。",
  "versions": [
    {
      "version": "Linux kernel 6.1.0-17-amd64",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Windows Server 2022",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Cisco IOS XE 17.9.1",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "",
      "why_fails": "The kernel will still perform DAD and reject the assignment if the address is already in use, even with manual configuration.",
      "fail_rate": 0.9,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "This breaks all IPv6 connectivity and is an overreaction if only one address is duplicated.",
      "fail_rate": 0.75,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "The link-local address is derived from the MAC address by default, but the conflict is with a specific address, not the MAC; changing MAC may not resolve the duplication if the address is manually configured on the other host.",
      "fail_rate": 0.6,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Identify and reconfigure the conflicting host by checking the neighbor cache: ip -6 neigh show; then change the duplicate address on one host to a unique link-local address (e.g., fe80::2/64).",
      "success_rate": 0.9,
      "how": "Identify and reconfigure the conflicting host by checking the neighbor cache: ip -6 neigh show; then change the duplicate address on one host to a unique link-local address (e.g., fe80::2/64).",
      "condition": "",
      "sources": []
    },
    {
      "action": "Temporarily disable DAD on the interface to force address assignment: sysctl -w net.ipv6.conf.eth0.accept_dad=0; then manually add the address with ip addr add fe80::1/64 dev eth0. Re-enable DAD after resolving the conflict.",
      "success_rate": 0.8,
      "how": "Temporarily disable DAD on the interface to force address assignment: sysctl -w net.ipv6.conf.eth0.accept_dad=0; then manually add the address with ip addr add fe80::1/64 dev eth0. Re-enable DAD after resolving the conflict.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Use a privacy extension address (RFC 4941) for the interface to avoid link-local conflicts: sysctl -w net.ipv6.conf.eth0.use_tempaddr=2",
      "success_rate": 0.7,
      "how": "Use a privacy extension address (RFC 4941) for the interface to avoid link-local conflicts: sysctl -w net.ipv6.conf.eth0.use_tempaddr=2",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "Identify and reconfigure the conflicting host by checking the neighbor cache: ip -6 neigh show; then change the duplicate address on one host to a unique link-local address (e.g., fe80::2/64).",
    "Temporarily disable DAD on the interface to force address assignment: sysctl -w net.ipv6.conf.eth0.accept_dad=0; then manually add the address with ip addr add fe80::1/64 dev eth0. Re-enable DAD after resolving the conflict.",
    "Use a privacy extension address (RFC 4941) for the interface to avoid link-local conflicts: sysctl -w net.ipv6.conf.eth0.use_tempaddr=2"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://www.rfc-editor.org/rfc/rfc4862#section-5.4",
  "official_doc_section": null,
  "error_code": null,
  "verification_tier": "ai_generated",
  "confidence": 0.87,
  "fix_success_rate": 0.85,
  "resolvable": "true",
  "first_seen": "2023-09-05",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}