Skip to content

Commit 61093ab

Browse files
committed
Source IP and port are no longer required. This was long overdue!
1 parent c15ac6d commit 61093ab

File tree

6 files changed

+22
-51
lines changed

6 files changed

+22
-51
lines changed

ctcp.hh

+3-10
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,6 @@ private:
2727
UDPSocket socket;
2828
ConnectionType conntype;
2929

30-
string myaddr;
31-
int myport;
32-
3330
string dstaddr;
3431
int dstport;
3532

@@ -47,12 +44,10 @@ private:
4744

4845
public:
4946

50-
CTCP( T s_congctrl, string ipaddr, int port, string s_myaddr, int s_myport )
47+
CTCP( T s_congctrl, string ipaddr, int port )
5148
: congctrl( s_congctrl ),
5249
socket(),
5350
conntype( SENDER ),
54-
myaddr( s_myaddr ),
55-
myport( s_myport ),
5651
dstaddr( ipaddr ),
5752
dstport( port ),
5853
_last_send_time( 0.0 ),
@@ -63,15 +58,13 @@ public:
6358
tot_bytes_transmitted( 0 ),
6459
tot_packets_transmitted( 0 )
6560
{
66-
socket.bindsocket( ipaddr, port, myaddr, myport );
61+
socket.bindsocket( ipaddr, port );
6762
}
6863

6964
CTCP( CTCP<T> &other )
7065
: congctrl( other.congctrl ),
7166
socket(),
7267
conntype( other.conntype ),
73-
myaddr( other.myaddr ),
74-
myport( other.myport ),
7568
dstaddr( other.dstaddr ),
7669
dstport( other.dstport ),
7770
_last_send_time( 0.0 ),
@@ -82,7 +75,7 @@ public:
8275
tot_bytes_transmitted( 0 ),
8376
tot_packets_transmitted( 0 )
8477
{
85-
socket.bindsocket( dstaddr, dstport, myaddr, myport );
78+
socket.bindsocket( dstaddr, dstport );
8679
}
8780

8881
//duration in milliseconds

prober.cc

+6-8
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,18 @@ double current_timestamp( chrono::high_resolution_clock::time_point &start_time_
2727
}
2828

2929
int main( int argc, char* argv[] ) {
30-
string dstaddr, myaddr;
31-
int dstport, myport;
30+
string dstaddr;
31+
int dstport;
3232
if( argc != 5 ){
33-
cout << "Usage: ./prober dstaddr myaddr dstport outfilename " << endl;
33+
cout << "Usage: ./prober dstaddr dstport outfilename " << endl;
3434
exit( 0 );
3535
}
3636
dstaddr = argv[1];
37-
myaddr = argv[2];
38-
dstport = atoi( argv[3] );
39-
myport = 0;
37+
dstport = atoi( argv[2] );
4038
LINK_LOGGING_FILENAME = argv[4];
4139

4240
UDPSocket socket;
43-
socket.bindsocket( dstaddr, dstport, myaddr, myport );
41+
socket.bindsocket( dstaddr, dstport );
4442

4543
const int src_id = 42; // some arbitrary number
4644
const int packet_size = sizeof(TCPHeader)+2;
@@ -144,4 +142,4 @@ int main( int argc, char* argv[] ) {
144142

145143
if( LINK_LOGGING )
146144
link_logfile.close();
147-
}
145+
}

