Check if MPRIO is sent when the default interface is backup

Signed-off-by: Benjamin Hesmans <benjamin.hesmans@uclouvain.be>
This commit is contained in:
Benjamin Hesmans 2015-07-29 05:18:35 -07:00
parent ebe7ae9320
commit 069727fdc8
7 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,10 @@
leftSubnet:10.0.
rightSubnet:10.1.
path_0:10,10,4,True
path_1:40,30,4,False
topoType:MultiIf
#changeNetem:yes
#netem_{path_id}:at,cmd
#netemAt_0:5,delay 100ms limit 10 loss 10%
#netemAt_0:15,delay 10ms limit 10
#netemAt_1:15,delay 100ms limit 10

View File

@ -0,0 +1,8 @@
checkers:
tshark:
- test: "filter"
filter: "tcp.options.mptcp.subtype==5"
validations:
- name: "exact_value"
target: 1
desc: "When the default interface is a backup, MPRIO should be sent"

View File

@ -0,0 +1,10 @@
xpType:ncpv
ncClientPort_0:33400
clientPcap:yes
pvRateLimit:400k
ddCount:5000
kpmc:fullmesh
#sched:roundrobin
#rmem:87380 87380 87380
#rmem:150000 150000 150000
#rmem:300000 300000 300000

View File

@ -0,0 +1,10 @@
leftSubnet:10.0.
rightSubnet:10.1.
path_0:10,10,4,True
path_1:40,30,4,False
topoType:MultiIf
#changeNetem:yes
#netem_{path_id}:at,cmd
#netemAt_0:5,delay 100ms limit 10 loss 10%
#netemAt_0:15,delay 10ms limit 10
#netemAt_1:15,delay 100ms limit 10

View File

@ -0,0 +1,8 @@
checkers:
tshark:
- test: "filter"
filter: "tcp.options.mptcp.subtype==5"
validations:
- name: "exact_value"
target: 1
desc: "When the default interface is a backup, MPRIO should be sent"

View File

@ -0,0 +1,11 @@
xpType:ncpv
ncClientPort_0:33400
clientPcap:yes
pvRateLimit:400k
ddCount:5000
kpmc:netlink
upmc:fullmesh
#sched:roundrobin
#rmem:87380 87380 87380
#rmem:150000 150000 150000
#rmem:300000 300000 300000

View File

@ -1,6 +1,7 @@
from mpTcptraceData import * from mpTcptraceData import *
from subprocess import check_output
import numpy as np import numpy as np
@ -126,6 +127,15 @@ class Tester:
raise Exception("Method not implemented") raise Exception("Method not implemented")
class FilterTest(Tester):
def get_tested_value(self, yml):
if "filter" in self.yml:
ret = check_output(["tshark", "-r", self.trace, "-Y", self.yml["filter"]])
return len(ret.split("\n")) - 1
else:
raise Exception("Test requires a filter.")
class CsvTest(Tester): class CsvTest(Tester):
def get_tested_value(self, validation): def get_tested_value(self, validation):
@ -161,6 +171,12 @@ class TcptraceChecker(Checker):
self.trace = TcptraceData(destDir+"/client.pcap") self.trace = TcptraceData(destDir+"/client.pcap")
self.test_id = test_id self.test_id = test_id
class TsharkChecker(Checker):
def __init__(self, yml, test_id, destDir):
self.yml = yml["tshark"]
self.trace = destDir+"/client.pcap"
self.test_id = test_id
from mpMptcptraceData import * from mpMptcptraceData import *
# Runs tests based on mptcptrace # Runs tests based on mptcptrace