I'm working with a 100BT ethernet board (the DSP4You AVB-DG board), and for some reason, I can't seem to send packets any more often than 100 milliseconds.
I have a setup that should be flooding the network with packets (intentionally), but I only get 10 packets/second.
Here is my xtcp switch statement:
Code: Select all
switch (conn.event) {
case XTCP_NEW_CONNECTION:
if (XTCP_IPADDR_CMP(conn.remote_addr, broadcast_addr)) {
broadcast_connection = conn;
xtcp_init_send(c_xtcp, broadcast_connection);
broadcast_send_flag = 1;
}
break;
case XTCP_RECV_DATA:
n_received = xtcp_recv(c_xtcp, received_data);
break;
case XTCP_PUSH_DATA:
break;
case XTCP_REQUEST_DATA:
if (conn.id == broadcast_connection.id) {
xtcp_send(c_xtcp, broadcast_buffer, broadcast_len);
}
break;
case XTCP_RESEND_DATA:
if (conn.id == broadcast_connection.id) {
xtcp_send(c_xtcp, broadcast_buffer, broadcast_len);
}
break;
case XTCP_SENT_DATA:
xtcp_complete_send(c_xtcp);
if (conn.id == broadcast_connection.id) {
xtcp_init_send(c_xtcp, broadcast_connection);
broadcast_send_flag = 0;
}
break;
case XTCP_ABORTED:
case XTCP_CLOSED:
case XTCP_TIMED_OUT:
case XTCP_POLL:
case XTCP_ALREADY_HANDLED:
break;
case XTCP_IFUP:
xtcp_connect(c_xtcp,
BROADCAST_PORT,
broadcast_addr,
XTCP_PROTOCOL_UDP);
break;
case XTCP_IFDOWN:
xtcp_close(c_xtcp, broadcast_connection);
broadcast_connection.id = INIT_VAL;
break;
default:
break;
}
What can I do to send UDP packets quickly?
Thanks,
-Caleb