Class: Classbench::Analyser

Inherits:
Object
  • Object
show all
Defined in:
lib/classbench/analyser.rb

Constant Summary collapse

INTERESTING_ATTRIBUTES =
["dl_dst", "dl_src", "dl_type", "dl_vlan", "dl_vlan_pcp",
"eth_type", "in_port",
"nw_dst", "nw_proto", "nw_src", "nw_tos",
"tp_dst", "tp_src"]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAnalyser

Returns a new instance of Analyser.



12
13
14
# File 'lib/classbench/analyser.rb', line 12

def initialize
  self.rules ||= []
end

Instance Attribute Details

#rulesObject

Returns the value of attribute rules.



10
11
12
# File 'lib/classbench/analyser.rb', line 10

def rules
  @rules
end

Instance Method Details

#generate_ruleObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/classbench/analyser.rb', line 40

def generate_rule
  random_rule = rules[rand(rules.size)]
  random_rule.fields

  #1. determine its OF type
  #2. remove 5-tuple header fields that ARE NOT defined by the OF type
  #3. add OF-specific header fields that ARE defined by the OF type
  #  1. if the field is ingress port, Ethernet type or IP protocol,
  #  use specified dependencies (see shared Google document) to constrain a set
  #  of possible values for this field
  #  2. generate value for the OF-specific header field in a
  #  specified way (see shared Google document)
  #4. Label all the header fields by the corresponding OF name
end

#generate_seedObject



34
35
36
37
38
# File 'lib/classbench/analyser.rb', line 34

