Author: toad
Date: 2008-09-02 17:47:07 +0000 (Tue, 02 Sep 2008)
New Revision: 22357

Modified:
   trunk/freenet/src/freenet/node/NodeStarter.java
   trunk/freenet/src/freenet/node/simulator/BootstrapPullTest.java
   trunk/freenet/src/freenet/node/simulator/BootstrapPushPullTest.java
   trunk/freenet/src/freenet/node/simulator/BootstrapSeedTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeBusyNetworkTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodePingTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeSecretPingTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java
   trunk/freenet/src/freenet/node/simulator/SeednodePingTest.java
Log:
Allow the user of the seednodes testers to pass in their IP address as a 
command line parameter.
This is essential if the node doesn't know it:
Even if the node is DMZed, it will not be able to talk to any announcement 
result nodes which are themselves NATed if it can't include its correct IP 
address!
Note that this has significantly biased the bootstrapping results up to this 
point!


Modified: trunk/freenet/src/freenet/node/NodeStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStarter.java     2008-09-02 17:44:41 UTC 
(rev 22356)
+++ trunk/freenet/src/freenet/node/NodeStarter.java     2008-09-02 17:47:07 UTC 
(rev 22357)
@@ -337,7 +337,7 @@
                long storeSize, boolean ramStore, boolean enableSwapping, 
boolean enableARKs,
                boolean enableULPRs, boolean enablePerNodeFailureTables,
                boolean enableSwapQueueing, boolean enablePacketCoalescing,
