diff --git a/xCAT-server/lib/xcat/plugins/anaconda.pm b/xCAT-server/lib/xcat/plugins/anaconda.pm index 446634564..7e622fff6 100644 --- a/xCAT-server/lib/xcat/plugins/anaconda.pm +++ b/xCAT-server/lib/xcat/plugins/anaconda.pm @@ -31,7 +31,7 @@ use strict; my @cpiopid; my $httpmethod="http"; my $httpport="80"; - +my $useflowcontrol="0"; sub handled_commands @@ -117,6 +117,7 @@ sub process_request my $path = undef; if ($::XCATSITEVALS{"httpmethod"}) { $httpmethod = $::XCATSITEVALS{"httpmethod"}; } if ($::XCATSITEVALS{"httpport"}) { $httpport = $::XCATSITEVALS{"httpport"}; } + if ($::XCATSITEVALS{"useflowcontrol"}) { $useflowcontrol = $::XCATSITEVALS{"useflowcontrol"}; } if ($request->{command}->[0] eq 'copycd') { @@ -722,6 +723,8 @@ sub mknetboot "imgurl=$httpmethod://$imgsrv:$httpport/$rootimgdir/rootimg.$suffix "; $kcmdline .= "XCAT=$xcatmaster:$xcatdport "; $kcmdline .= "NODE=$node "; + # add flow control setting + $kcmdline .= "FC=$useflowcontrol "; } #inform statelite/stateless node not to update the nodestatus during provision if(($nodestatus eq "n") or ($nodestatus eq "N") or ($nodestatus eq "0")){ diff --git a/xCAT-server/lib/xcat/plugins/debian.pm b/xCAT-server/lib/xcat/plugins/debian.pm index 66ac98d99..6908d4188 100644 --- a/xCAT-server/lib/xcat/plugins/debian.pm +++ b/xCAT-server/lib/xcat/plugins/debian.pm @@ -22,6 +22,7 @@ use File::Copy; use Socket; #use strict; +my $useflowcontrol="0"; my @cpiopid; ############################################################################## @@ -129,6 +130,7 @@ sub process_request my $distname = undef; my $arch = undef; my $path = undef; + if ($::XCATSITEVALS{"useflowcontrol"}) { $useflowcontrol = $::XCATSITEVALS{"useflowcontrol"}; } if ($request->{command}->[0] eq 'copycd') { return copycd($request, $callback, $doreq); @@ -1362,6 +1364,8 @@ sub mknetboot "XCAT=$xcatmaster:$xcatdport "; $kcmdline .= "NODE=$node "; + # add flow control setting + $kcmdline .= "FC=$useflowcontrol "; # BEGIN service node my $isSV = xCAT::Utils->isServiceNode(); my $res = xCAT::Utils->runcmd("hostname", 0); diff --git a/xCAT-server/lib/xcat/plugins/sles.pm b/xCAT-server/lib/xcat/plugins/sles.pm index d887ce0a1..f434f918c 100644 --- a/xCAT-server/lib/xcat/plugins/sles.pm +++ b/xCAT-server/lib/xcat/plugins/sles.pm @@ -23,6 +23,7 @@ use File::Copy; use File::Temp qw/mkdtemp/; my $httpmethod = "http"; my $httpport = "80"; +my $useflowcontrol="0"; use File::Find; use File::Basename; use Digest::MD5 qw(md5_hex); @@ -575,6 +576,8 @@ sub mknetboot } $kcmdline .= "NODE=$node "; + # add flow control setting + $kcmdline .= "FC=$useflowcontrol "; # add the kernel-booting parameter: netdev=, or BOOTIF= my $netdev = ""; @@ -679,6 +682,7 @@ sub process_request my $path = undef; if ($::XCATSITEVALS{"httpmethod"}) { $httpmethod = $::XCATSITEVALS{"httpmethod"}; } if ($::XCATSITEVALS{"httpport"}) { $httpport = $::XCATSITEVALS{"httpport"}; } + if ($::XCATSITEVALS{"useflowcontrol"}) { $useflowcontrol = $::XCATSITEVALS{"useflowcontrol"}; } if ($request->{command}->[0] eq 'copycd') { return copycd($request, $callback, $doreq);