def generate_seed
  # acl3_seed
  seed3 = "LXNjYWxlCjI0MDAKIwotcHJvdHMKMAkwLjA0OTE2NjY3CTEuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAKMQkwLjA0MTY2NjY3CTEuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAKNgkwLjY0OTk5OTk4CTAuMDAxMjgyMDUJMC4xNDU1MTI4MgkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMTQyOTQ4NzIJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC43MTAyNTY0MAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAKMTcJMC4yNTg3NDk5OQkwLjAwMTYxMDMxCTAuMTcwNjkyNDMJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjA2NzYzMjg1CTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuNzU2ODQzODEJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAzMjIwNjEJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCjg5CTAuMDAwNDE2NjcJMS4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAkwLjAwMDAwMDAwCTAuMDAwMDAwMDAJMC4wMDAwMDAwMAojCi1mbGFncwowCTB4MDAwMC8weDAwMDAsMS4wMDAwMDAwMAkKMQkweDAwMDAvMHgwMDAwLDEuMDAwMDAwMDAJCjYJMHgwMDAwLzB4MDIwMCwwLjAwMDY0MTAzCTB4MTAwMC8weDEwMDAsMC4wMDA2NDEwMwkweDAwMDAvMHgwMDAwLDAuOTk4NzE3OTYJCjE3CTB4MDAwMC8weDAwMDAsMS4wMDAwMDAwMAkKODkJMHgwMDAwLzB4MDAwMCwxLjAwMDAwMDAwCQojCi1leHRyYQowCiMKLXNwYXIKIwotc3BlbQowLjUwMDAwMDAwCTUzOjUzCjAuNTAwMDAwMDAJNDAwMDo0MDAwCiMKLWRwYXIKMC4yMjY0MTUxMAkyMDoyMQowLjA4Njc5MjQ1CTIwMTA6MjAxMQowLjA3OTI0NTI4CTEzNzoxMzgKMC4wNjAzNzczNgk0MDExOjQwMTQKMC4wNTI4MzAxOQkyMjAxNDoyMjAyOQowLjA0NTI4MzAyCTMxMDY6MzEwOAowLjA0NTI4MzAyCTE2MToxNjIKMC4wMzc3MzU4NQkzMDAwOjMwMTAKMC4wMzc3MzU4NQk0MTIwOjUxMjAKMC4wMzM5NjIyNgkzMjA2OjMyMTYKMC4wMzM5NjIyNgkzMTEwOjMxMTIKMC4wMzM5NjIyNgkzMTAwOjMxMDEKMC4wMzAxODg2OAk0MTAwOjQxMTAKMC4wMjI2NDE1MQkzMzQzMzozMzU1MwowLjAyMjY0MTUxCTI5MzAwOjI5MzAxCjAuMDIyNjQxNTEJMjEwNjoyMTA5CjAuMDE1MDk0MzQJMjAwMDoyMDAxCjAuMDE1MDk0MzQJNTAwMDo1MDEwCjAuMDExMzIwNzUJODM5Ojg0OAowLjAxMTMyMDc1CTc3NzA6Nzc3MQowLjAxMTMyMDc1CTY2NjQ6NjY2NQowLjAwNzU0NzE3CTcwMDA6NzAwMQowLjAwNzU0NzE3CTg5OTE6ODk5MwowLjAwMzc3MzU4CTQ0NDo0NDUKMC4wMDM3NzM1OAkxMTAyMToxMTAyMwowLjAwMzc3MzU4CTMyMDAwOjMyMDIwCjAuMDAzNzczNTgJNTQzMTo1NDMyCjAuMDAzNzczNTgJMTIzNDU6MTIzNDYKMC4wMDM3NzM1OAk4MDYwOjgwNzkKMC4wMDM3NzM1OAk4Mzk6OTA5CjAuMDAzNzczNTgJMjAwMDE6NjU1MzUKMC4wMDM3NzM1OAk4MDo4MQowLjAwMzc3MzU4CTg2MDo5MDkKMC4wMDM3NzM1OAkyMjAwOjIyOTkKMC4wMDM3NzM1OAk3MDUwOjczMDAKMC4wMDM3NzM1OAk1MDAwOjUwMDEKIwotZHBlbQowLjA5Njk1ODE4CTUxNDo1MTQKMC4wNzY2NzkzNAk4MDo4MAowLjA1NDQ5OTM3CTI1OjI1CjAuMDUyNTk4MjMJMTIzOjEyMwowLjA1MTk2NDUxCTY5OjY5CjAuMDQ0MzU5OTUJNTM6NTMKMC4wNDExOTEzOAkzMDE1OjMwMTUKMC4wMjkxNTA4Mgk1MTkwOjUxOTAKMC4wMjg1MTcxMQkzMTA2OjMxMDYKMC4wMjA5MTI1NQkxNjI6MTYyCjAuMDE5NjQ1MTIJMjkzMDE6MjkzMDEKMC4wMTY0NzY1NQk4MDgwOjgwODAKMC4wMTU4NDI4NAk0NDM6NDQzCjAuMDE1ODQyODQJMTYxOjE2MQowLjAxNTIwOTEzCTk5OTM6OTk5MwowLjAxMzMwNzk4CTQyOjQyCjAuMDEzMzA3OTgJMTcwMToxNzAxCjAuMDEzMzA3OTgJMTM5OjEzOQowLjAxMzMwNzk4CTEzNToxMzUKMC4wMTE0MDY4NAkzNzozNwowLjAxMTQwNjg0CTQ0NDQ6NDQ0NAowLjAxMTQwNjg0CTUwNTA6NTA1MAowLjAwOTUwNTcwCTQwMDE6NDAwMQowLjAwOTUwNTcwCTMzMDA6MzMwMAowLjAwODg3MTk5CTExMTE6MTExMQowLjAwODIzODI4CTIzNDU6MjM0NQowLjAwNzYwNDU2CTMzMDE6MzMwMQowLjAwNzYwNDU2CTUwMDA6NTAwMAowLjAwNzYwNDU2CTIwMDEwOjIwMDEwCjAuMDA3NjA0NTYJOTAwMDo5MDAwCjAuMDA3NjA0NTYJMjM0NDoyMzQ0CjAuMDA3NjA0NTYJMzMxOjMzMQowLjAwNjMzNzE0CTUwMTU6NTAxNQowLjAwNjMzNzE0CTM0NTY6MzQ1NgowLjAwNjMzNzE0CTQzMjE6NDMyMQowLjAwNjMzNzE0CTIzOjIzCjAuMDA2MzM3MTQJNTU2NjY6NTU2NjYKMC4wMDU3MDM0MgkxNDMzOjE0MzMKMC4wMDU3MDM0MgkzMjAwOjMyMDAKMC4wMDU3MDM0MgkzMDMwOjMwMzAKMC4wMDU3MDM0MgkzMTE0OjMxMTQKMC4wMDU3MDM0MgkyMzE0OjIzMTQKMC4wMDU3MDM0MgkzMTE2OjMxMTYKMC4wMDU3MDM0MgkzMzUwOjMzNTAKMC4wMDU3MDM0MgkyMDUwMDoyMDUwMAowLjAwNTcwMzQyCTUxMDA6NTEwMAowLjAwNTcwMzQyCTQxMDY6NDEwNgowLjAwNTA2OTcxCTE4MjU6MTgyNQowLjAwNTA2OTcxCTU0NDA6NTQ0MAowLjAwNTA2OTcxCTIwMzAwOjIwMzAwCjAuMDA0NDM2MDAJNzQ5Ojc0OQowLjAwNDQzNjAwCTMzMzM6MzMzMwowLjAwNDQzNjAwCTc2MTo3NjEKMC4wMDQ0MzYwMAkyMDAzMDoyMDAzMAowLjAwNDQzNjAwCTE0MzoxNDMKMC4wMDM4MDIyOAkxODEyOjE4MTIKMC4wMDM4MDIyOAk1NzE5OjU3MTkKMC4wMDM4MDIyOAk1NzA4OjU3MDgKMC4wMDM4MDIyOAk1NzQxOjU3NDEKMC4wMDM4MDIyOAk1NzMwOjU3MzAKMC4wMDMxNjg1NwkzMDEwOjMwMTAKMC4wMDMxNjg1Nwk1NTU1OjU1NTUKMC4wMDMxNjg1NwkzMTAxOjMxMDEKMC4wMDI1MzQ4NQkzMzM3OjMzMzcKMC4wMDI1MzQ4NQkxNTM0OjE1MzQKMC4wMDI1MzQ4NQkxNzgwOjE3ODAKMC4wMDI1MzQ4NQk3MDAwOjcwMDAKMC4wMDI1MzQ4NQkzMDAwOjMwMDAKMC4wMDI1MzQ4NQk3MTEzOjcxMTMKMC4wMDI1MzQ4NQk1NzAwOjU3MDAKMC4wMDI1MzQ4NQkzMzQwOjMzNDAKMC4wMDE5MDExNAkzMTExOjMxMTEKMC4wMDE5MDExNAk1MDAxOjUwMDEKMC4wMDE5MDExNAkxMTM6MTEzCjAuMDAxOTAxMTQJNTExMjo1MTEyCjAuMDAxOTAxMTQJNTE1MDA6NTE1MDAKMC4wMDE5MDExNAkzMDIxMDozMDIxMAowLjAwMTkwMTE0CTMzNDozMzQKMC4wMDE5MDExNAkxMTk6MTE5CjAuMDAxOTAxMTQJMzA3NzozMDc3CjAuMDAxMjY3NDMJODkwMDo4OTAwCjAuMDAxMjY3NDMJOTA6OTAKMC4wMDEyNjc0Mwk0NTU1OjQ1NTUKMC4wMDEyNjc0MwkzMDAxOjMwMDEKMC4wMDEyNjc0Mwk1MTc3MDo1MTc3MAowLjAwMTI2NzQzCTg3Mjo4NzIKMC4wMDEyNjc0Mwk2NjAwOjY2MDAKMC4wMDEyNjc0MwkxMTE6MTExCjAuMDAxMjY3NDMJNjAwMDo2MDAwCjAuMDAxMjY3NDMJNTAxMDo1MDEwCjAuMDAxMjY3NDMJMzAwNTozMDA1CjAuMDAxMjY3NDMJMzAwNDozMDA0CjAuMDAxMjY3NDMJMjAwMDA6MjAwMDAKMC4wMDEyNjc0MwkzMDA4OjMwMDgKMC4wMDEyNjc0MwkwOjAKMC4wMDEyNjc0Mwk3NTA6NzUwCjAuMDAxMjY3NDMJMzgzOjM4MwowLjAwMTI2NzQzCTk0NDM6OTQ0MwowLjAwMTI2NzQzCTU5MDI6NTkwMgowLjAwMTI2NzQzCTM4MjozODIKMC4wMDEyNjc0MwkzMTA4OjMxMDgKMC4wMDA2MzM3MQkyMDU1NToyMDU1NQowLjAwMDYzMzcxCTI1MDI3OjI1MDI3CjAuMDAwNjMzNzEJMzAwMDA6MzAwMDAKMC4wMDA2MzM3MQkyNTE0NDoyNTE0NAowLjAwMDYzMzcxCTI4NTI6Mjg1MgowLjAwMDYzMzcxCTE4OTkyOjE4OTkyCjAuMDAwNjMzNzEJMjg1MzoyODUzCjAuMDAwNjMzNzEJMjg2MjoyODYyCjAuMDAwNjMzNzEJNTAwMDA6NTAwMDAKMC4wMDA2MzM3MQkyMjAwMDoyMjAwMAowLjAwMDYzMzcxCTI1MDI1OjI1MDI1CjAuMDAwNjMzNzEJMTkwMDA6MTkwMDAKMC4wMDA2MzM3MQkyMDQ5OjIwNDkKMC4wMDA2MzM3MQk0NDQzOjQ0NDMKMC4wMDA2MzM3MQk4MDQ0OjgwNDQKMC4wMDA2MzM3MQk1MTc1Mjo1MTc1MgowLjAwMDYzMzcxCTMxMzM3OjMxMzM3CjAuMDAwNjMzNzEJMjg2MzoyODYzCjAuMDAwNjMzNzEJMjI6MjIKMC4wMDA2MzM3MQkzMzM0OjMzMzQKMC4wMDA2MzM3MQkxMjE6MTIxCjAuMDAwNjMzNzEJNDQzOTo0NDM5CjAuMDAwNjMzNzEJNTAyMDo1MDIwCjAuMDAwNjMzNzEJMjEyMToyMTIxCjAuMDAwNjMzNzEJNTQzOjU0MwowLjAwMDYzMzcxCTU0NDo1NDQKMC4wMDA2MzM3MQk3MTQxOjcxNDEKMC4wMDA2MzM3MQk4MzU4OjgzNTgKMC4wMDA2MzM3MQkzMjA2OjMyMDYKMC4wMDA2MzM3MQkxMTA6MTEwCjAuMDAwNjMzNzEJMTk3MToxOTcxCjAuMDAwNjMzNzEJMTUyMToxNTIxCjAuMDAwNjMzNzEJNDc0Nzo0NzQ3CjAuMDAwNjMzNzEJMTk3MjoxOTcyCjAuMDAwNjMzNzEJMTAyNToxMDI1CjAuMDAwNjMzNzEJNTQ1OjU0NQowLjAwMDYzMzcxCTQ0NjQ1OjQ0NjQ1CjAuMDAwNjMzNzEJNTE2Njo1MTY2CjAuMDAwNjMzNzEJNTE2MDo1MTYwCjAuMDAwNjMzNzEJNTE3Mzo1MTczCjAuMDAwNjMzNzEJNTE3MDo1MTcwCjAuMDAwNjMzNzEJNTE1NDo1MTU0CjAuMDAwNjMzNzEJNTE0OTo1MTQ5CjAuMDAwNjMzNzEJNTE1ODo1MTU4CjAuMDAwNjMzNzEJMTk4MDoxOTgwCjAuMDAwNjMzNzEJNTcwOjU3MAowLjAwMDYzMzcxCTczNTg6NzM1OAowLjAwMDYzMzcxCTQ0Njo0NDYKMC4wMDA2MzM3MQk1ODEwOjU4MTAKMC4wMDA2MzM3MQk1MDM1OjUwMzUKMC4wMDA2MzM3MQk2MDAxOjYwMDEKIwotd2Nfd2MKMCwwLjAyNzAyNzAzCTAsMS4wMDAwMDAwMAoxMywwLjAxMzUxMzUxCTEzLDEuMDAwMDAwMDAKMTQsMC4wMDQ1MDQ1MAkxNCwxLjAwMDAwMDAwCjE1LDAuMDA0NTA0NTAJMTUsMS4wMDAwMDAwMAoxNiwwLjAwNDUwNDUwCTE2LDEuMDAwMDAwMDAKMTcsMC4wMDQ1MDQ1MAkxNywxLjAwMDAwMDAwCjIwLDAuMDA0NTA0NTAJMCwxLjAwMDAwMDAwCjI0LDAuMDcyMDcyMDcJMCwwLjkzNzUwMDAwCTI0LDAuMDYyNTAwMDAKMjgsMC4wMDQ1MDQ1MAkwLDEuMDAwMDAwMDAKMzIsMC4xMzA2MzA2MwkwLDAuODk2NTUxNzMJMzIsMC4xMDM0NDgyOAo0NSwwLjEzNTEzNTEzCTEzLDEuMDAwMDAwMDAKNDYsMC4wNDUwNDUwNAkxNCwxLjAwMDAwMDAwCjQ3LDAuMDQ5NTQ5NTUJMTUsMC45MDkwOTA5NAkyMywwLjA5MDkwOTA5CjQ4LDAuMDkwMDkwMDkJMTYsMS4wMDAwMDAwMAo1MSwwLjA0NTA0NTA0CTE5LDEuMDAwMDAwMDAKNTYsMC4xNzU2NzU2OAkyNCwxLjAwMDAwMDAwCjU4LDAuMDEzNTEzNTEJMjcsMS4wMDAwMDAwMAo1OSwwLjEzNTEzNTEzCTI3LDEuMDAwMDAwMDAKNjIsMC4wMzE1MzE1MwkzMCwxLjAwMDAwMDAwCjY0LDAuMDA5MDA5MDEJMzIsMS4wMDAwMDAwMAojCi13Y19oaQowLDAuMDAzMDAzMDAJMCwxLjAwMDAwMDAwCjI0LDAuMDE4MDE4MDIJMCwwLjgzMzMzMzMxCTI0LDAuMTY2NjY2NjcKMjYsMC4wMDMwMDMwMAkwLDEuMDAwMDAwMDAKMjcsMC4wMTgwMTgwMgkwLDAuMzMzMzMzMzQJMjcsMC42NjY2NjY2OQozMSwwLjAwMzAwMzAwCTAsMS4wMDAwMDAwMAozMiwwLjE0NzE0NzE1CTAsMC45Mzg3NzU1NAkzMiwwLjA2MTIyNDQ5CjQ4LDAuMDEyMDEyMDEJMTYsMS4wMDAwMDAwMAo0OSwwLjAwNjAwNjAxCTE3LDEuMDAwMDAwMDAKNTEsMC4wMDYwMDYwMQkxOSwxLjAwMDAwMDAwCjUyLDAuMDA2MDA2MDEJMjAsMS4wMDAwMDAwMAo1NCwwLjAwNjAwNjAxCTIyLDEuMDAwMDAwMDAKNTUsMC4wNDUwNDUwNAkyMywxLjAwMDAwMDAwCjU2LDAuMTY4MTY4MTcJMjQsMC45MTA3MTQyNwkyNSwwLjAzNTcxNDI5CTMyLDAuMDUzNTcxNDMKNTcsMC4wNDIwNDIwNAkyNSwwLjcxNDI4NTczCTI2LDAuMjg1NzE0MzAKNTgsMC4wNjMwNjMwNgkyNiwwLjcxNDI4NTczCTI3LDAuMjg1NzE0MzAKNTksMC4wNjkwNjkwNwkyNywwLjk1NjUyMTc1CTMyLDAuMDQzNDc4MjYKNjIsMC4wMTUwMTUwMgkzMCwwLjgwMDAwMDAxCTMxLDAuMjAwMDAwMDAKNjMsMC4wMDkwMDkwMQkzMiwxLjAwMDAwMDAwCjY0LDAuMzYwMzYwMzUJMzIsMS4wMDAwMDAwMAojCi1oaV93YwojCi1oaV9oaQojCi13Y19sbwojCi1sb193YwojCi1oaV9sbwojCi1sb19oaQojCi1sb19sbwojCi13Y19hcgowLDAuMDAzNzczNTgJMCwxLjAwMDAwMDAwCjgsMC4wMDM3NzM1OAk4LDEuMDAwMDAwMDAKMTIsMC4wMDc1NDcxNwkxMiwxLjAwMDAwMDAwCjE2LDAuMDE4ODY3OTIJMTYsMS4wMDAwMDAwMAoxOSwwLjAwMzc3MzU4CTE5LDEuMDAwMDAwMDAKMjEsMC4wNDE1MDk0MwkyMSwxLjAwMDAwMDAwCjIzLDAuMDQ1MjgzMDIJMjMsMS4wMDAwMDAwMAoyNCwwLjEwOTQzMzk2CTI0LDEuMDAwMDAwMDAKMjcsMC4wMDM3NzM1OAkyNywxLjAwMDAwMDAwCjMxLDAuMDAzNzczNTgJMCwxLjAwMDAwMDAwCjMyLDAuMDMzOTYyMjYJMCwxLjAwMDAwMDAwCjQ1LDAuMDExMzIwNzUJMTMsMS4wMDAwMDAwMAo0NiwwLjAwMzc3MzU4CTE0LDEuMDAwMDAwMDAKNDcsMC4wMDM3NzM1OAkxNSwxLjAwMDAwMDAwCjQ4LDAuMDIyNjQxNTEJMTYsMS4wMDAwMDAwMAo0OSwwLjAwNzU0NzE3CTE3LDEuMDAwMDAwMDAKNTEsMC4wMDc1NDcxNwkxOSwxLjAwMDAwMDAwCjUyLDAuMDAzNzczNTgJMjAsMS4wMDAwMDAwMAo1MywwLjAxODg2NzkyCTIxLDAuMjAwMDAwMDAJMjYsMC4yMDAwMDAwMAkyNywwLjYwMDAwMDAyCjU0LDAuMDYwMzc3MzYJMjIsMC4wNjI1MDAwMAkyNywwLjkzNzUwMDAwCjU1LDAuMDQxNTA5NDMJMjMsMS4wMDAwMDAwMAo1NiwwLjEwOTQzMzk2CTI0LDAuOTY1NTE3MjIJMjUsMC4wMzQ0ODI3Ngo1NywwLjAzMzk2MjI2CTI1LDAuNjY2NjY2NjkJMjYsMC4zMzMzMzMzNAo1OCwwLjA1NjYwMzc3CTI2LDAuODAwMDAwMDEJMjcsMC4yMDAwMDAwMAo1OSwwLjAzMDE4ODY4CTI3LDAuODc1MDAwMDAJMzIsMC4xMjUwMDAwMAo2MCwwLjAwMzc3MzU4CTI5LDEuMDAwMDAwMDAKNjEsMC4wMTEzMjA3NQkyOSwwLjY2NjY2NjY5CTMwLDAuMzMzMzMzMzQKNjIsMC4wMTg4Njc5MgkzMCwwLjIwMDAwMDAwCTMxLDAuODAwMDAwMDEKNjMsMC4wMzAxODg2OAkzMSwwLjM3NTAwMDAwCTMyLDAuNjI1MDAwMDAKNjQsMC4yNDkwNTY2MQkzMiwxLjAwMDAwMDAwCiMKLWFyX3djCiMKLWhpX2FyCiMKLWFyX2hpCiMKLXdjX2VtCjAsMC4wMDI1MzQ4NQkwLDEuMDAwMDAwMDAKMjEsMC4wMTE0MDY4NAkyMSwxLjAwMDAwMDAwCjIzLDAuMDEyNjc0MjcJMjMsMS4wMDAwMDAwMAoyNCwwLjAzMTA1MTk3CTI0LDEuMDAwMDAwMDAKMjYsMC4wMDA2MzM3MQkyNiwxLjAwMDAwMDAwCjI3LDAuMDAzMTY4NTcJMCwwLjgwMDAwMDAxCTI3LDAuMjAwMDAwMDAKMjksMC4wMDA2MzM3MQkwLDEuMDAwMDAwMDAKMzIsMC4wNjE0NzAyMQkwLDAuODc2Mjg4NjUJMTYsMC4xMDMwOTI3OAkzMiwwLjAyMDYxODU2CjM5LDAuMDAxMjY3NDMJMTIsMS4wMDAwMDAwMAo0MCwwLjAwODg3MTk5CTEzLDEuMDAwMDAwMDAKNDEsMC4wMDU3MDM0MgkxMywwLjU1NTU1NTU4CTE0LDAuNDQ0NDQ0NDUKNDIsMC4wMDUwNjk3MQkxMiwwLjI1MDAwMDAwCTE0LDAuMTI1MDAwMDAJMTUsMC42MjUwMDAwMAo0MywwLjAwNzYwNDU2CTE1LDAuMTY2NjY2NjcJMTYsMC44MzMzMzMzMQo0NCwwLjAxMDc3MzEzCTEyLDAuOTQxMTc2NDcJMTYsMC4wNTg4MjM1Mwo0NiwwLjAwMjUzNDg1CTE2LDAuNTAwMDAwMDAJMTksMC41MDAwMDAwMAo0NywwLjAwMTkwMTE0CTIwLDEuMDAwMDAwMDAKNDgsMC4wNTUxMzMwOAkxNiwwLjk4ODUwNTcyCTIwLDAuMDExNDk0MjUKNDksMC4wMDY5NzA4NQkxNywwLjE4MTgxODE5CTIyLDAuMjcyNzI3MjgJMjcsMC41NDU0NTQ1Ngo1MCwwLjAxMDEzOTQyCTIyLDAuMDYyNTAwMDAJMjMsMC45Mzc1MDAwMAo1MSwwLjA0ODE2MjIzCTE5LDAuMzU1MjYzMTQJMjMsMC4wNjU3ODk0OAkyNCwwLjQyMTA1MjYzCTI3LDAuMTU3ODk0NzMKNTIsMC4wMDk1MDU3MAkyMCwwLjEzMzMzMzM0CTI0LDAuNzMzMzMzMzUJMjYsMC4xMzMzMzMzNAo1MywwLjAzMjMxOTM5CTIxLDAuNDkwMTk2MDgJMjYsMC4wOTgwMzkyMgkyNywwLjQxMTc2NDcxCjU0LDAuMDU3MDM0MjIJMjIsMC4wNTU1NTU1NgkyMywwLjAxMTExMTExCTI3LDAuOTMzMzMzMzQKNTUsMC4wMzM1ODY4MgkyMywwLjkyNDUyODMwCTI0LDAuMDc1NDcxNzAKNTYsMC4xMDcwOTc1OQkyNCwwLjk3NjMzMTM1CTI1LDAuMDIzNjY4NjQKNTcsMC4wMTgzNzc2OQkyNSwwLjY4OTY1NTE4CTI2LDAuMjc1ODYyMDcJMjcsMC4wMzQ0ODI3Ngo1OCwwLjA2MTQ3MDIxCTI2LDAuODU1NjcwMDkJMjcsMC4xMDMwOTI3OAkyOSwwLjA0MTIzNzExCjU5LDAuMDQ4Nzk1OTUJMjcsMC43OTIyMDc3OAkyOSwwLjAyNTk3NDAzCTMyLDAuMTgxODE4MTkKNjAsMC4wMzIzMTkzOQkyOCwwLjY4NjI3NDUzCTI5LDAuMTk2MDc4NDMJMzEsMC4wMzkyMTU2OQkzMiwwLjA3ODQzMTM4CjYxLDAuMDI0NzE0ODMJMjksMC44OTc0MzU5MAkzMSwwLjEwMjU2NDEwCjYyLDAuMDAyNTM0ODUJMzAsMC43NTAwMDAwMAkzMiwwLjI1MDAwMDAwCjYzLDAuMDE4Mzc3NjkJMzEsMC44OTY1NTE3MwkzMiwwLjEwMzQ0ODI4CjY0LDAuMjY2MTU5NjgJMzIsMS4wMDAwMDAwMAojCi1lbV93YwojCi1oaV9lbQojCi1lbV9oaQowLDAuNTAwMDAwMDAJMCwxLjAwMDAwMDAwCjY0LDAuNTAwMDAwMDAJMzIsMS4wMDAwMDAwMAojCi1sb19hcgojCi1hcl9sbwojCi1sb19lbQojCi1lbV9sbwojCi1hcl9hcgojCi1hcl9lbQojCi1lbV9hcgojCi1lbV9lbQojCi1zbmVzdAo2CiMKLXNza2V3CjAJMC4wMDAwMDAwMAkxLjAwMDAwMDAwCTAuMTI1ODU2MTYKMQkwLjAwMDAwMDAwCTEuMDAwMDAwMDAJMC43NDM4ODA4NwoyCTAuMDAwMDAwMDAJMS4wMDAwMDAwMAkwLjc1MTA4NDgwCjMJMC41MDAwMDAwMAkwLjUwMDAwMDAwCTAuMzcxMjYzMzMKNAkwLjQxNjY2NjY2CTAuNTgzMzMzMzEJMC44MjAzMDk5NAo1CTAuNjg0MjEwNTQJMC4zMTU3ODk0NgkwLjkzNDQ2MjEzCjYJMC44MDAwMDAwMQkwLjIwMDAwMDAwCTAuOTUzOTQxMzUKNwkwLjg5OTk5OTk4CTAuMTAwMDAwMDAJMC45MzM0MjA0Mgo4CTAuODQ4NDg0ODcJMC4xNTE1MTUxNgkwLjc1NzQzMzE4CjkJMC44OTQ3MzY4MwkwLjEwNTI2MzE2CTAuNjkyNzU5MDQKMTAJMC44ODA5NTIzNgkwLjExOTA0NzYyCTAuMzEwNzY4NzUKMTEJMS4wMDAwMDAwMAkwLjAwMDAwMDAwCTEuMDAwMDAwMDAKMTIJMC45NTY1MjE3NQkwLjA0MzQ3ODI2CTAuNjc1MDAwMDEKMTMJMS4wMDAwMDAwMAkwLjAwMDAwMDAwCTEuMDAwMDAwMDAKMTQJMS4wMDAwMDAwMAkwLjAwMDAwMDAwCTEuMDAwMDAwMDAKMTUJMS4wMDAwMDAwMAkwLjAwMDAwMDAwCTEuMDAwMDAwMDAKMTYJMC44MTM5NTM0NgkwLjE4NjA0NjUxCTAuNjAzOTA0NjAKMTcJMC44NjI3NDUxMQkwLjEzNzI1NDkxCTAuNTkwNTQ2NTUKMTgJMC44MTAzNDQ4MgkwLjE4OTY1NTE3CTAuNzE5NTU1NjIKMTkJMC43ODI2MDg2OQkwLjIxNzM5MTMwCTAuNjY2ODUzNzMKMjAJMC44MjE0Mjg2MAkwLjE3ODU3MTQzCTAuNTYwMTU3MjQKMjEJMC44MjY1MzA2NAkwLjE3MzQ2OTM4CTAuNTY3MDUwMTYKMjIJMC43NzE5Mjk4MAkwLjIyODA3MDE4CTAuNDg4NzIzMDEKMjMJMC44NTQ5NjE4MQkwLjE0NTAzODE3CTAuNTg0Njk4MjAKMjQJMC44Mjc1ODYyMwkwLjE3MjQxMzgxCTAuNjI1MzgyNjAKMjUJMC43OTg1MDc0NQkwLjIwMTQ5MjUzCTAuNDIxNTUxNTkKMjYJMC44NTQxNjY2OQkwLjE0NTgzMzM0CTAuNTI4NDExOTgKMjcJMC44ODU5MDYwNAkwLjExNDA5Mzk1CTAuNDgzNzI4MTQKMjgJMC44NzU3NzY0MQkwLjEyNDIyMzYwCTAuNDU4OTU4MzMKMjkJMC44NDQ4Mjc1OQkwLjE1NTE3MjQyCTAuMzY3MjI3NzkKMzAJMC44NDM0MzQzMwkwLjE1NjU2NTY1CTAuMjExOTgxNTYKMzEJMC44NTU4MTM5OAkwLjE0NDE4NjA1CTAuMjA3NTM2MzEKMzIJMC4wMDAwMDAwMAkxLjAwMDAwMDAwCTAuMjA3NTM2MzEKIwotZG5lc3QKNAojCi1kc2tldwowCTAuMDAwMDAwMDAJMS4wMDAwMDAwMAkwLjU3MDA0NTIzCjEJMC4wMDAwMDAwMAkxLjAwMDAwMDAwCTAuNzQzMTA3NjgKMgkwLjAwMDAwMDAwCTEuMDAwMDAwMDAJMC41NjAxODM4OAozCTAuMzc1MDAwMDAJMC42MjUwMDAwMAkwLjY5MjY3Njc4CjQJMC42OTIzMDc3MQkwLjMwNzY5MjMyCTAuODY5ODEyMjUKNQkwLjgyMzUyOTQyCTAuMTc2NDcwNTkJMC42Njk1MTk0OAo2CTAuOTQ5OTk5OTkJMC4wNTAwMDAwMAkwLjI5NDExNzYzCjcJMC45NTIzODA5NgkwLjA0NzYxOTA1CTAuODQ3ODI2MTIKOAkwLjgxODE4MTgxCTAuMTgxODE4MTkJMC41MzE0MDcwMAo5CTAuODg0NjE1MzYJMC4xMTUzODQ2MgkwLjU5NzI4MzkwCjEwCTAuODk2NTUxNzMJMC4xMDM0NDgyOAkwLjkzNTAxODM2CjExCTAuOTY4NzUwMDAJMC4wMzEyNTAwMAkwLjExMTExMTEwCjEyCTAuOTY5Njk3MDAJMC4wMzAzMDMwMwkwLjgwMDAwMDAxCjEzCTEuMDAwMDAwMDAJMC4wMDAwMDAwMAkxLjAwMDAwMDAwCjE0CTEuMDAwMDAwMDAJMC4wMDAwMDAwMAkxLjAwMDAwMDAwCjE1CTEuMDAwMDAwMDAJMC4wMDAwMDAwMAkxLjAwMDAwMDAwCjE2CTAuNjE3NjQ3MDUJMC4zODIzNTI5NQkwLjU5ODc2MTE0CjE3CTAuNzg3MjM0MDcJMC4yMTI3NjU5NgkwLjcyOTg5OTQ3CjE4CTAuNjg0MjEwNTQJMC4zMTU3ODk0NgkwLjU3NjU3MzI1CjE5CTAuODAwMDAwMDEJMC4yMDAwMDAwMAkwLjUzMDU1NDEyCjIwCTAuNzMwMzM3MDgJMC4yNjk2NjI5NQkwLjY2ODUyMDkzCjIxCTAuNzY5OTExNTMJMC4yMzAwODg1MAkwLjU3MjM1MDc0CjIyCTAuODA4ODIzNTMJMC4xOTExNzY0NgkwLjUzNzI5MTQxCjIzCTAuODY0MTk3NTUJMC4xMzU4MDI0NgkwLjU4MTc2MTQ4CjI0CTAuNzc5ODc0MjEJMC4yMjAxMjU3OAkwLjU4NDU2MzAyCjI1CTAuODg2NTk3OTMJMC4xMTM0MDIwNgkwLjUxMjQ1MTA1CjI2CTAuODU1ODEzOTgJMC4xNDQxODYwNQkwLjYxMjEyODg1CjI3CTAuODI4MzI2MTcJMC4xNzE2NzM4MAkwLjU1MzIyNzg0CjI4CTAuODIxNTYxMzQJMC4xNzg0Mzg2NgkwLjM3NjM3MzMyCjI5CTAuODY5MDA5NTUJMC4xMzA5OTA0MgkwLjQyOTg4Njc5CjMwCTAuODQ3NzAxMTMJMC4xNTIyOTg4NQkwLjI1MzY5OTQyCjMxCTAuOTI2MjA4NjcJMC4wNzM3OTEzNQkwLjI4NjMzMDA0CjMyCTAuMDAwMDAwMDAJMS4wMDAwMDAwMAkwLjI4NjMzMDA0CiMKLXBjb3JyCjEJMC40NjkwMTMzOQoyCTAuMjkxNzU0NzUKMwkwLjUyMTczOTEzCjQJMC4wMjA4MzMzMwo1CTAuNjY2NjY2NjkKNgkwLjAwMDAwMDAwCjcJMC4wMDAwMDAwMAo4CTAuMDAwMDAwMDAKOQkwLjAwMDAwMDAwCjEwCTAuMDAwMDAwMDAKMTEJMC4wMDAwMDAwMAoxMgkwLjAwMDAwMDAwCjEzCTAuMDAwMDAwMDAKMTQJMC4wMDAwMDAwMAoxNQkwLjAwMDAwMDAwCjE2CTAuMDAwMDAwMDAKMTcJMC4wMDAwMDAwMAoxOAkwLjAwMDAwMDAwCjE5CTAuMDAwMDAwMDAKMjAJMC4wMDAwMDAwMAoyMQkwLjAwMDAwMDAwCjIyCTAuMDAwMDAwMDAKMjMJMC4wMDAwMDAwMAoyNAkwLjAwMDAwMDAwCjI1CTAuMDAwMDAwMDAKMjYJMC4wMDAwMDAwMAoyNwkwLjAwMDAwMDAwCjI4CTAuMDAwMDAwMDAKMjkJMC4wMDAwMDAwMAozMAkwLjAwMDAwMDAwCjMxCTAuMDAwMDAwMDAKMzIJMC4wMDAwMDAwMAojCg=="
  Base64.strict_decode64(seed3)
end

#parse_openflow(lines) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/classbench/analyser.rb', line 16

def parse_openflow(lines)
  lines.split("\n").each do |line|
    # Array of arrays ... [["dl_dst", "fa:16:3e:91:c3:01", ","], ["nw_src", "255.255.255.255", ","],
    attributes = line.scan(/([a-z_\-]+)=([A-Za-z0-9\-_:\.\/]+)(,|\w)?/).
              keep_if {|a| INTERESTING_ATTRIBUTES.include?(a.first) }

    next if attributes.empty?

    rule = {}
    attributes.each do |attr|
      if INTERESTING_ATTRIBUTES.include? attr.first
        rule[attr.first] = attr[1]
      end
    end
    self.rules << Rule.new(rule)
  end
end