Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
emulab-devel
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
143
Issues
143
List
Boards
Labels
Service Desk
Milestones
Merge Requests
6
Merge Requests
6
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
emulab
emulab-devel
Commits
d3f49ded
Commit
d3f49ded
authored
Oct 19, 2011
by
Leigh B Stoller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor fixes to prevent conflicting tunnel unit numbers.
parent
20484818
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
2 deletions
+26
-2
db/Lan.pm.in
db/Lan.pm.in
+17
-0
protogeni/lib/GeniAggregate.pm.in
protogeni/lib/GeniAggregate.pm.in
+9
-2
No files found.
db/Lan.pm.in
View file @
d3f49ded
...
...
@@ -3480,12 +3480,29 @@ sub GetExperiment($) { return $_[0]->{'EXPT'}; }
sub
Create
($$$$$;$$)
{
my
($
class
,
$
experiment
,
$
vname
,
$
secretkey
,
$
style
,
$
mask
,
$
port
)
=
@
_
;
my
$
exptidx
=
$
experiment
->
idx
();
#
The
new
lan
has
the
'ready'
bit
set
to
zero
.
my
$
lan
=
Lan
->
Create
($
experiment
,
$
vname
,
"tunnel"
);
return
undef
if
(
!defined($lan));
#
#
We
need
an
index
to
use
for
a
unit
number
.
Just
look
to
see
#
how
many
tunnels
#
my
$
query_result
=
DBQueryWarn
(
"select count(*) from lans "
.
"where exptidx='$exptidx' and type='tunnel'"
);
if
(
!$query_result || !$query_result->numrows) {
$
lan
->
Destroy
();
return
undef
;
}
my
($
tunnel_number
)
=
$
query_result
->
fetchrow_array
();
if
($
lan
->
SetAttribute
(
"tunnel_number"
,
$
tunnel_number
)
!= 0) {
$
lan
->
Destroy
();
return
undef
;
}
#
Set
the
secret
key
for
the
tunnel
.
if
($
lan
->
SetAttribute
(
"secretkey"
,
$
secretkey
)
!= 0) {
$
lan
->
Destroy
();
...
...
protogeni/lib/GeniAggregate.pm.in
View file @
d3f49ded
...
...
@@ -1625,6 +1625,13 @@ sub Create($$$$$$)
my $manager1;
my $manager2;
my $testing = 0;
my $tunnel_number;
# The tunnel number is how we generate the unit number.
if ($tunnel->GetAttribute("tunnel_number", \$tunnel_number) != 0) {
print STDERR "Could not get tunnel_number for $tunnel\n";
goto bad;
}
# We need the control network addresses, but it is possible that
# one of the nodes is not on this testbed.
...
...
@@ -1761,7 +1768,7 @@ sub Create($$$$$$)
if (defined($manager2));
$member1->SetAttribute("tunnel_ipmask", "255.255.255.0");
$member1->SetAttribute("tunnel_lan", $linkname);
$member1->SetAttribute("tunnel_unit", $
member1->memberid()
+ 1);
$member1->SetAttribute("tunnel_unit", $
tunnel_number
+ 1);
$member1->SetAttribute("tunnel_style", "gre");
$member1->SetAttribute("tunnel_peerid", $virtid2);
...
...
@@ -1790,7 +1797,7 @@ sub Create($$$$$$)
if (defined($manager1));
$member2->SetAttribute("tunnel_ipmask", "255.255.255.0");
$member2->SetAttribute("tunnel_lan", $linkname);
$member2->SetAttribute("tunnel_unit", $
member2->memberid()
+ 1);
$member2->SetAttribute("tunnel_unit", $
tunnel_number
+ 1);
$member2->SetAttribute("tunnel_style", "gre");
$member2->SetAttribute("tunnel_peerid", $virtid1);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment