Project

General

Profile

Feature #10909

#define MAXVIFS 32 to 64

Added by xavier Lemaire 7 months ago. Updated 5 months ago.

Status:
New
Priority:
Normal
Category:
PIMD
Target version:
-
Start date:
09/17/2020
Due date:
% Done:

0%

Estimated time:

Description

as discussed in this thread https://forum.netgate.com/topic/156398/deploy-disk-images-with-inter-vlans-mulicast/7
Is it possible to pass MAXVIFS from 32 to 64 in the kernel and in pimd ?

History

#1 Updated by Jim Pingle 7 months ago

  • Project changed from pfSense Packages to pfSense
  • Category set to Operating System

Moving the feature request since it's requesting a change to the kernel.

#3 Updated by Jim Pingle 7 months ago

  • Status changed from New to Pull Request Review

#4 Updated by xavier Lemaire 7 months ago

do i need to open another request for the pimd part?

#5 Updated by Renato Botelho 6 months ago

xavier Lemaire wrote:

do i need to open another request for the pimd part?

Please do it

#6 Updated by Renato Botelho 6 months ago

  • Project changed from pfSense to pfSense Packages
  • Category changed from Operating System to PIMD
  • Status changed from Pull Request Review to Needs Patch
  • Assignee set to Renato Botelho

FreeBSD changes are merged. Waiting for pimd patch

#7 Updated by Louis van Breda 6 months ago

Renato, I am running an early pimdv3 here. Not for release yet, however working properly .... (maintainer is working on the code , I am doing some testing). However after updating from 13/10 snapshot to todays snapshot, it is not working any more. Not sure what causes that, can be the multicast of some unicast related changes. Do not know. Something has changes in past few days code. I will inform the maintainer about the change in no of vifs and ask his opinion.

#8 Updated by Renato Botelho 6 months ago

Louis van Breda wrote:

Renato, I am running an early pimdv3 here. Not for release yet, however working properly .... (maintainer is working on the code , I am doing some testing). However after updating from 13/10 snapshot to todays snapshot, it is not working any more. Not sure what causes that, can be the multicast of some unicast related changes. Do not know. Something has changes in past few days code. I will inform the maintainer about the change in no of vifs and ask his opinion.

Hi Louis,

We applied the change on FreeBSD-src repository changing #define MAXVIFS 32 to 64. Did it break pimd? Xavier mentioned a new PR would be submitted for pimd part

#9 Updated by Renato Botelho 6 months ago

  • Status changed from Needs Patch to Feedback

pimd package 2.3.2_1 contains a patch changing MAXVIFS to 64 to match kernel. pfSense-pkg-pimd-0.0.3_1 will require this version

#10 Updated by Louis van Breda 5 months ago

Almost sure that MAXVIFS 64 does very likely! break the system!

Yesterday, I spend the whole day! , together with the pimd maintainer!, trying to find out why the upcoming pimd release does work on the 20201013-0650 snapshot, but not on the actual release. We did not manage to get pimd running on the actual build! The conclusion is almost sure that there is a problem inside the actual FreeBSD pfSense is using. Given the change that both pfSense snapshots provide a freebsd-version of three times 12.2 stable (huuuu ..... I am only aware of 12.2 release), there is a significant change that the problem is related to MAXVIFS 64. Note that even 12.2-release (we used for testing), is not 100% stable. We had kernel dumps!

Also note that 16/10 I allready noticed that a problem had arised since/after the 13/10 release!

#11 Updated by Renato Botelho 5 months ago

Louis van Breda wrote:

Almost sure that MAXVIFS 64 does very likely! break the system!

Yesterday, I spend the whole day! , together with the pimd maintainer!, trying to find out why the upcoming pimd release does work on the 20201013-0650 snapshot, but not on the actual release. We did not manage to get pimd running on the actual build! The conclusion is almost sure that there is a problem inside the actual FreeBSD pfSense is using. Given the change that both pfSense snapshots provide a freebsd-version of three times 12.2 stable (huuuu ..... I am only aware of 12.2 release), there is a significant change that the problem is related to MAXVIFS 64. Note that even 12.2-release (we used for testing), is not 100% stable. We had kernel dumps!

Also note that 16/10 I allready noticed that a problem had arised since/after the 13/10 release!

Should we restore MAXVIFS to 32? Then we can check what has changed on the repository at that date.

If you are testing and seeing problems on stock FreeBSD, it would be nice to open a ticket at https://bugs.freebsd.org with all details about how to reproduce. If you can test it on a kernel with all debug stuff enabled, and then submit the kernel dump to the ticket, it would make it much easier for kernel developers do debug. If you do so, please link the FreeBSD ticket here so we can keep tracking it

#12 Updated by Louis van Breda 5 months ago

Renato,

Restore to MAXVIFS 32 is a good idea for two reasons:
- it would allow me to test the actual package behavior without that patch, becoming even more sure that that patch is causing the trouble
- pimd (version 3beta) and other things would probably work for the moment.

We could change back to MAXVIFS 64 on a later moment, when the underlying issue is exactly identified and hopefully fixed.

Louis
PS I have been testing on pfSense and it is just not working!, there was no kernel dump / crash. We analyzed the problem using logging's and dumps (and could not find strange things, apart from the kernel refusing to add MFC-entrys). "Troblobit" has tested on 12.2-final with MaxVIFS32 which did work in his test VM.

#13 Updated by Renato Botelho 5 months ago

  • Status changed from Feedback to In Progress

right, I'm going to revert it and rebuild pimd and igmoproxy

#14 Updated by Louis van Breda 5 months ago

Renato, you only have to rebuild the OS. There is no neat to do something with the pfSense pimd package since those are based on the old pimd v2 (which is not working in conjunction with FreeBSD 12, due to api changes, at all!). I am using packages based on the latest pimd v3 beta repository and a modified version of the pfSense pimd-package.

#15 Updated by Renato Botelho 5 months ago

  • Status changed from In Progress to New

Done! It's all back to 32

#16 Updated by Louis van Breda 5 months ago

Renato, that fixed the problem :) I did create a FreeBSD bug report (251047)

#17 Updated by Louis van Breda 5 months ago

I fixed the problem. It was not in the OS. I did compile the PIMD-package in the wrong way in relation MAXVIFS64. So you can revert MAXVIFS back to 64.

What I absolutely do not like, is that the package has to be build for a specific number of MAXVIFS. With as consequence that the package build is (in that regard) target computer depending. IMHO the package should determine the MAXVIFS number at runtime, however it is (historically) not developed that way :( (I can not easily change that and apart from that, I am not the pimd maintainer)

#18 Updated by Renato Botelho 5 months ago

Louis van Breda wrote:

I fixed the problem. It was not in the OS. I did compile the PIMD-package in the wrong way in relation MAXVIFS64. So you can revert MAXVIFS back to 64.

What I absolutely do not like, is that the package has to be build for a specific number of MAXVIFS. With as consequence that the package build is (in that regard) target computer depending. IMHO the package should determine the MAXVIFS number at runtime, however it is (historically) not developed that way :( (I can not easily change that and apart from that, I am not the pimd maintainer)

Unfortunately now we are on code freeze in preparation for 2.5.0 to be released and it's not possible now to apply such change because it would require us to rebuild all package build jails. It will need to wait 2.5.0 to be out and then be added to 2.5.1

#19 Updated by Louis van Breda 5 months ago

OK, I understand. I will rebuild for 32 MAXVIFS. 32 VIFS are plenty for me, but others would perhaps like to have more.

Personally I would prefer a pimd-package with adapt itself to the actual number of maxvifs, but that is of course a little bit tricky change and I do not think troglobit is going to do that, the more since his priority is linux.

For info if you have to change the maxvifs number for the upcomming pimd package from the default 32, you have to build the package with a special config option:
./configure --localstatedir=/var --with-max-vifs=64 (using git)
CONFIGURE_ARGS+= --localstatedir=/var --with-max-vifs=64 (using ports)

#20 Updated by Renato Botelho 5 months ago

Louis van Breda wrote:

OK, I understand. I will rebuild for 32 MAXVIFS. 32 VIFS are plenty for me, but others would perhaps like to have more.

Personally I would prefer a pimd-package with adapt itself to the actual number of maxvifs, but that is of course a little bit tricky change and I do not think troglobit is going to do that, the more since his priority is linux.

For info if you have to change the maxvifs number for the upcomming pimd package from the default 32, you have to build the package with a special config option:
./configure --localstatedir=/var --with-max-vifs=64 (using git)
CONFIGURE_ARGS+= --localstatedir=/var --with-max-vifs=64 (using ports)

It would be nice if pimd build system detect system's MAXVIFS define and use it as default when no value is specified

Also available in: Atom PDF