Skip to content

[7.1] ISIS IPv6 fails RFC 1195 s4.2 p31 / RFC 5308 s3 p3 (ANVL ISISV6-1.24)  #4464

Closed
@mwinter-osr

Description

Report here based on dev/7.1 at git sha 1377170

Reference: (Negative tests)

  • RFC 1195 s4.2 p31 Multiple IP Addresses per Interface
  • RFC 5308 s3 p3 IPv6 Interface Address TLV

RFC Summary:

Level 1 LAN IS to IS Hello PDU

Each Interface corresponding to the SNPA over which a L1 LAN IIH
PDU is transmitted can have a maximum of 15 IPv6 Addresses
We necessarily modify the contents to be 0-15 16 octet IPv6 interface
addresses instead of 0-63 4 octet IPv4 interface address.

Failure:

ISIS code sends more then 15 IPv6 addresses (multiple tupples)
FRR is configured with > 16 addresses on a single interface:

comp15-dut(config)# interface  eth2
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:0/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:1/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:2/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:3/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:4/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:5/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:6/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:7/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:8/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:9/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:10/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:11/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:12/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:13/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:14/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:15/64
comp15-dut(config-if)# ipv6 address fe80::2a0:95ff:fee0:16/64

which results in a ISIS Hello message with multiple tuples of IPv6 addresses:

Frame 1: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits)
IEEE 802.3 Ethernet 
Logical-Link Control
ISO 10589 ISIS InTRA Domain Routeing Information Exchange Protocol
ISIS HELLO
    .... ..10 = Circuit type: Level 2 only (0x2)
    0000 00.. = Reserved: 0x00
    SystemID {Sender of PDU}: 00b0.64bc.43a0
    Holding timer: 30
    PDU length: 1497
    .100 0000 = Priority: 64
    0... .... = Reserved: 0
    SystemID {Designated IS}: 0000.0000.0000.00
    Protocols Supported (t=129, l=2)
        Type: 129
        Length: 2
        NLPID(s): IP (0xcc), IPv6 (0x8e)
    Area address(es) (t=1, l=4)
        Type: 1
        Length: 4
        Area address (3): 00.0001
    IPv6 Interface address(es) (t=232, l=240)
        Type: 232
        Length: 240
        IPv6 interface address: fe80::300:ff:fe10:1
        IPv6 interface address: fe80::2a0:95ff:fee0:5
        IPv6 interface address: fe80::2a0:95ff:fee0:4
        IPv6 interface address: fe80::2a0:95ff:fee0:7
        IPv6 interface address: fe80::2a0:95ff:fee0:16
        IPv6 interface address: fe80::2a0:95ff:fee0:11
        IPv6 interface address: fe80::2a0:95ff:fee0:12
        IPv6 interface address: fe80::2a0:95ff:fee0:3
        IPv6 interface address: fe80::2a0:95ff:fee0:0
        IPv6 interface address: fe80::2a0:95ff:fee0:6
        IPv6 interface address: fe80::2a0:95ff:fee0:13
        IPv6 interface address: fe80::2a0:95ff:fee0:9
        IPv6 interface address: fe80::2a0:95ff:fee0:2
        IPv6 interface address: fe80::2a0:95ff:fee0:10
        IPv6 interface address: fe80::2a0:95ff:fee0:8
    IPv6 Interface address(es) (t=232, l=48)
        Type: 232
        Length: 48
        IPv6 interface address: fe80::2a0:95ff:fee0:1
        IPv6 interface address: fe80::2a0:95ff:fee0:15
        IPv6 interface address: fe80::2a0:95ff:fee0:14
    Padding (t=8, l=255)
    Padding (t=8, l=255)
    Padding (t=8, l=255)
    Padding (t=8, l=255)
    Padding (t=8, l=138)

(packet as pcap attached)
isis_fail.zip

Metadata

Assignees

Labels

triageNeeds further investigation

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions