#!/usr/bin/awk -f BEGIN { start_time = 26 stop_time = 99 # Uplink src_ip_port_ul = "4194305.0" dest_ip_port_ul = "4194304.0" packettype_ul = "cbr" # Downlink src_ip_port_dl = "4194304.1" ;#"0.0.0.1" dest_ip_port_dl = "4194305.1" ;#"1.0.1.1" packettype_dl = "cbr" #init var # Uplink packetcounter_ul = 0 recv_bytes_ul = 0 # Downlink packetcounter_dl = 0 recv_bytes_dl = 0 } { # Uplink # r -t 25.017077960 -Hs 0 -Hd 4194304 -Ni 0 -Nx 500.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl AGT -Nw --- -Ma 0 -Md 1000000 -Ms 8 -Mt 0 # -Is 4194305.0 -Id 4194304.0 - It cbr -Il 1520 -If 0 -Ii 7 -Iv 32 -Pn cbr -Pi 0 -Pf 0 -Po 0 # Take only packets into account within transmission period if (($3 <= stop_time) && ($3 >= start_time) ){ # Count packets and bytes for UPLINK if ( ($1 == "r") && ($19 == "AGT") && ($31 == src_ip_port_ul) && ($33 == dest_ip_port_ul) && ($35 == packettype_dl)){ # Packetcounter packetcounter_ul++ # Datacounter recv_bytes_ul=recv_bytes_ul + $37 -20 } } # Downlink # r -t 25.504000981 -Hs 1 -Hd 4194305 -Ni 1 -Nx 700.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl AGT -Nw --- -Ma 0 -Md 0 -Ms 8 -Mt 0 # -Is 4194304.1 -Id 4194305.1 -It cbr -Il 1520 -If 0 -Ii 8 -Iv 32 -Pn cbr -Pi 0 -Pf 0 -Po 0 if (($3 <= stop_time) && ( $3 >= start_time) ){ # Count packets and bytes for DOWNLINK if ( ($1 == "r") && ($19 == "AGT") && ($31 == src_ip_port_dl) && ($33 == dest_ip_port_dl) && ($35 == packettype_dl) ){ # Packetcounter packetcounter_dl++ # Datacounter recv_bytes_dl=recv_bytes_dl + $37 -20 } } } END { # Calculation of throughput # Uplink if (recv_bytes_ul==0){ bandwidth_ul = 0 } else { bandwidth_ul = 10^-6*8*recv_bytes_ul/(stop_time-start_time) } # Downlink if (recv_bytes_dl==0){ bandwidth_dl = 0 } else { bandwidth_dl = 10^-6*8*recv_bytes_dl/(stop_time-start_time) } # Output of the results printf("Start: %20d\n",start_time) printf("Stop: %20d\n\n",stop_time) printf("Uplink \n\n") printf("Statistic for %s-flow from %s to %s:\n\n",packettype_ul,src_ip_port_ul,dest_ip_port_ul) printf("Received packets: %20d [%15d Bytes]\n",packetcounter_ul,recv_bytes_ul) printf("Bandwidth: %6.3f Mbit/s\n",bandwidth_ul) printf("\n\n") printf("Downlink \n\n") printf("Statistic for %s-flow from %s to %s:\n\n",packettype_dl,src_ip_port_dl,dest_ip_port_dl) printf("Received packets: %20d [%15d Bytes]\n",packetcounter_dl,recv_bytes_dl) printf("Bandwidth: %6.3f Mbit/s\n",bandwidth_dl) printf("\n\n") printf("Results %6.6f %6.6f \n", bandwidth_ul, bandwidth_dl); }