Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int master_record_to_flowtype (master_record_t *r, flowtype *flow)
- {
- if (r == NULL || flow == NULL)
- {
- __clog (_WARNING, "Error: couldn't convert master_record_t to flowtype, either one or both pointer are NULL\n");
- return FAIL;
- }
- flow->counter = 0;
- /*if ( (r->flags & FLAG_IPV6_ADDR ) != 0 ) { // IPv6
- r->v6.srcaddr[0] = htonll(r->v6.srcaddr[0]);
- r->v6.srcaddr[1] = htonll(r->v6.srcaddr[1]);
- r->v6.dstaddr[0] = htonll(r->v6.dstaddr[0]);
- r->v6.dstaddr[1] = htonll(r->v6.dstaddr[1]);
- //inet_ntop(AF_INET6, r->v6.srcaddr, as, sizeof(as));
- //inet_ntop(AF_INET6, r->v6.dstaddr, ds, sizeof(ds));
- flow->src_ip = r->v6.srcaddr;
- flow->dst_ip = r->v6.dstaddr;
- } else {*/ // IPv4
- r->v4.srcaddr = htonl(r->v4.srcaddr);
- r->v4.dstaddr = htonl(r->v4.dstaddr);
- //inet_ntop(AF_INET, &r->v4.srcaddr, as, sizeof(as));
- //inet_ntop(AF_INET, &r->v4.dstaddr, ds, sizeof(ds));
- flow->src_ip = r->v4.srcaddr;
- flow->dst_ip = r->v4.dstaddr;
- //}
- flow->src_port = r->srcport;
- flow->dst_port = r->dstport;
- flow->timestamp = r->first;
- flow->duration = r->last - r->first;
- flow->proto = r->prot;
- flow->flag = r->flags;
- flow->tos = r->tos;
- flow->packet = (unsigned long long)r->dPkts;
- flow->byte = (unsigned long long)r->dOctets;
- // Bytes per Packet
- if ( r->dPkts )
- flow->Bpp = r->dOctets / r->dPkts;
- else
- flow->Bpp = 0;
- // bits per second
- if (flow->duration)
- flow->bps = ( r->dOctets << 3 ) / flow->duration; // ( >> 3 ) -> * 8 to convert octets into bits
- else
- flow->bps = 0;
- // Bytes per Packet
- if ( r->dPkts )
- flow->Bpp = r->dOctets / r->dPkts;
- else
- flow->Bpp = 0;
- return SUCCESS;
- }
Add Comment
Please, Sign In to add comment