Project

General

Profile

Feature #3718

radvd - enhancement proposal: ability to advertise routes and some fixes - patches attached

Added by Marc Posch about 5 years ago. Updated almost 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
radvd
Target version:
-
Start date:
06/22/2014
Due date:
% Done:

0%

Estimated time:

Description

Hi,

I was configuring radvd on two back-to-back firewalls with an in-between subnet and I was missing the feature to be able to push static IPv6 routes for subnets behind the back firewall to the clients in this subnet - which I was doing with DHCP option 121 and 249 in the IPv4 world.
My research led me so far, that I needed to configure radvd to push out the routes to the clients, and I set out to enhance pfsense with this feature.
While patching the code, I also noted, that radvd.conf would not include any additional RA subnets and and DNS suffixes configured on the web interface, so I fixed that on the way.

My changes would introduce a new sub-section called "routes" under the section "dhcpdv6" in config.xml as shown in this example:


<dhcpdv6>
...
<wan>
<ramode>managed</ramode>
<rapriority>medium</rapriority>
<rainterface>wan_vip31</rainterface>
<radomainsearchlist/>
<subnets>
<item>fdfd:3f23:25b0:128::/64</item>
</subnets>
<routes>
<item>
<destination>fdfd:3f23:25b0:101::/64</destination>
<priority>high</priority>
</item>
<item>
<destination>2001:xxxx:xxxx:101::/64</destination>
<priority>high</priority>
</item>
<item>
<destination>::/0</destination>
<priority>low</priority>
</item>
</routes>
</wan>
...

I would be very happy if my enhancement and fix proposals would be help-/useful and if they would make their way in some form into a future release. Please do not hesitate to ask me if there are open questions.

My version is 2.1.3-RELEASE (i386).

Regards,
Marc

services_router_advertisements.png (56.8 KB) services_router_advertisements.png Screenshot showing the added ability to define routes and priority Marc Posch, 06/22/2014 05:23 PM
services_router_advertisements.php.patch (9.73 KB) services_router_advertisements.php.patch Marc Posch, 06/22/2014 05:23 PM
services.inc.patch (5.25 KB) services.inc.patch Marc Posch, 06/22/2014 05:23 PM
radvd-routes-enhancment.patch (17.1 KB) radvd-routes-enhancment.patch Marc Posch, 07/23/2016 09:23 AM
radvd-routes-enhancment-2.3.2.patch (17.6 KB) radvd-routes-enhancment-2.3.2.patch Marc Posch, 07/27/2016 04:16 PM
radvd-routes-enhancment-2.3.4.patch (18 KB) radvd-routes-enhancment-2.3.4.patch Marc Posch, 08/11/2017 04:00 PM

History

#1 Updated by Chris Buechler over 3 years ago

  • Category set to radvd

#2 Updated by Marc Posch almost 3 years ago

Hi,

I have upgraded my pfsense box to 2.3.1 finally, since I have seen that there were major changes in the web interface, which would need a major rework of the patch.

Finally I have updated my enhancement patch to the current 2.3.1 version, I plan to update this ticket every time with a new patch version if the new pfsense version needs an updated patch. I will look into Github and how to officially submit it to the pfsense project in near future, as some have suggested this in the other tickets I had before.

Some words about the changes/additional features in pfsense-helpers.js:
- I needed a second repeatable groups on services_router_advertisements.php. So this patch adds the support for multiple repeatable row groups.
If one needs to create a second repeatable group on a page, he will just need to add a suffix to the control's id/name.
In this example the 'addrow' becomes 'addrow_routes', the 'deleterow' becomes 'deleterow_routes' and the 'repeatable' class becomes 'repeatable_routes'. You can use any name, just be sure it is suffixed with an underscore. The getRowGroupName contains a regex which will look for the underscore.
- I had to replace 'event.target.id' with 'this.id' in some places of the helper script. The reason is, that I noticed an inconsistency when using Chrome or Chromium: the browser would add a row to the first row group, even though the correct addrow button of the second row group was clicked. This happened in these browsers only, Firefox did not expose such behavior. I am no javascript or dom expert, but 'this.id' fixed this glitch, I hope it will not have side effects on other places.
- I know I should file a separate bug report about this, but this happens only if using more than one repeatable group - so it only fits here.

If someone else comes across this feature request and wants to try it out:

If you have the "System Patches" package installed you can cleanly apply and remove this patch with version 2.3.1 - provided you don't have other patches installed, which modifies one of the following files: services.inc, services_router_advertisements.php, or pfsense-helpers.js.

Regards,
Marc

#3 Updated by Marc Posch almost 3 years ago

Updated the patch for version 2.3.2.

#4 Updated by Marc Posch almost 2 years ago

Updated the patch for version 2.3.4.

Also available in: Atom PDF