]> git.proxmox.com Git - pve-firewall.git/commitdiff
add dhcpv6 support to the dhcp option
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 26 Jan 2016 11:03:01 +0000 (12:03 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 26 Jan 2016 12:17:09 +0000 (13:17 +0100)
src/PVE/Firewall.pm

index 8976bad5f3a5d3234d399193be4f55b46a5c256c..21237f87616fb866bc728552022e61d171930ba3 100644 (file)
@@ -1904,15 +1904,28 @@ sub ruleset_create_vm_chain {
     my $accept = generate_nfqueue($options);
 
     if (!(defined($options->{dhcp}) && $options->{dhcp} == 0)) {
-       if ($direction eq 'OUT') {
-           ruleset_generate_rule($ruleset, $chain, $ipversion, 
-                                 { action => 'PVEFW-SET-ACCEPT-MARK',
-                                   proto => 'udp', sport => 68, dport => 67 });
-       } else {
-           ruleset_generate_rule($ruleset, $chain, $ipversion,
-                                 { action => 'ACCEPT',
-                                   proto => 'udp', sport => 67, dport => 68 });
+       if ($ipversion == 4) {
+           if ($direction eq 'OUT') {
+               ruleset_generate_rule($ruleset, $chain, $ipversion, 
+                                     { action => 'PVEFW-SET-ACCEPT-MARK',
+                                       proto => 'udp', sport => 68, dport => 67 });
+           } else {
+               ruleset_generate_rule($ruleset, $chain, $ipversion,
+                                     { action => 'ACCEPT',
+                                       proto => 'udp', sport => 67, dport => 68 });
+           }
+       } elsif ($ipversion == 6) {
+           if ($direction eq 'OUT') {
+               ruleset_generate_rule($ruleset, $chain, $ipversion,
+                                     { action => 'PVEFW-SET-ACCEPT-MARK',
+                                       proto => 'udp', sport => 546, dport => 547 });
+           } else {
+               ruleset_generate_rule($ruleset, $chain, $ipversion,
+                                     { action => 'ACCEPT',
+                                       proto => 'udp', sport => 547, dport => 546 });
+           }
        }
+
     }
 
     if ($direction eq 'OUT') {