From f885ac59cebcf1e87b97b0e6ef6e9eb032f9f733 Mon Sep 17 00:00:00 2001 From: Hanoh Haim Date: Thu, 17 Sep 2015 21:44:53 +0300 Subject: [PATCH] fix some pcap load issues --- VERSION | 2 +- scripts/cap2/jumbo.pcap | Bin 0 -> 17791 bytes scripts/cap2/jumbo.yaml | 23 +++++++++++++++++++++++ scripts/cap2/wrong_ip.pcap | Bin 0 -> 1530 bytes scripts/cap2/wrong_ip.yaml | 23 +++++++++++++++++++++++ src/bp_sim.cpp | 16 +++++++++------- src/common/pcap.cpp | 3 ++- 7 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 scripts/cap2/jumbo.pcap create mode 100644 scripts/cap2/jumbo.yaml create mode 100644 scripts/cap2/wrong_ip.pcap create mode 100644 scripts/cap2/wrong_ip.yaml diff --git a/VERSION b/VERSION index 917f0173..fe509dde 100755 --- a/VERSION +++ b/VERSION @@ -1,4 +1,4 @@ -v1.75 +v1.76 diff --git a/scripts/cap2/jumbo.pcap b/scripts/cap2/jumbo.pcap new file mode 100644 index 0000000000000000000000000000000000000000..2a7f7bde9d7c7cd7e3d1fef08e6d5c9950c13596 GIT binary patch literal 17791 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 Q>BW2E`ng2Hen4^kALp=tK>z>% literal 0 HcmV?d00001 diff --git a/scripts/cap2/jumbo.yaml b/scripts/cap2/jumbo.yaml new file mode 100644 index 00000000..b45a6ca3 --- /dev/null +++ b/scripts/cap2/jumbo.yaml @@ -0,0 +1,23 @@ +- duration : 10.0 + generator : + distribution : "seq" + clients_start : "16.0.0.1" + clients_end : "16.0.1.255" + servers_start : "48.0.0.1" + servers_end : "48.0.0.255" + clients_per_gb : 201 + min_clients : 101 + dual_port_mask : "1.0.0.0" + tcp_aging : 1 + udp_aging : 1 + mac : [0x00,0x00,0x00,0x01,0x00,0x00] + #vlan : { enable : 1 , vlan0 : 100 , vlan1 : 200 } + #mac_override_by_ip : true + cap_info : + - name: cap2/jumbo.pcap + cps : 1.0 + ipg : 10000 + rtt : 10000 + w : 1 + + diff --git a/scripts/cap2/wrong_ip.pcap b/scripts/cap2/wrong_ip.pcap new file mode 100644 index 0000000000000000000000000000000000000000..08cf8de815a6f2e62d7fa40572bc6cd8d7e325c1 GIT binary patch literal 1530 zcmaKsO>7%Q6vrpF(^QtM7Q~?v6`EFhYLUo(+q>hqru*SEMM*Hk95{hLruHTf@;J^F)?D$eD|lS}x0np|QRK0ZxqglKc0UL_x$>VE&zcg~GB zKk@#`ogwun<693=M*5lEoe#2vWOB1V%*^C6lJ>ZpJ*4e(4w#bm#n)E}JN3$!k|c?w zo;$O2H~SEY+x-{!_AV?+TJFzWW<-AZ$NFqPXj61VGTcX!^Z zBLzLrUYD6UlPtN1Tsfv$na}3Fk}O_%ChOep&iQ``xmIgX^>x1ZIJ6cOcM!u?Uz0t_{o+LO{SEK)D6X2Dc=@M;oee?WLjs*dq8=6N&-Ud~lr& zsG*A|h2Ek>;SzoQVjq|<1~;V_YB8v*OS5M|fJ_~VHRf2}W8^ksdHpf)U9Afs1Ar2`%Z5 zSHUnJoTPKtlF2Z=jfd=tccB&}qTNixnOp+jgTRKGxh`)~oD%ZzWVnp`3Bovj_ID9`TWlNvM0}vr+RYx$@sQWKexAc=Mf??i(v=Dn*x8+}Wb7ZaWU+!Ig`X zo=EsbiE3lwd{C|Q^#3EFrJ_ES$=E1isChecksumOK() ){ - m_cnt->m_ip_checksum_error++; - } - if( l3.m_ipv4->isMulticast() ){ - m_cnt->m_ip_multicast_error++; - return; - } if( l3.m_ipv4->getTimeToLive() ==0 ){ m_cnt->m_ip_ttl_is_zero_error++; @@ -1177,10 +1170,19 @@ void CPacketIndication::ProcessIpPacket(CPacketParser *parser, return; } + if ( m_packet->pkt_len > MAX_BUF_SIZE -FIRST_PKT_SIZE ){ + m_cnt->m_tcp_udp_pkt_length_error++; + printf("ERROR packet is too big, not supported jumbo packets that larger than %d \n",MAX_BUF_SIZE); + return; + } + // Set packet length and include padding if needed m_packet->pkt_len = l3.m_ipv4->getTotalLength() + getIpOffset(); if (m_packet->pkt_len < 60) { m_packet->pkt_len = 60; } + + + m_cnt->m_valid_udp_tcp++; m_payload_len = l3.m_ipv4->getTotalLength() - (payload_offset_from_ip); m_payload = (uint8_t *)(packetBase +offset); diff --git a/src/common/pcap.cpp b/src/common/pcap.cpp index 6dd54514..9b360a3e 100755 --- a/src/common/pcap.cpp +++ b/src/common/pcap.cpp @@ -156,7 +156,8 @@ bool LibPCapReader::ReadPacket(CCapPktRaw *lpPacket) } if (pkt_header.len > READER_MAX_PACKET_SIZE) { /* cannot read this packet */ - assert(0); + printf("ERROR packet is too big, bigger than %d \n",READER_MAX_PACKET_SIZE); + exit(-1); return false; } -- 2.16.6