% LACP unit tests # # Type the following command to launch start the tests: # $ test/run_tests -P "load_contrib('lacp')" -t scapy/contrib/lacp.uts + LACP = Build & dissect LACP # 1 0.000000 CiscoInc_12:0f:0d Slow-Protocols LACP 124 Link Aggregation Control ProtocolVersion 1. Actor Port = 22 Partner Port = 25 params = dict( actor_system_priority=32768, actor_system='00:13:c4:12:0f:00', actor_key=13, actor_port_priority=32768, actor_port_numer=22, actor_state=0x85, partner_system_priority=32768, partner_system='00:0e:83:16:f5:00', partner_key=13, partner_port_priority=32768, partner_port_numer=25, partner_state=0x36, collector_max_delay=32768, ) pkt = Ether(src="00:13:c4:12:0f:0d") / SlowProtocol() / LACP(**params) s = raw(pkt) raw_pkt = b'\x01\x80\xc2\x00\x00\x02\x00\x13\xc4\x12\x0f\x0d\x88\x09\x01\x01\x01\x14\x80' \ b'\x00\x00\x13\xc4\x12\x0f\x00\x00\x0d\x80\x00\x00\x16\x85\x00\x00\x00\x02\x14' \ b'\x80\x00\x00\x0e\x83\x16\xf5\x00\x00\x0d\x80\x00\x00\x19\x36\x00\x00\x00\x03' \ b'\x10\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' \ b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' \ b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' \ b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' assert(s == raw_pkt) p = Ether(s) assert(SlowProtocol in p and LACP in p) assert(raw(p) == raw_pkt) = Marker sanity pkt = Ether(src="00:13:c4:12:0f:0d") / SlowProtocol() / MarkerProtocol() pkt.show() s = raw(pkt) p = Ether(s) assert(SlowProtocol in p and MarkerProtocol in p) assert(raw(p) == s)