diff options
Diffstat (limited to 'yardstick/vTC/apexlake/experimental_framework/packet_generators/dpdk_pktgen/rfc2544.lua')
-rw-r--r-- | yardstick/vTC/apexlake/experimental_framework/packet_generators/dpdk_pktgen/rfc2544.lua | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/yardstick/vTC/apexlake/experimental_framework/packet_generators/dpdk_pktgen/rfc2544.lua b/yardstick/vTC/apexlake/experimental_framework/packet_generators/dpdk_pktgen/rfc2544.lua deleted file mode 100644 index d20a29b03..000000000 --- a/yardstick/vTC/apexlake/experimental_framework/packet_generators/dpdk_pktgen/rfc2544.lua +++ /dev/null @@ -1,132 +0,0 @@ ------------------------------------------------------------------------------ --- Copyright (c) 2015 Intel Research and Development Ireland Ltd. --- --- Licensed under the Apache License, Version 2.0 (the "License"); --- you may not use this file except in compliance with the License. --- You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. ------------------------------------------------------------------------------ - -------------------------------- ------ RFC-2544 throughput ----- -------------------------------- - -package.path = package.path ..";?.lua;test/?.lua;app/?.lua;../?.lua" -require "Pktgen"; - ------ Packet Gen Configuration -local sendport = "0"; -local recvport = "1"; -pktgen.set(recvport, "rate", 1); -pktgen.vlan(sendport, "on"); -pktgen.ping4("all"); -pktgen.icmp_echo("all", "on"); -pktgen.process("all", "on"); - - ------ RFC2544 Configuration -local traffic_delay = 60; -- Time in seconds to delay. -local multicast_delay = 15; -- Time in seconds to delay. -local starting_rate = 100; -- Initial Rate in % -local step = 100; -- Initial Step in % -local down_limit = 0; -local up_limit = 100; - - --- Creation of a module ---local rfc2544 = {} -function start_traffic(rate) - local endStats, diff, prev, iteration, flag, found; - flag = false; - found = false; - - print("PACKET GENERATION - " .. rate .. "%\n"); - - -- Send packet to join the multicast group - print("Join Multicast Group"); - pktgen.start(recvport); - sleep(multicast_delay); - pktgen.stop(recvport); - pktgen.clr(); - - - -- Send traffic at the specified rate - print("Start Generation"); - pktgen.set(sendport, "rate", rate); - sleep(1); - pktgen.start(sendport); - sleep(traffic_delay); - pktgen.stop(sendport); - print("Stop Generation"); - sleep(5); - - -- Collect statistics about the experiment - endStats = pktgen.portStats("all", "port"); - diff = endStats[0].opackets - endStats[1].ipackets; - if ( endStats[0].opackets <= 0) then - diff = 0; - else - diff = diff / endStats[0].opackets; - end - pktgen.clr(); - - print("Missing packets: " .. (diff * 100)); - - -- Adjust variable for the next race - prev_rate = rate; - step = step/2; - - if ( diff > 0.01) then - if(endStats[0].opackets > 0) then - up_limit = rate; - rate = math.floor(rate - (step)); - end - else - down_limit = rate; - rate = math.floor(rate + (step)); - print("\nRATE: " .. rate .. " RECEIVED PACKETS: " .. endStats[1].ipackets .. " "); - found = true; - end - - printf("DOWN LIMIT: %d\n", down_limit); - printf("UP LIMIT: %d\n", up_limit); - - if ( rate >= 100 ) then - rate = 100; - end - - if ( prev ~= rate and rate < up_limit and rate >= down_limit and step >= 1 ) then - if (step < 1 and not found ) or (step >= 1 ) then - return start_traffic(rate); - end - end - sleep(3); - return down_limit; -end -local out_file = ""; -local starting_rate = 100; - -pktgen.clr(); -print("RFC 2544 THROUGHPUT CALCULATION"); - --- Write output on log file -file = io.open(out_file, "w"); - --- Start experiment ---rate = rfc2544.start_traffic(starting_rate) -rate = start_traffic(starting_rate); -print("RATE: " .. rate); -file:write(rate); - --- Close the log file -file:close(); - --- Quit the environment -os.exit(1); |