Project

General

Profile

Actions

Bug #6506

closed

IPv6 static routes omit interface scope of link-local gateways

Added by Daniel Hoffend almost 8 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
Normal
Category:
Routing
Target version:
Start date:
06/20/2016
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
All
Affected Architecture:

Description

When getting an address assigned from a DHCPv6 Server pfSense automatically creates a gateway to monitor using the link-local address which is fine in general. Dpinger fails to start monitoring the gateway because of the the socket issue described in #6505, but that's the the main point of this issue. The %interface section is omitted when a static route gets pushed to the system and an additional route (link-local to interface) is added. But the main problem when you've duplicate link-local addresses due to vlans:

Example:

  • Interface: vtnet0
  • Gateway (vlan 41) fe80::5054:ff:fee0:a429%vtnet0_vlan41
  • Gateway (vlan 42) fe80::5054:ff:fee0:a429%vtnet0_vlan42

Network:

              .-----------.                    .-----------.
 __  _        | pfsense   |  VLAN Trunk 41,42  |  gateway  | ---->
[__]|=| ----> |           | -----------------> |           |
/::/|_|       |           |                    |           | ---->
              '-----------'                    '-----------'

On both nodes (in my case virtual pfsense boxes to test with) both ports are a single port with vlan trunks on it. Therefore the interface has a single mac and the same link-local address is generated on different subinterfaces (aka vlan interfaces). This is totally fine if pfsense would omit the link-local-interface in the gateway ipv6 address.

Routing Table:

Internet6:
Destination                       Gateway                       Flags      Netif Expire
default                           fe80::5054:ff:fee0:a429%vtnet0_vlan41 UGS    vtnet0_v
::1                               link#5                        UH          lo0
fc00::21                          fe80::5054:ff:fee0:a429       UGHS   vtnet0_v
[...]

This route should include the %vtnet0_vlan41 interface identifier other the route will fail and you can't push it to the right uplink interface

Workaround

Disable the automatically created Gateways and manually create the gateway using the correct link-local%interface notation.

Version tested

I'm using pfsense 2.3.1_5

Actions

Also available in: Atom PDF