Thank you so much! I appreciate your help! Songs very strange but I suppose ZC is not zeroed packet header data between calls:
First packet: Before parser:[00:00:00:00:00:00 -> 00:00:00:00:00:00] [eth_type=0x0000] [caplen=74][len=74][parsed_header_len=0][eth_offset=0][l3_offset=0][l4_offset=0][payload_offset=0] After parser:[90:E2:BA:78:26:8C -> 90:E2:BA:4A:D8:DC] [IPv4][10.10.10.100:43036 -> 10.10.10.200:82] [l3_proto=TCP][hash=1454961952][tos=16][tcp_seq_num=661801648] [caplen=74][len=74][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=74] Second packet (it should be clean after parser coll): Before parser:[90:E2:BA:78:26:8C -> 90:E2:BA:4A:D8:DC] [IPv4][10.10.10.100:43036 -> 10.10.10.200:82] [l3_proto=TCP][hash=1454961952][tos=16][tcp_seq_num=661801648] [caplen=74][len=74][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=74] After parser:[90:E2:BA:78:26:8C -> 90:E2:BA:4A:D8:DC] [IPv4][10.10.10.100:43036 -> 10.10.10.200:82] [l3_proto=TCP][hash=1454961952][tos=16][tcp_seq_num=661801648] [caplen=74][len=74][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=74] And next issue related with hashing, I completely disabled hashing with fifth parameter set to zero: pfring_parse_pkt((u_char*)p, (struct pfring_pkthdr*)h, 4, 1, 0); But I still getting hash information: [90:E2:BA:78:26:8C -> 90:E2:BA:4A:D8:DC] [IPv4][10.10.10.100:43036 -> 10.10.10.200:82] [l3_proto=TCP][hash=1454961952][tos=16][tcp_seq_num=661801648] [caplen=74][len=74][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=74] How it possible? :) Thank you your help! On Thu, Dec 11, 2014 at 5:32 PM, Alfredo Cardigliano <[email protected]> wrote: > Did you try replacing your pfring_parse_pkt() call with the below? > > memset(&h->extended_hdr.parsed_pkt, 0, sizeof(h->extended_hdr.parsed_pkt)); > pfring_parse_pkt((u_char*)p, (struct pfring_pkthdr*)h, 4, 1, 0); > > Alfredo > >> On 11 Dec 2014, at 15:30, Pavel Odintsov <[email protected]> wrote: >> >> I tried to find fix for this issue but have no success in it :( >> >> On Thu, Dec 11, 2014 at 5:23 PM, Alfredo Cardigliano >> <[email protected]> wrote: >>> Hi Pavel >>> why do you expect a difference? >>> >>> Alfredo >>> >>> On 11 Dec 2014, at 15:11, Pavel Odintsov <[email protected]> wrote: >>> >>> I read diff between 6.0.3 and current SVN and do not found any changes >>> in parser :( Can you help me? >>> >>> On Wed, Dec 10, 2014 at 6:37 PM, Pavel Odintsov >>> <[email protected]> wrote: >>> >>> Hello! >>> >>> I tried to do manual parsing and it failed with very strange results. >>> I tried do manual parser with vanilla PF_RING and it work perfectly. >>> But when I move to zc:eth4 everything goes weird. >>> >>> You can look at code example here: >>> https://github.com/FastVPSEestiOu/fastnetmon/blob/master/pfring_parser_zc_issue.c >>> >>> Here you can find examples of broken packets generated in ZC mode: >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=2697283473][tos=0][tcp_seq_num=0] >>> [caplen=101][len=101][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=2427859156][tos=0][tcp_seq_num=0] >>> [caplen=128][len=1494][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=785972458][tos=0][tcp_seq_num=0] >>> [caplen=128][len=899][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=235012324][tos=0][tcp_seq_num=0] >>> [caplen=128][len=1514][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=235012324][tos=0][tcp_seq_num=0] >>> [caplen=128][len=1514][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=2452494655][tos=0][tcp_seq_num=0] >>> [caplen=128][len=669][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=3004425024][tos=0][tcp_seq_num=0] >>> [caplen=62][len=62][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=1947699452][tos=0][tcp_seq_num=0] >>> [caplen=82][len=82][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=4270253576][tos=0][tcp_seq_num=0] >>> [caplen=128][len=214][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [IPv4][5.45.121.206:0 -> >>> 71.237.183.84:0] [l3_proto=TCP][hash=2404904871][tos=0][tcp_seq_num=0] >>> [caplen=74][len=74][parsed_header_len=0][eth_offset=0][l3_offset=14][l4_offset=34][payload_offset=0] >>> >>> >>> When I remove zc prefix everything goes OK: >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [vlan 100] >>> [IPv4][46.36.217.163:60425 -> 66.212.227.177:80] >>> [l3_proto=TCP][hash=1895475635][tos=0][tcp_seq_num=3109618290] >>> [caplen=74][len=74][parsed_header_len=0][eth_offset=-14][l3_offset=18][l4_offset=38][payload_offset=70] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [vlan 100] >>> [IPv4][185.4.74.46:80 -> 79.104.202.167:29676] >>> [l3_proto=TCP][hash=141396247][tos=0][tcp_seq_num=2414040755] >>> [caplen=128][len=1422][parsed_header_len=0][eth_offset=-14][l3_offset=18][l4_offset=38][payload_offset=58] >>> [90:E2:BA:49:85:C8 -> 00:19:E2:B1:EF:C1] [vlan 103] >>> [IPv4][5.45.125.197:80 -> 94.19.227.237:19226] >>> [l3_proto=TCP][hash=1665248546][tos=0][tcp_seq_num=3106769437] >>> [caplen=128][len=1322][parsed_header_len=0][eth_offset=-14][l3_offset=18][l4_offset=38][payload_offset=58] >>> [00:19:E2:B1:EF:C1 -> 90:E2:BA:49:85:C8] [IPv4][188.123.252.42:54821 >>> -> 5.45.117.243:80] >>> [l3_proto=TCP][hash=3249162392][tos=0][tcp_seq_num=3384753169] >>> [caplen=64][len=64][parsed_header_len=0][eth_offset=-14][l3_offset=14][l4_offset=34][payload_offset=54] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [vlan 100] >>> [IPv4][159.253.23.8:443 -> 93.80.68.118:52364] >>> [l3_proto=TCP][hash=4249758155][tos=0][tcp_seq_num=4188560676] >>> [caplen=128][len=320][parsed_header_len=0][eth_offset=-14][l3_offset=18][l4_offset=38][payload_offset=58] >>> [5C:5E:AB:24:0F:C0 -> 90:E2:BA:49:85:C8] [IPv4][54.231.136.26:80 -> >>> 159.253.18.81:36360] >>> [l3_proto=TCP][hash=3605342409][tos=0][tcp_seq_num=2042671898] >>> [caplen=64][len=64][parsed_header_len=0][eth_offset=-14][l3_offset=14][l4_offset=34][payload_offset=54] >>> [90:E2:BA:49:85:C8 -> 5C:5E:AB:24:0F:C0] [vlan 100] >>> [IPv4][159.253.20.133:80 -> 178.18.208.229:41361] >>> [l3_proto=TCP][hash=1376814929][tos=0][tcp_seq_num=1451307525] >>> [caplen=128][len=1522][parsed_header_len=0][eth_offset=-14][l3_offset=18][l4_offset=38][payload_offset=58] >>> >>> Could you help me? >>> >>> Thank you! >>> >>> On Tue, Oct 21, 2014 at 12:20 PM, Pavel Odintsov >>> <[email protected]> wrote: >>> >>> Thank you for fast and useful answer! :) >>> >>> On Tue, Oct 21, 2014 at 12:14 PM, Alfredo Cardigliano >>> <[email protected]> wrote: >>> >>> No, with standard drivers it uses kernel threads (ksoftirq) >>> >>> Alfredo >>> >>> On 21 Oct 2014, at 10:00, Pavel Odintsov <[email protected]> wrote: >>> >>> Hello! >>> >>> Yep, I can run it in my tool but standard parser with no-zc mode >>> spread for all cores. It uses additional threads inside pf_ring? >>> _______________________________________________ >>> Ntop-misc mailing list >>> [email protected] >>> http://listgateway.unipi.it/mailman/listinfo/ntop-misc >>> >>> >>> _______________________________________________ >>> Ntop-misc mailing list >>> [email protected] >>> http://listgateway.unipi.it/mailman/listinfo/ntop-misc >>> >>> >>> >>> >>> -- >>> Sincerely yours, Pavel Odintsov >>> >>> >>> >>> >>> -- >>> Sincerely yours, Pavel Odintsov >>> >>> >>> >>> >>> -- >>> Sincerely yours, Pavel Odintsov >>> _______________________________________________ >>> Ntop-misc mailing list >>> [email protected] >>> http://listgateway.unipi.it/mailman/listinfo/ntop-misc >>> >>> >>> >>> _______________________________________________ >>> Ntop-misc mailing list >>> [email protected] >>> http://listgateway.unipi.it/mailman/listinfo/ntop-misc >> >> >> >> -- >> Sincerely yours, Pavel Odintsov >> _______________________________________________ >> Ntop-misc mailing list >> [email protected] >> http://listgateway.unipi.it/mailman/listinfo/ntop-misc > > _______________________________________________ > Ntop-misc mailing list > [email protected] > http://listgateway.unipi.it/mailman/listinfo/ntop-misc -- Sincerely yours, Pavel Odintsov _______________________________________________ Ntop-misc mailing list [email protected] http://listgateway.unipi.it/mailman/listinfo/ntop-misc
