dce-freebsd.patch
author Hajime Tazaki <tazaki@nict.go.jp>
Thu, 20 Jun 2013 09:56:26 +0900
changeset 26 0fca5307fd86
parent 10 8a68d11b234e
permissions -rw-r--r--
update a lot
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     1
diff -r 930c18c455ba example/dce-linux.cc
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     2
--- a/example/dce-linux.cc	Fri Feb 10 18:31:18 2012 +0900
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     3
+++ b/example/dce-linux.cc	Mon Feb 20 12:52:34 2012 +0900
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     4
@@ -105,7 +105,7 @@
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     5
   DceManagerHelper processManager;
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     6
  // processManager.SetLoader ("ns3::DlmLoaderFactory");
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     7
   processManager.SetNetworkStack("ns3::LinuxSocketFdFactory",
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     8
-				 "Library", StringValue ("libnet-next-2.6.so"));
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     9
+				 "Library", StringValue ("libfreebsd.git.so"));
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    10
   processManager.Install (nodes);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    11
 
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    12
   for (int n=0; n < 2; n++)
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    13
diff -r 930c18c455ba example/tcp-server.cc
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    14
--- a/example/tcp-server.cc	Fri Feb 10 18:31:18 2012 +0900
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    15
+++ b/example/tcp-server.cc	Mon Feb 20 12:52:34 2012 +0900
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    16
@@ -1,6 +1,8 @@
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    17
 #include <unistd.h>
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    18
 #include <sys/types.h>
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    19
 #include <sys/socket.h>
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    20
+#include <stdio.h>
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    21
+#include <errno.h>
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    22
 #include <netdb.h>
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    23
 #include <string.h>
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    24
 #include <iostream>
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    25
@@ -23,6 +25,15 @@
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    26
   status = listen (sock, 1);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    27
 
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    28
   int fd = accept (sock, 0, 0);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    29
+  while ((fd == -1) && (errno == 35))
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    30
+    {
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    31
+      std::cout << " accept -> " << fd << " errno " << errno <<std::endl;
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    32
+      perror ("retry");
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    33
+      sleep (1);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    34
+      fd = accept (sock, 0, 0);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    35
+      if (fd == -1)
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    36
+        perror ("damn");
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    37
+    }
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    38
   std::cout << " accept -> " << fd << std::endl;
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    39
 
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    40
   uint8_t buf[10240];
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    41
diff -r 930c18c455ba model/linux-socket-fd-factory.cc
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    42
--- a/model/linux-socket-fd-factory.cc	Fri Feb 10 18:31:18 2012 +0900
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    43
+++ b/model/linux-socket-fd-factory.cc	Mon Feb 20 12:52:34 2012 +0900
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    44
@@ -407,6 +407,8 @@
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    45
     {
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    46
       flags |= SIM_DEV_NOARP;
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    47
     }
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    48
+  Ptr<Node> node = GetObject<Node> ();
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    49
+  (node->GetId () == 0) ? (flags |= (1<<4)) : (flags |= 0);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    50
   struct SimDevice *dev = m_exported->dev_create (PeekPointer (device), (enum SimDevFlags)flags);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    51
 
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    52
   Ptr<LinuxDeviceStateListener> listener = Create <LinuxDeviceStateListener> (device, this);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    53
@@ -414,7 +416,6 @@
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    54
   device->AddLinkChangeCallback (MakeCallback (&LinuxDeviceStateListener::NotifyDeviceStateChange, listener));
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    55
 
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    56
   m_devices.push_back (std::make_pair (device,dev));
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    57
-  Ptr<Node> node = GetObject<Node> ();
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    58
   node->RegisterProtocolHandler (MakeCallback (&LinuxSocketFdFactory::RxFromDevice, this), 
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    59
                                  0, device, true);
8a68d11b234e merge HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    60
   NotifyDeviceStateChangeTask (device);