Skip to content
This repository has been archived by the owner on Apr 22, 2024. It is now read-only.

Match fix #392

Closed
wants to merge 19 commits into from
Closed

Match fix #392

wants to merge 19 commits into from

Conversation

erickvermot
Copy link
Contributor

@erickvermot erickvermot commented Jul 5, 2017

This relates to #348.
It implements Match, MatchFields, OxmTLV and CustomTLV classes for use in PACKETINs.
The other structures affected in the issue (like ActionSetField for example) have not yet been treated. [UPDATE: I have included a commit to fix ActionSetField]

I'll still organize the commits, remove comments, update the docstrings, and organize a few tests I've made to include in the testing suite.
Please for now include comments in the PR comments tread since these commits will probably be overwritten by amended ones.

This was tested unpacking a packet-in described in the email reporting a packet-in unpack exception:

——————— Packet In ————————— —
Transmission Control Protocol, Src Port: 55566, Dst Port: 6633, Seq:
172, Ack: 25, Len: 123
OpenFlow 1.3
Version: 1.3 (0x04)
Type: OFPT_PACKET_IN (10)
Length: 123
Transaction ID: 0
Buffer ID: 257
Total length: 81
Reason: OFPR_ACTION (1)
Table ID: 0
Cookie: 0xffffffffffffffff
Match
Type: OFPMT_OXM (1)
Length: 12
OXM field
Class: OFPXMC_OPENFLOW_BASIC (0x8000)
0000 000. = Field: OFPXMT_OFB_IN_PORT (0)
.... ...0 = Has mask: False
Length: 4
Value: 22
Pad: 00000000
Pad: 0000
Data

@erickvermot
Copy link
Contributor Author

Commits are separated. I'll make the docstrings and tests tomorrow.

@erickvermot erickvermot requested a review from cemsbr July 5, 2017 22:28
@erickvermot
Copy link
Contributor Author

erickvermot commented Jul 11, 2017

I'll finish the tests once #404 is accepted to avoid keeping too much dependencies
+ there are too many problems with the tests that need fixing in order for this PR to pass the tests, so it's better to wait for #404.

from argument treatment (work_or_pass)

It implements work_or_pass for GenericStruct and GenericType
and make derivatives (like TypeList) use original pack/get_size funcs.

This makes possible to implement _pack/_get_size and leave argument treatment
and docstring to original GenericType/GenericStruct pack/get_size method

include _ for customTLV and typeList pack and get_size funcs
@erickvermot erickvermot mentioned this pull request Jul 13, 2017
@erickvermot
Copy link
Contributor Author

[UPDATE: I have included a commit to fix ActionSetField], see first comment.

@erickvermot
Copy link
Contributor Author

@cemsbr and @diraol reimplemented another solution to this issue as another branch,
they will make another PR, so this must be closed.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant