Browse Source

add log for possible ip fragmentation

pull/365/head
Max Lv 9 years ago
parent
commit
7260153439
2 changed files with 8 additions and 10 deletions
  1. 14
      src/udprelay.c
  2. 4
      src/udprelay.h

14
src/udprelay.c

@ -639,10 +639,9 @@ static void remote_recv_cb(EV_P_ ev_io *w, int revents)
goto CLEAN_UP;
}
// Drop large packets > default MTU
if (buf_len > MTU) {
LOGE("[udp] drop large packets, size: %d", (int)buf_len);
goto CLEAN_UP;
// packet size > default MTU
if (verbose && buf_len > MTU) {
LOGE("[udp] possible ip fragment, size: %d", (int)buf_len);
}
#ifdef UDPRELAY_LOCAL
@ -833,10 +832,9 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents)
#endif
#endif
// Drop large packets > default MTU
if (buf_len > MTU) {
LOGE("[udp] drop large packets, size: %d", (int)buf_len);
goto CLEAN_UP;
// packet size > default MTU
if (verbose && buf_len > MTU) {
LOGE("[udp] possible ip fragment, size: %d", (int)buf_len);
}
/*

4
src/udprelay.h

@ -37,9 +37,9 @@
#include "common.h"
#define MAX_UDP_PACKET_SIZE (2 * 1024) // large enough for a typical MTU 1500
#define MAX_UDP_PACKET_SIZE (65507)
#define MTU 1421 // 1492 - 1 - 28 - 2 - 40 = 1421, the default MTU for UDP relay
#define MTU 1397 // 1492 - 1 - 28 - 2 - 64 = 1397, the default MTU for UDP relay
struct server_ctx {
ev_io io;

Loading…
Cancel
Save