-               int outputBandwidthLimit, boolean enableFOAF, boolean 
connectToSeednodes) throws NodeInitException {
+               int outputBandwidthLimit, boolean enableFOAF, boolean 
connectToSeednodes, String ipAddressOverride) throws NodeInitException {

                File baseDir = new File(testName);
                File portDir = new File(baseDir, Integer.toString(port));
@@ -395,6 +395,8 @@
                configFS.put("node.opennet.connectToSeednodes", 
connectToSeednodes);
                configFS.put("node.encryptTempBuckets", false);
                configFS.put("node.encryptPersistentTempBuckets", false);
+               if(ipAddressOverride != null)
+                       configFS.putSingle("node.ipAddressOverride", 
ipAddressOverride);

                PersistentConfig config = new PersistentConfig(configFS);


Modified: trunk/freenet/src/freenet/node/simulator/BootstrapPullTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/BootstrapPullTest.java     
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/BootstrapPullTest.java     
2008-09-02 17:47:07 UTC (rev 22357)
@@ -54,6 +54,9 @@
         * @throws InterruptedException 
         */
        public static void main(String[] args) throws 
InvalidThresholdException, IOException, NodeInitException, InterruptedException 
{
+               String ipOverride = null;
+               if(args.length > 0)
+                       ipOverride = args[0];
         File dir = new File("bootstrap-pull-test");
         FileUtil.removeAll(dir);
         RandomSource random = NodeStarter.globalTestInit(dir.getPath(), false, 
Logger.ERROR, "");
@@ -94,7 +97,7 @@
         FileUtil.writeTo(fis, new File(secondInnerDir, "seednodes.fref"));
         fis.close();
         PooledExecutor executor = new PooledExecutor();
-        Node secondNode = NodeStarter.createTestNode(DARKNET_PORT, 
OPENNET_PORT, dir.getPath(), true, false, false, Node.DEFAULT_MAX_HTL, 0, 
random, executor, 1000, 5*1024*1024, true, true, true, true, true, true, true, 
12*1024, false, true);        
+        Node secondNode = NodeStarter.createTestNode(DARKNET_PORT, 
OPENNET_PORT, dir.getPath(), true, false, false, Node.DEFAULT_MAX_HTL, 0, 
random, executor, 1000, 5*1024*1024, true, true, true, true, true, true, true, 
12*1024, false, true, ipOverride);        
         secondNode.start(true);
         waitForTenNodes(secondNode);


Modified: trunk/freenet/src/freenet/node/simulator/BootstrapPushPullTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/BootstrapPushPullTest.java 
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/BootstrapPushPullTest.java 
2008-09-02 17:47:07 UTC (rev 22357)
@@ -34,6 +34,9 @@
        public static int EXIT_FETCH_FAILED = 260;

        public static void main(String[] args) throws 
InvalidThresholdException, IOException, NodeInitException, InterruptedException 
{
+               String ipOverride = null;
+               if(args.length > 0)
+                       ipOverride = args[0];
         File dir = new File("bootstrap-push-pull-test");
         FileUtil.removeAll(dir);
         RandomSource random = NodeStarter.globalTestInit(dir.getPath(), false, 
Logger.ERROR, "");
@@ -49,7 +52,7 @@
         fis.close();
         // Create one node
         Executor executor = new PooledExecutor();
-        Node node = NodeStarter.createTestNode(5000, 5001, dir.getPath(), 
true, false, false, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 
5*1024*1024, true, true, true, true, true, true, true, 12*1024, false, true);
+        Node node = NodeStarter.createTestNode(5000, 5001, dir.getPath(), 
true, false, false, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 
5*1024*1024, true, true, true, true, true, true, true, 12*1024, false, true, 
ipOverride);
         //NodeCrypto.DISABLE_GROUP_STRIP = true;
        //Logger.setupStdoutLogging(Logger.MINOR, 
"freenet:NORMAL,freenet.node.NodeDispatcher:MINOR,freenet.node.FNPPacketMangler:MINOR");
        Logger.getChain().setThreshold(Logger.ERROR); // kill logging
@@ -91,7 +94,7 @@
         FileUtil.writeTo(fis, new File(secondInnerDir, "seednodes.fref"));
         fis.close();
         executor = new PooledExecutor();
-        Node secondNode = NodeStarter.createTestNode(5002, 5003, 
dir.getPath(), true, false, false, Node.DEFAULT_MAX_HTL, 0, random, executor, 
1000, 5*1024*1024, true, true, true, true, true, true, true, 12*1024, false, 
true);        
+        Node secondNode = NodeStarter.createTestNode(5002, 5003, 
dir.getPath(), true, false, false, Node.DEFAULT_MAX_HTL, 0, random, executor, 
1000, 5*1024*1024, true, true, true, true, true, true, true, 12*1024, false, 
true, ipOverride);        
         secondNode.start(true);
         waitForTenNodes(secondNode);


Modified: trunk/freenet/src/freenet/node/simulator/BootstrapSeedTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/BootstrapSeedTest.java     
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/BootstrapSeedTest.java     
2008-09-02 17:47:07 UTC (rev 22357)
@@ -29,6 +29,9 @@
         * @throws IOException 
         */
        public static void main(String[] args) throws 
InvalidThresholdException, NodeInitException, InterruptedException, IOException 
{
+               String ipOverride = null;
+               if(args.length > 0)
+                       ipOverride = args[0];
         File dir = new File("bootstrap-test");
         FileUtil.removeAll(dir);
         RandomSource random = NodeStarter.globalTestInit(dir.getPath(), false, 
Logger.ERROR, "");
@@ -44,7 +47,7 @@
         fis.close();
         // Create one node
         Executor executor = new PooledExecutor();
-        Node node = NodeStarter.createTestNode(5000, 5001, "bootstrap-test", 
true, false, false, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 
5*1024*1024, true, true, true, true, true, true, true, 12*1024, false, true);
+        Node node = NodeStarter.createTestNode(5000, 5001, "bootstrap-test", 
true, false, false, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 
5*1024*1024, true, true, true, true, true, true, true, 12*1024, false, true, 
ipOverride);
         //NodeCrypto.DISABLE_GROUP_STRIP = true;
        //Logger.setupStdoutLogging(Logger.MINOR, 
"freenet:NORMAL,freenet.node.NodeDispatcher:MINOR,freenet.node.FNPPacketMangler:MINOR");
        Logger.getChain().setThreshold(Logger.ERROR); // kill logging

Modified: trunk/freenet/src/freenet/node/simulator/RealNodeBusyNetworkTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeBusyNetworkTest.java       
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeBusyNetworkTest.java       
2008-09-02 17:47:07 UTC (rev 22357)
@@ -75,7 +75,7 @@
         Executor executor = new PooledExecutor();
         for(int i=0;i<NUMBER_OF_NODES;i++) {
             nodes[i] = 
-               NodeStarter.createTestNode(5001+i, 0, name, false, true, false, 
MAX_HTL, 20 /* 5% */, random, executor, 500*NUMBER_OF_NODES, 
(CHKBlock.DATA_LENGTH+CHKBlock.TOTAL_HEADERS_LENGTH)*100, true, 
ENABLE_SWAPPING, false, ENABLE_ULPRS, ENABLE_PER_NODE_FAILURE_TABLES, 
ENABLE_SWAP_QUEUEING, ENABLE_PACKET_COALESCING, 8000, ENABLE_FOAF, false);
+               NodeStarter.createTestNode(5001+i, 0, name, false, true, false, 
MAX_HTL, 20 /* 5% */, random, executor, 500*NUMBER_OF_NODES, 
(CHKBlock.DATA_LENGTH+CHKBlock.TOTAL_HEADERS_LENGTH)*100, true, 
ENABLE_SWAPPING, false, ENABLE_ULPRS, ENABLE_PER_NODE_FAILURE_TABLES, 
ENABLE_SWAP_QUEUEING, ENABLE_PACKET_COALESCING, 8000, ENABLE_FOAF, false, null);
             Logger.normal(RealNodeRoutingTest.class, "Created node "+i);
         }


Modified: 
trunk/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java   
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java   
2008-09-02 17:47:07 UTC (rev 22357)
@@ -79,21 +79,21 @@
         for(int i=0;i<NUMBER_OF_NODES;i++) {
                        allNodes[totalNodes] =
             subnetA[i] = 
-               NodeStarter.createTestNode(5001+totalNodes, 0, wd, false, true, 
true, MAX_HTL, 0 /* no dropped packets */, random, executor, 
500*NUMBER_OF_NODES, storeSize, true, true, false, false, false, false, true, 
0, ENABLE_FOAF, false);
+               NodeStarter.createTestNode(5001+totalNodes, 0, wd, false, true, 
true, MAX_HTL, 0 /* no dropped packets */, random, executor, 
500*NUMBER_OF_NODES, storeSize, true, true, false, false, false, false, true, 
0, ENABLE_FOAF, false, null);
                        totalNodes++;
             Logger.normal(RealNodeRoutingTest.class, "Created 'A' node 
"+totalNodes);
         }
         for(int i=0;i<NUMBER_OF_NODES;i++) {
                        allNodes[totalNodes] =
             subnetB[i] = 
-                       NodeStarter.createTestNode(5001+totalNodes, 0, wd, 
false, true, true, MAX_HTL, 0 /* no dropped packets */, random, executor, 
500*NUMBER_OF_NODES, storeSize, true, true, false, false, false, false, true, 
0, ENABLE_FOAF, false);
+                       NodeStarter.createTestNode(5001+totalNodes, 0, wd, 
false, true, true, MAX_HTL, 0 /* no dropped packets */, random, executor, 
500*NUMBER_OF_NODES, storeSize, true, true, false, false, false, false, true, 
0, ENABLE_FOAF, false, null);
                        totalNodes++;
             Logger.normal(RealNodeRoutingTest.class, "Created 'B' node 
"+totalNodes);
         }
                for(int i=0;i<BRIDGES;i++) {
                        allNodes[totalNodes] =
             bridges[i] = 
-                       NodeStarter.createTestNode(5001+totalNodes, 0, wd, 
false, true, true, MAX_HTL, 0 /* no dropped packets */, random, executor, 
500*NUMBER_OF_NODES, storeSize, true, true, false, false, false, false, true, 
0,ENABLE_FOAF, false);
+                       NodeStarter.createTestNode(5001+totalNodes, 0, wd, 
false, true, true, MAX_HTL, 0 /* no dropped packets */, random, executor, 
500*NUMBER_OF_NODES, storeSize, true, true, false, false, false, false, true, 
0,ENABLE_FOAF, false, null);
                        totalNodes++;
             Logger.normal(RealNodeRoutingTest.class, "Created bridge node 
"+totalNodes);
         }

Modified: trunk/freenet/src/freenet/node/simulator/RealNodePingTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodePingTest.java      
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/RealNodePingTest.java      
2008-09-02 17:47:07 UTC (rev 22357)
@@ -33,8 +33,8 @@
         RandomSource random = NodeStarter.globalTestInit("pingtest", false, 
Logger.ERROR, "");
         // Create 2 nodes
         Executor executor = new PooledExecutor();
-        Node node1 = NodeStarter.createTestNode(5001, 0, "pingtest", false, 
false, true, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 65536, true, 
false, false, false, false, false, true, 0, false, false);
-        Node node2 = NodeStarter.createTestNode(5002, 0, "pingtest", false, 
false, true, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 65536, true, 
false, false, false, false, false, true, 0, false, false);
+        Node node1 = NodeStarter.createTestNode(5001, 0, "pingtest", false, 
false, true, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 65536, true, 
false, false, false, false, false, true, 0, false, false, null);
+        Node node2 = NodeStarter.createTestNode(5002, 0, "pingtest", false, 
false, true, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 65536, true, 
false, false, false, false, false, true, 0, false, false, null);
         // Connect
         node1.connect(node2);
         node2.connect(node1);

Modified: 
trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java     
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java     
2008-09-02 17:47:07 UTC (rev 22357)
@@ -74,7 +74,7 @@
         Executor executor = new PooledExecutor();
         for(int i=0;i<NUMBER_OF_NODES;i++) {
             nodes[i] = 
-               NodeStarter.createTestNode(5001+i, 0, name, false, true, false, 
MAX_HTL, 20 /* 5% */, random, executor, 500*NUMBER_OF_NODES, 256*1024, true, 
ENABLE_SWAPPING, false, ENABLE_ULPRS, ENABLE_PER_NODE_FAILURE_TABLES, 
ENABLE_SWAP_QUEUEING, ENABLE_PACKET_COALESCING, 12000, ENABLE_FOAF, false);
+               NodeStarter.createTestNode(5001+i, 0, name, false, true, false, 
MAX_HTL, 20 /* 5% */, random, executor, 500*NUMBER_OF_NODES, 256*1024, true, 
ENABLE_SWAPPING, false, ENABLE_ULPRS, ENABLE_PER_NODE_FAILURE_TABLES, 
ENABLE_SWAP_QUEUEING, ENABLE_PACKET_COALESCING, 12000, ENABLE_FOAF, false, 
null);
             Logger.normal(RealNodeRoutingTest.class, "Created node "+i);
         }


Modified: trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java   
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java   
2008-09-02 17:47:07 UTC (rev 22357)
@@ -56,7 +56,7 @@
                Executor executor = new PooledExecutor();
                for(int i = 0; i < NUMBER_OF_NODES; i++) {
                        System.err.println("Creating node " + i);
-                       nodes[i] = NodeStarter.createTestNode(5001 + i, 0, dir, 
false, true, true, MAX_HTL, 0 /* no dropped packets */, random, executor, 500 * 
NUMBER_OF_NODES, 65536, true, ENABLE_SWAPPING, false, false, false, 
ENABLE_SWAP_QUEUEING, true, 0, ENABLE_FOAF, false);
+                       nodes[i] = NodeStarter.createTestNode(5001 + i, 0, dir, 
false, true, true, MAX_HTL, 0 /* no dropped packets */, random, executor, 500 * 
NUMBER_OF_NODES, 65536, true, ENABLE_SWAPPING, false, false, false, 
ENABLE_SWAP_QUEUEING, true, 0, ENABLE_FOAF, false, null);
                        Logger.normal(RealNodeRoutingTest.class, "Created node 
" + i);
                }
                Logger.normal(RealNodeRoutingTest.class, "Created " + 
NUMBER_OF_NODES + " nodes");

Modified: trunk/freenet/src/freenet/node/simulator/RealNodeSecretPingTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeSecretPingTest.java        
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeSecretPingTest.java        
2008-09-02 17:47:07 UTC (rev 22357)
@@ -66,7 +66,7 @@

         for(int i=0;i<NUMBER_OF_NODES;i++) {
             nodes[i] = 
-               NodeStarter.createTestNode(5001+i, 0, wd, false, true, true, 
MAX_HTL, 0 /* no dropped packets */, random, executor, 500*NUMBER_OF_NODES, 
storeSize, true, true, false, false, false, true, true, 0, true, false);
+               NodeStarter.createTestNode(5001+i, 0, wd, false, true, true, 
MAX_HTL, 0 /* no dropped packets */, random, executor, 500*NUMBER_OF_NODES, 
storeSize, true, true, false, false, false, true, true, 0, true, false, null);
             Logger.normal(RealNodeRoutingTest.class, "Created node "+i);
         }
         Logger.normal(RealNodeRoutingTest.class, "Created "+NUMBER_OF_NODES+" 
nodes");

Modified: trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java      
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java      
2008-09-02 17:47:07 UTC (rev 22357)
@@ -93,7 +93,7 @@
         Executor executor = new PooledExecutor();
         for(int i=0;i<NUMBER_OF_NODES;i++) {
             nodes[i] = 
-               NodeStarter.createTestNode(5000+i, 0, testName, false, true, 
true, MAX_HTL, 20 /* 5% */, random, executor, 500*NUMBER_OF_NODES, 1024*1024, 
true, ENABLE_SWAPPING, false, ENABLE_ULPRS, ENABLE_PER_NODE_FAILURE_TABLES, 
true, true, 0, ENABLE_FOAF, false);
+               NodeStarter.createTestNode(5000+i, 0, testName, false, true, 
true, MAX_HTL, 20 /* 5% */, random, executor, 500*NUMBER_OF_NODES, 1024*1024, 
true, ENABLE_SWAPPING, false, ENABLE_ULPRS, ENABLE_PER_NODE_FAILURE_TABLES, 
true, true, 0, ENABLE_FOAF, false, null);
             Logger.normal(RealNodeRoutingTest.class, "Created node "+i);
         }
         SimpleFieldSet refs[] = new SimpleFieldSet[NUMBER_OF_NODES];

Modified: trunk/freenet/src/freenet/node/simulator/SeednodePingTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/SeednodePingTest.java      
2008-09-02 17:44:41 UTC (rev 22356)
+++ trunk/freenet/src/freenet/node/simulator/SeednodePingTest.java      
2008-09-02 17:47:07 UTC (rev 22357)
@@ -48,7 +48,7 @@
         RandomSource random = NodeStarter.globalTestInit("seednode-pingtest", 
false, Logger.ERROR, "");
         // Create one node
         Executor executor = new PooledExecutor();
-       Node node = NodeStarter.createTestNode(5000, 5001, "seednode-pingtest", 
true, false, false, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 
5*1024*1024, true, false, false, false, false, false, false, 0, false, false);
+       Node node = NodeStarter.createTestNode(5000, 5001, "seednode-pingtest", 
true, false, false, Node.DEFAULT_MAX_HTL, 0, random, executor, 1000, 
5*1024*1024, true, false, false, false, false, false, false, 0, false, false, 
null);
        // Connect & ping
        Vector<SeedServerTestPeerNode> seedNodes = new 
Vector<SeedServerTestPeerNode>();
        Vector<SimpleFieldSet> seedNodesAsSFS = Announcer.readSeednodes(new 
File("/tmp/"));


Reply via email to