Routing

Expand all | Collapse all

IPv6 Link-Local Addressing

  • 1.  IPv6 Link-Local Addressing

    Posted 07-06-2018 23:32

    RFC4291 section 2.4 states FE80::/10 as Link-Local address space which would mean addresses from FE80:: through FEBF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

    But, section 2.5.6 restricts Link-Local address as FE80::/64 which would mean addresses from FE80:: through FE80::FFFF:FFFF:FFFF:FFFF

    However, Cisco IOS allows manual Link-Local address configuration from the whole address space FE80::/10

    Cisco Support Community: https://supportforums.cisco.com/…/ipv6-link-lo…/td-p/2692397

    RFC Errata: http://www.rfc-editor.org/errata_search.php…

    After reading above two threads seems like Cisco is getting Link-Local addressing wrong? How do other vendors handle Link-Local addressing? Or, is there an error in RFC?



  • 2.  RE: IPv6 Link-Local Addressing

    Posted 07-08-2018 01:33

    Hello,


    @sakar wrote:

     

    But, section 2.5.6 restricts Link-Local address as FE80::/64 which would mean addresses from FE80:: through FE80::FFFF:FFFF:FFFF:FFFF

     


    Not true. RFC 4291 section 2.5.6 only says is that the first 10 bits are FE80 and subsequent 54 bits are 0. It does not say what the mask is and You are not restricted to using /64 netmask for link local addressing.

     


    @sakar wrote:

    How do other vendors handle Link-Local addressing? 


    JUNOS also allows You to configure link local addresses with masks shorter than 64:

    ## Using /48 netmask
    [edit interfaces ge-0/0/1] regress@R1# set unit 0 family inet6 address fe80::1111:2222:3333:4444/48 [edit interfaces ge-0/0/1] regress@R1# show unit 0 { family inet { address 10.0.113.2/24; address 203.0.113.6/29; } family inet6 { address fe80::1111:2222:3333:4444/48; } } [edit interfaces ge-0/0/1] regress@R1# commit commit complete [edit interfaces ge-0/0/1] regress@R1# run show interfaces ge-0/0/1.0 Logical interface ge-0/0/1.0 (Index 347) (SNMP ifIndex 637) Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2 Input packets : 7612 Output packets: 18549 Protocol inet, MTU: 1500 Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 1, Curr new hold cnt: 0, NH drop cnt: 0 Flags: Sendbcast-pkt-to-re, Is-Primary Addresses, Flags: Is-Default Is-Preferred Is-Primary Destination: 10.0.113/24, Local: 10.0.113.2, Broadcast: 10.0.113.255 Addresses, Flags: Is-Preferred Destination: 203.0.113.0/29, Local: 203.0.113.6, Broadcast: 203.0.113.7 Protocol inet6, MTU: 1500 Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 0, Curr new hold cnt: 0, NH drop cnt: 0 Flags: Is-Primary Addresses, Flags: Is-Preferred Destination: fe80::/48, Local: fe80::1111:2222:3333:4444 INET6 Address Flags: Tentative Protocol multiservice, MTU: Unlimited
    ## Using /63 netmask
    [edit interfaces ge-0/0/1]
    regress@R1# show | compare
    [edit interfaces ge-0/0/1 unit 0 family inet6]
    + address fe80::1:2:3:4/63;
    - address fe80::1111:2222:3333:4444/48;

    [edit interfaces ge-0/0/1]
    regress@R1# commit check
    configuration check succeeds

    [edit interfaces ge-0/0/1]
    regress@R1# commit
    commit complete

    [edit interfaces ge-0/0/1]
    regress@R1# run show interfaces ge-0/0/1.0
    Logical interface ge-0/0/1.0 (Index 347) (SNMP ifIndex 637)
    Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2
    Input packets : 7612
    Output packets: 18561
    Protocol inet, MTU: 1500
    Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 1, Curr new hold cnt: 0, NH drop cnt: 0
    Flags: Sendbcast-pkt-to-re, Is-Primary
    Addresses, Flags: Is-Default Is-Preferred Is-Primary
    Destination: 10.0.113/24, Local: 10.0.113.2, Broadcast: 10.0.113.255
    Addresses, Flags: Is-Preferred
    Destination: 203.0.113.0/29, Local: 203.0.113.6, Broadcast: 203.0.113.7
    Protocol inet6, MTU: 1500
    Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 0, Curr new hold cnt: 0, NH drop cnt: 0
    Flags: Is-Primary
    Addresses, Flags: Is-Preferred
    Destination: fe80::/63, Local: fe80::1:2:3:4

     


    @sakar wrote:

    Or, is there an error in RFC?


    No.

    HTH

    Thx

    Alex



  • 3.  RE: IPv6 Link-Local Addressing

    Posted 07-08-2018 21:56

    Thank you for the reply. I was interested in the range of valid link-local addresses rather than the subnet mask. What I meant was section 2.4 makes FE8, FE9, FEA, FEB as valid starting hex for link-local addresses. But in section 2.5.6 we see the 54 bits after the first 10 bits are fixed to 0 which would mean only FE80:: is valid starting link-local address. However, Cisco IOS is allowing manual configuration starting from FE8, FE9, FEA, FEB ranges.

     

    If indeed FE8, FE9, FEA, FEB are valid starting addresses what is the point of fixing 54 bits to 0? Or, if FE8 is the only starting address then Cisco must be getting it wrong. So, wanted to know what Juniper and other vendors are doing.