2 # Delete some boot-time interfaces, and perhaps de-activate them too
4 require './net-lib.pl';
6 &error_setup($in{'apply'} ? $text{'dbifcs_err2'} : $text{'dbifcs_err'});
7 @d = split(/\0/, $in{'b'});
8 @d || &error($text{'daifcs_enone'});
11 @boot = &boot_interfaces();
12 @active = &active_interfaces();
13 foreach $d (reverse(@d)) {
14 ($b) = grep { $_->{'fullname'} eq $d } @boot;
15 $b || &error($text{'daifcs_egone'});
16 &can_iface($b) || &error($text{'ifcs_ecannot_this'});
18 # Make this interface active
19 &activate_interface($b);
23 if ($in{'deleteapply'}) {
25 ($act) = grep { $_->{'fullname'} eq $b->{'fullname'} }
28 if (defined(&unapply_interface)) {
29 $err = &unapply_interface($act);
30 $err && &error("<pre>$err</pre>");
33 &deactivate_interface($act);
34 if(&iface_type($b->{'name'}) eq 'Bonded'){
35 if (($gconfig{'os_type'} eq 'debian-linux') && ($gconfig{'os_version'} >= 5)) {}
36 else {&unload_module($b->{'name'});}
43 &delete_interface($b);
44 if(&iface_type($b->{'name'}) eq 'Bonded' &&
45 defined(&delete_module_def)){
46 &delete_module_def($b->{'name'});
51 &webmin_log($in{'apply'} ? "apply" : "delete", "bifcs", scalar(@d));
52 &redirect("list_ifcs.cgi?mode=boot");