receiver.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void punch_NAT(string serverip, UDPSocket &sender_socket) {
3535
UDPSocket::SockAddress addr_holder;
3636
UDPSocket server_socket;
3737

38-
server_socket.bindsocket(serverip, 4839, "0.0.0.0", 0);
38+
server_socket.bindsocket(serverip, 4839);
3939
while (1) {
4040
this_thread::sleep_for( chrono::seconds(5) );
4141

sender.cc

+8-12
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ int main( int argc, char *argv[] ) {
2020
WhiskerTree whiskers;
2121
bool ratFound = false;
2222

23-
string serverip = "", sourceip = "";
24-
int serverport=8888, sourceport=0;
23+
string serverip = "";
24+
int serverport=8888;
2525
int offduration=5000, onduration=5000;
2626
string traffic_params = "";
2727
string delta_conf = ""; // for MarkovianCC
@@ -60,12 +60,8 @@ int main( int argc, char *argv[] ) {
6060
}
6161
else if( arg.substr( 0, 9 ) == "serverip=" )
6262
serverip = arg.substr( 9 );
63-
else if( arg.substr( 0, 9 ) == "sourceip=" )
64-
sourceip = arg.substr( 9 );
6563
else if( arg.substr( 0, 11 ) == "serverport=" )
6664
serverport = atoi( arg.substr( 11 ).c_str() );
67-
else if( arg.substr( 0, 11 ) == "sourceport=" )
68-
sourceport = atoi( arg.substr( 11 ).c_str() );
6965
else if( arg.substr( 0, 12 ) == "offduration=" )
7066
offduration = atoi( arg.substr( 12 ).c_str() );
7167
else if( arg.substr( 0, 11 ) == "onduration=" )
@@ -108,8 +104,8 @@ int main( int argc, char *argv[] ) {
108104
}
109105
}
110106

111-
if ( serverip == "" || sourceip == "") {
112-
fprintf( stderr, "Usage: sender serverip=(ipaddr) sourceip=(ipaddr) [if=(ratname)] [offduration=(time in ms)] [onduration=(time in ms)] [cctype=remy|kernel|tcp|markovian] [delta_conf=(for MarkovianCC)] [linkrate=(packets/sec)] [linklog=filename][serverport=(port)] [sourceport=(port)]\n");
107+
if ( serverip == "" ) {
108+
fprintf( stderr, "Usage: sender serverip=(ipaddr) [if=(ratname)] [offduration=(time in ms)] [onduration=(time in ms)] [cctype=remy|kernel|tcp|markovian] [delta_conf=(for MarkovianCC)] [linkrate=(packets/sec)] [linklog=filename] [serverport=(port)]\n");
113109
exit(1);
114110
}
115111

@@ -121,14 +117,14 @@ int main( int argc, char *argv[] ) {
121117
if( cctype == CCType::REMYCC) {
122118
fprintf( stdout, "Using RemyCC.\n" );
123119
RemyCC congctrl( whiskers );
124-
CTCP< RemyCC > connection( congctrl, serverip, serverport, sourceip, sourceport );
120+
CTCP< RemyCC > connection( congctrl, serverip, serverport );
125121
TrafficGenerator<CTCP<RemyCC>> traffic_generator( connection, onduration, offduration, traffic_params );
126122
traffic_generator.spawn_senders( 1 );
127123
}
128124
else if( cctype == CCType::TCPCC ) {
129125
fprintf( stdout, "Using UDT's TCP CC.\n" );
130126
DefaultCC congctrl;
131-
CTCP< DefaultCC > connection( congctrl, serverip, serverport, sourceip, sourceport );
127+
CTCP< DefaultCC > connection( congctrl, serverip, serverport );
132128
TrafficGenerator< CTCP< DefaultCC > > traffic_generator( connection, onduration, offduration, traffic_params );
133129
traffic_generator.spawn_senders( 1 );
134130
}
@@ -164,7 +160,7 @@ int main( int argc, char *argv[] ) {
164160
fprintf ( stderr, "NashCC Deprecated. Use MarkovianCC.\n" );
165161
assert( cctype != CCType::NASHCC );
166162
//NashCC congctrl( nashcc_utility_mode, param );
167-
//CTCP< NashCC > connection( congctrl, serverip, serverport, sourceip, sourceport );
163+
//CTCP< NashCC > connection( congctrl, serverip, serverport );
168164
//TrafficGenerator<CTCP<NashCC>> traffic_generator( connection, onduration, offduration, traffic_params );
169165
//traffic_generator.spawn_senders( 1 );
170166
}
@@ -173,7 +169,7 @@ int main( int argc, char *argv[] ) {
173169
MarkovianCC congctrl(1.0);
174170
assert(delta_conf != "");
175171
congctrl.interpret_config_str(delta_conf);
176-
CTCP< MarkovianCC > connection( congctrl, serverip, serverport, sourceip, sourceport );
172+
CTCP< MarkovianCC > connection( congctrl, serverip, serverport );
177173
TrafficGenerator< CTCP< MarkovianCC > > traffic_generator( connection, onduration, offduration, traffic_params );
178174
traffic_generator.spawn_senders( 1 );
179175
}

udp-socket.cc

+2-18
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,9 @@
88

99
using namespace std;
1010

11-
int UDPSocket::bindsocket(string s_ipaddr, int s_port, string myaddr /* __attribute((unused)) */, int myport /* __attribute((unused)) */){
11+
int UDPSocket::bindsocket(string s_ipaddr, int s_port){
1212
ipaddr = s_ipaddr;
1313
port = s_port;
14-
sockaddr_in my_addr;
15-
16-
memset((char*) &my_addr, 0, sizeof(my_addr));
17-
my_addr.sin_family = AF_INET;
18-
my_addr.sin_port = htons(myport);
19-
if (inet_aton(myaddr.c_str(), &my_addr.sin_addr) == 0)
20-
{
21-
std::cerr<<"inet_aton failed while binding to port. Check the format of given ip address. Code: "<<errno<<endl;
22-
return -1;
23-
}
24-
myport = myport*2;
25-
if (bind(udp_socket, (struct sockaddr *)&my_addr, sizeof(my_addr)) < 0 ){
26-
std::cerr<<"Failed to bind to port. Code: "<<errno<<endl;
27-
return -2;
28-
}
29-
3014
bound = true;
3115
return 0;
3216
}
@@ -155,4 +139,4 @@ string UDPSocket::decipher_socket_addr(sockaddr_in addr) {
155139
string ip_addr; int port;
156140
UDPSocket::decipher_socket_addr(addr, ip_addr, port);
157141
return ip_addr + ":" + to_string(port);
158-
}
142+
}

udp-socket.hh

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public:
2222
udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
2323
}
2424

25-
int bindsocket(std::string ipaddr, int port, std::string myaddr, int myport);
25+
int bindsocket(std::string ipaddr, int port);
2626
int bindsocket(int port);
2727
ssize_t senddata(const char* data, ssize_t size, SockAddress *s_dest_addr);
2828
ssize_t senddata(const char* data, ssize_t size, std::string dest_ip, int dest_port);
@@ -32,4 +32,4 @@ public:
3232
static std::string decipher_socket_addr(SockAddress addr);
3333
};
3434

35-
#endif
35+
#endif

0 commit comments

Comments
 (0)