|
1
|
|
|
"""MultipartReply message test.""" |
|
2
|
|
|
|
|
3
|
|
|
from pyof.foundation.basic_types import HWAddress |
|
4
|
|
|
from pyof.v0x04.common.port import ( |
|
5
|
|
|
ListOfPorts, Port, PortConfig, PortFeatures, PortNo, PortState) |
|
6
|
|
|
from pyof.v0x04.controller2switch.common import MultipartType |
|
7
|
|
|
from pyof.v0x04.controller2switch.multipart_reply import MultipartReply |
|
8
|
|
|
from tests.test_struct import TestStruct |
|
9
|
|
|
|
|
10
|
|
|
|
|
11
|
|
|
class TestPortDesc(TestStruct): |
|
12
|
|
|
"""Test PortDesc.""" |
|
13
|
|
|
|
|
14
|
|
|
@classmethod |
|
15
|
|
|
def setUpClass(cls): |
|
16
|
|
|
"""Configure raw file and its object in parent class (TestDump).""" |
|
17
|
|
|
mp_type = MultipartType.OFPMP_PORT_DESC |
|
18
|
|
|
super().setUpClass() |
|
19
|
|
|
super().set_raw_dump_file('v0x04', 'ofpt_port_desc') |
|
20
|
|
|
super().set_raw_dump_object(MultipartReply, xid=1917225664, |
|
21
|
|
|
multipart_type=mp_type, |
|
22
|
|
|
flags=0, |
|
23
|
|
|
body=_get_body()) |
|
24
|
|
|
super().set_minimum_size(16) |
|
25
|
|
|
|
|
26
|
|
|
|
|
27
|
|
|
def _get_body(): |
|
28
|
|
|
"""Return the body used by MultipartReply message.""" |
|
29
|
|
|
port1 = Port(port_no=PortNo.OFPP_LOCAL, |
|
30
|
|
|
hw_addr=HWAddress('5a:ee:a5:a0:62:4f'), |
|
31
|
|
|
name='s1', |
|
32
|
|
|
config=PortConfig.OFPPC_PORT_DOWN, |
|
33
|
|
|
state=PortState.OFPPS_LINK_DOWN, |
|
34
|
|
|
curr=0, |
|
35
|
|
|
advertised=0, |
|
36
|
|
|
supported=0, |
|
37
|
|
|
peer=0, |
|
38
|
|
|
curr_speed=0, |
|
39
|
|
|
max_speed=0) |
|
40
|
|
|
port2 = Port(port_no=1, |
|
41
|
|
|
hw_addr=HWAddress('4e:bf:ca:27:8e:ca'), |
|
42
|
|
|
name='s1-eth1', |
|
43
|
|
|
config=0, |
|
44
|
|
|
state=PortState.OFPPS_LIVE, |
|
45
|
|
|
curr=PortFeatures.OFPPF_10GB_FD | PortFeatures.OFPPF_COPPER, |
|
46
|
|
|
advertised=0, |
|
47
|
|
|
supported=0, |
|
48
|
|
|
peer=0, |
|
49
|
|
|
curr_speed=10000000, |
|
50
|
|
|
max_speed=0) |
|
51
|
|
|
port3 = Port(port_no=2, |
|
52
|
|
|
hw_addr=HWAddress('26:1f:b9:5e:3c:c7'), |
|
53
|
|
|
name='s1-eth2', |
|
54
|
|
|
config=0, |
|
55
|
|
|
state=PortState.OFPPS_LIVE, |
|
56
|
|
|
curr=PortFeatures.OFPPF_10GB_FD | PortFeatures.OFPPF_COPPER, |
|
57
|
|
|
advertised=0, |
|
58
|
|
|
supported=0, |
|
59
|
|
|
peer=0, |
|
60
|
|
|
curr_speed=10000000, |
|
61
|
|
|
max_speed=0) |
|
62
|
|
|
lop = ListOfPorts([port1, port2, port3]) |
|
63
|
|
|
return lop |
|
64
|
|
|
|