void sum_host_insert(struct primitives_ptrs *prim_ptrs) { struct pkt_data *data = prim_ptrs->data; struct in_addr ip; #if defined ENABLE_IPV6 struct in6_addr ip6; #endif if (data->primitives.dst_ip.family == AF_INET) { ip.s_addr = data->primitives.dst_ip.address.ipv4.s_addr; data->primitives.dst_ip.address.ipv4.s_addr = 0; data->primitives.dst_ip.family = 0; insert_accounting_structure(prim_ptrs); data->primitives.src_ip.address.ipv4.s_addr = ip.s_addr; insert_accounting_structure(prim_ptrs); return; } #if defined ENABLE_IPV6 if (data->primitives.dst_ip.family == AF_INET6) { memcpy(&ip6, &data->primitives.dst_ip.address.ipv6, sizeof(struct in6_addr)); memset(&data->primitives.dst_ip.address.ipv6, 0, sizeof(struct in6_addr)); data->primitives.dst_ip.family = 0; insert_accounting_structure(prim_ptrs); memcpy(&data->primitives.src_ip.address.ipv6, &ip6, sizeof(struct in6_addr)); insert_accounting_structure(prim_ptrs); return; } #endif }
void sum_mac_insert(struct primitives_ptrs *prim_ptrs) { struct pkt_data *data = prim_ptrs->data; u_char macaddr[ETH_ADDR_LEN]; memcpy(macaddr, &data->primitives.eth_dhost, ETH_ADDR_LEN); memset(data->primitives.eth_dhost, 0, ETH_ADDR_LEN); insert_accounting_structure(prim_ptrs); memcpy(&data->primitives.eth_shost, macaddr, ETH_ADDR_LEN); insert_accounting_structure(prim_ptrs); }
void sum_as_insert(struct primitives_ptrs *prim_ptrs) { struct pkt_data *data = prim_ptrs->data; as_t asn; asn = data->primitives.dst_as; data->primitives.dst_as = 0; insert_accounting_structure(prim_ptrs); data->primitives.src_as = asn; insert_accounting_structure(prim_ptrs); }
void sum_port_insert(struct primitives_ptrs *prim_ptrs) { struct pkt_data *data = prim_ptrs->data; u_int16_t port; port = data->primitives.dst_port; data->primitives.dst_port = 0; insert_accounting_structure(prim_ptrs); data->primitives.src_port = port; insert_accounting_structure(prim_ptrs); }
void sum_host_insert(struct primitives_ptrs *prim_ptrs) { struct pkt_data *data = prim_ptrs->data; struct host_addr tmp; memcpy(&tmp, &data->primitives.dst_ip, HostAddrSz); memset(&data->primitives.dst_ip, 0, HostAddrSz); insert_accounting_structure(prim_ptrs); memcpy(&data->primitives.src_ip, &tmp, HostAddrSz); insert_accounting_structure(prim_ptrs); }