PPPoE IPV6 interface edit







  • OK, moved to forum.
    adv_dhcp6_config_file_override is being set in working scenario because I use my own config.
    In non working scenario the adv_dhcp6_config_file_override IS NOT SET and thus not working .CONF is used.


  • Developer Netgate

    Ah OK.

    Then I am about out of ideas. I'll research this some more overnight. Thanks for all of your help so far :)



  • I can replicate it on my Hyper-v machine.

    This is clean ALPHA install upgraded to BETA.
    Vanilla.



  • Progress…

    If I deselect use ipv4 for connectivity then file is created as it should be but instead of "interface pppoe0 {" in conf there is "interface em3 {" which is not ok.



  • And all options in advanced config must not be enabled for this scenario to occur.



  • Produce config:

    interface em3 {
    	send ia-na 0;	# request stateful address
    	request domain-name-servers;
    	request domain-name;
    	script "/var/etc/dhcp6c_opt2_script.sh"; # we'd like some nameservers please
    };
    id-assoc na 0 { };
    

    See screenshots of config.




  • If I select "Only request an IPv6 prefix, do not request an IPv6 address" all of ia-na or ia-pd dissapear from conf.



  • @maverick_slo:

    OK, moved to forum.
    adv_dhcp6_config_file_override is being set in working scenario because I use my own config.
    In non working scenario the adv_dhcp6_config_file_override IS NOT SET and thus not working .CONF is used.

    The information posted in comment #15 of the bug reveals the reason for the non-working configuration. There should be a:
    <adv_dhcp6_id_assoc_statement_prefix_enable>Selected</adv_dhcp6_id_assoc_statement_prefix_enable>
    in the interface entry.

    Without that (which should be set by checking 'Prefix Delegation' in the "Advanced DHCP6 client configuration" section), DHCP6_Config_File_Advanced() will fail to generate the previously noted missing part of the configuration.

    The <adv_dhcp6_config_file_override_path>…</adv_dhcp6_config_file_override_path> is redundant, but is ignored in the absence of <adv_dhcp6_config_file_override>yes</adv_dhcp6_config_file_override>.



  • Soooo its bug right?



  • In addition to all the problems every time I reboot machine my custom config /var/etc/working.conf is deleted.
    Grrr :)



  • @maverick_slo:

    Soooo its bug right?

    If checking 'Prefix Delegation' in the "Advanced DHCP6 client configuration" section doesn't result in a working configuration, then it seems there is a bug. If checking that box is not enough, try clearing the custom configuration path first.

    Monitoring the <interface>…</interface> entry in the configuration file (or using the technique in the last line of comment 13 in the bug) will allow you to monitor what is going on.

    If you had merely failed to check 'Prefix Delegation', you had missed an essential part of the configuration.



  • nope everything is checked



  • Guys this one is easy to replicate.

    I just installed latest 2.3 then checked config as in screenshot and it produces this file: /var/etc/dhcp6c_lan.conf

    interface pppoe0 {
    	request domain-name-servers;
    	request domain-name;
    	script "/var/etc/dhcp6c_lan_script.sh"; # we'd like some nameservers please
    };
    

    So there is something very wrong with how interfaces.php or interfaces.inc generates this config file.



  • Developer Netgate

    In my configuration I see:

    <adv_dhcp6_id_assoc_statement_prefix_enable>yes</adv_dhcp6_id_assoc_statement_prefix_enable>

    while David suggests it should be:

    <adv_dhcp6_id_assoc_statement_prefix_enable>Selected</adv_dhcp6_id_assoc_statement_prefix_enable>

    I can certainly change that.



  • Ummm ok what about .conf file?
    Is it irrelevant what is there if in xml is correct?



  • Then it looks like an error due to the GUI change?
    Tomorrow I will make a CF with 2.3 and test it, I use a same config as you but with a /48 now on 2.2.6 no problem.


  • Developer Netgate

    I just pushed a change to make certain of the checkboxes have a value of "Selected" rather than "yes". In 2.2.x this was being done in Javascript and was missed when the file was converted.

    Let's see if that helps.



  • Will test tomorrow. Thanks!



  • Just a question..
    Gitsync or snapshot?

    Br,G



  • @Steve_B:

    In my configuration I see:

    <adv_dhcp6_id_assoc_statement_prefix_enable>yes</adv_dhcp6_id_assoc_statement_prefix_enable>

    while David suggests it should be:

    <adv_dhcp6_id_assoc_statement_prefix_enable>Selected</adv_dhcp6_id_assoc_statement_prefix_enable>

    I'd be surprised if that makes any difference, as the test used in DHCP6_Config_File_Advanced() is:
    if ($wancfg['adv_dhcp6_id_assoc_statement_prefix_enable'] != '') {

    }

    In other words, anything that is not a null string should work. I posted "Selected" because that is what was in the working configuration I had to hand, which originated from 2.2.x.

    I'm more of a back end person than a UI person - I know what is meant to happen in response to certain elements in $config or a configuration file. If maverick_slo can get a non-null string in $config['interfaces'][[i]interface]['adv_dhcp6_id_assoc_statement_prefix_enable'], the configuration should be generated correctly.

    Hopefully you and others who are more familiar with the user interface can figure out what is going wrong, Steve!


  • Developer Netgate

    "I'd be surprised if that makes any difference,"

    Yeah, me too, but you never know  :)

    Unfortunately, I m still unable to reproduce the error, making it very hard to trouble-shoot.

    In particular, I don't understand how the "Apply" action is changing the config file or the /var/etc/dhcp6_xxx.conf file, but I understand that is what is happening.

    Click "Save" and things look good. Then click apply and the config(s) are no longer correct. Right maverick_slo?

    As another test, I put:

    if ($_POST) {
        print_r($_POST);
        exit;
    }

    at about line 447 of interfaces.php (just above "if ($_POST['apply']) {" so that I can see what is being posted. I did this on pfSense 2.2.5 as well an saw that the results are identical.

    Of course since I can't reproduce the error, this may mean nothing.



  • Well well weeeell :)
    Gitsynced and bam:

    /var/etc/dhcp6c_opt2.conf looks like:

    interface pppoe0 {
    	send ia-pd 0;
    	request domain-name-servers;
    	request domain-name;
    	script "/var/etc/dhcp6c_opt2_script.sh";
    };
    id-assoc pd 0 { };
    

    And now everything works just as expected.

    Also tested on my vanilla setup and it works (it didn`t before).

    I think that some other pages might also require attention but haven`t found one yet.

    Thanks all!


  • Developer Netgate

    Yay!

    Thank you so much everyone. The time you took to help track this down is very much appreciated.


Log in to reply