示例#1
0
def getNewRules(oldTargets, newTargets):
    newRulesList = []
    for i in range(0, len(oldTargets)):    
        currIP = oldTargets[i]['ip']
        currWild = oldTargets[i]['wild']
        currReplica = oldTargets[i]['replica']

	matchRule = findMatch(newTargets, currIP, currWild)

	# 2 New Rules for 1 Old Rule
        if matchRule == []:
	    newChildRules = findChildRules(newTargets, currIP, currWild)
	    if newChildRules != []:
		newRulesList.append({'NewRules': newChildRules, 'OldRules': [oldTargets[i]]})

    for i in range(0, len(newTargets)):
	currRule = IPTransition.copyRule(newTargets[i])
        currIP = currRule['ip']
        currWild = currRule['wild']
        currReplica = currRule['replica']

        matchRule = findMatch(oldTargets, currIP, currWild)
	# 1 New Rule for 1 Old Rule
        if matchRule != []:
#	    if currRule['replica'] != matchRule[0]['replica']:
	    newRulesList.append({'NewRules': [currRule], 'OldRules': matchRule})
	# 1 New Rule for 2 Old Rules
	else:
	    oldChildRules = findChildRules(oldTargets, currIP, currWild)
	    alreadyRule = False
            for i, childRule in enumerate(oldChildRules):
                if findMatch(newTargets, childRule['ip'], childRule['wild']) != []:
		    alreadyRule = True
            if oldChildRules != [] and not alreadyRule:
		newRulesList.append({'NewRules': [currRule], 'OldRules': oldChildRules})

    return newRulesList
示例#2
0
# Init Forwarding Table
Multipath.calcForwardingTable()

# NEW ALPHAS
os.system('cp ' + Globals.HOME + 'alpha1.txt ' + Globals.HOME + 'alpha.txt') 
time.sleep(1)

alphaFileUpdate()
Globals.TARGETRULES[0]['traffic'] = 99

alphaFileUpdate()
Globals.TARGETRULES[0]['traffic'] = 1


# NEW ALPHAS
os.system('cp ' + Globals.HOME + 'alpha2.txt ' + Globals.HOME + 'alpha.txt')
time.sleep(1)


alphaFileUpdate()
Globals.TARGETRULES[1]['traffic'] = 10

hardTimeoutHandler(Globals.TRANSITRULES[0])

timeoutRules = []
for i, transitRule in enumerate(Globals.TRANSITRULES):
    timeoutRules.append(IPTransition.copyRule(transitRule))
for i, transitRule in enumerate(timeoutRules):
    hardTimeoutHandler(transitRule)