Openflow: Add support of openflow 1.5 (v6)

Copy from dissector 1.4 (v5)

Bug: 13702
Change-Id: I2ae5b620e6ff1626c69f8fac6184244399e297de
Reviewed-on: https://code.wireshark.org/review/21641
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Alexis La Goutte 2017-05-14 16:06:12 +02:00 committed by Anders Broman
parent d5635bcb0a
commit 8082e7ceea
4 changed files with 9925 additions and 0 deletions

View File

@ -1017,6 +1017,7 @@ set(DISSECTOR_SRC
packet-openflow_v1.c
packet-openflow_v4.c
packet-openflow_v5.c
packet-openflow_v6.c
packet-opensafety.c
packet-openthread.c
packet-openvpn.c

View File

@ -1039,6 +1039,7 @@ DISSECTOR_SRC = \
packet-openflow_v1.c \
packet-openflow_v4.c \
packet-openflow_v5.c \
packet-openflow_v6.c \
packet-opensafety.c \
packet-openthread.c \
packet-openvpn.c \

View File

@ -44,6 +44,7 @@ static dissector_handle_t openflow_handle;
static dissector_handle_t openflow_v1_handle;
static dissector_handle_t openflow_v4_handle;
static dissector_handle_t openflow_v5_handle;
static dissector_handle_t openflow_v6_handle;
/* Initialize the protocol and registered fields */
static int proto_openflow = -1;
@ -58,6 +59,7 @@ static gboolean openflow_desegment = TRUE;
#define OFP_VERSION_1_2 3
#define OFP_VERSION_1_3 4
#define OFP_VERSION_1_4 5
#define OFP_VERSION_1_5 6
static const value_string openflow_version_values[] = {
{ 0x01, "1.0" },
@ -97,6 +99,9 @@ dissect_openflow_tcp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
case OFP_VERSION_1_4:
call_dissector(openflow_v5_handle, tvb, pinfo, tree);
break;
case OFP_VERSION_1_5:
call_dissector(openflow_v6_handle, tvb, pinfo, tree);
break;
default:
ti = proto_tree_add_item(tree, hf_openflow_version, tvb, offset, 1, ENC_BIG_ENDIAN);
expert_add_info(pinfo, ti, &ei_openflow_version);
@ -196,6 +201,7 @@ proto_reg_handoff_openflow(void)
openflow_v1_handle = find_dissector_add_dependency("openflow_v1", proto_openflow);
openflow_v4_handle = find_dissector_add_dependency("openflow_v4", proto_openflow);
openflow_v5_handle = find_dissector_add_dependency("openflow_v5", proto_openflow);
openflow_v6_handle = find_dissector_add_dependency("openflow_v6", proto_openflow);
}
/*

File diff suppressed because it is too large Load Diff