17 $slicename = $ARGV[0];
18 $xid = int(`id -u $slicename`) || die("Could not determine xid of $slicename\n");
19 $portnumber = <STDIN>;
22 if ($portnumber!~/^\d+$/) {
23 die("$portnumber is not a port number");
26 $fuser_cmd = "ncontext --nid $xid --migrate -- vcontext --xid $xid --migrate fuser -n tcp $portnumber";
27 $pid = `$fuser_cmd` || die("Please bind to port $portnumber, e.g. run nc -l $portnumber.");
29 $cat_cmd = "cat /proc/$pid/vinfo";
32 ($#vinfo>0) || die("Port reservation failed. Please try again.\n");
36 ($foo,$real_xid) = split;
38 if (int($real_xid)!=$xid) {
39 die("Port $portnumber belongs to user $real_xid, not to you.\n");