OpenFlow 1.5: fix port_stats dissector
Change-Id: Id8f078d9f9c327f3e9c2b50daaf23639cad1ae8f Reviewed-on: https://code.wireshark.org/review/25157 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
d19fa31247
commit
ae61319385
|
@ -204,6 +204,33 @@ static int hf_openflow_v6_port_desc_prop_ethernet_peer_pause_asym = -1;
|
|||
static int hf_openflow_v6_port_desc_prop_ethernet_peer_reserved = -1;
|
||||
static int hf_openflow_v6_port_desc_prop_ethernet_curr_speed = -1;
|
||||
static int hf_openflow_v6_port_desc_prop_ethernet_max_speed = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_type = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_length = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_ethernet_pad = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_ethernet_rx_frame_err = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_ethernet_rx_over_err = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_ethernet_rx_crc_err = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_ethernet_collisions = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_pad = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_flags = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_flags_rx_tune = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_flags_tx_tune = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_flags_tx_pwr = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_flags_rx_pwr = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_flags_tx_bias = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_flags_tx_temp = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_tx_freq_lmda = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_tx_offset = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_tx_grid_span = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_rx_freq_lmda = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_rx_offset = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_rx_grid_span = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_tx_pwr = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_rx_pwr = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_bias_current = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_optical_temperature = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_experimenter_experimenter = -1;
|
||||
static int hf_openflow_v6_port_stats_prop_experimenter_exp_type = -1;
|
||||
static int hf_openflow_v6_port_port_no = -1;
|
||||
static int hf_openflow_v6_port_length = -1;
|
||||
static int hf_openflow_v6_port_pad = -1;
|
||||
|
@ -480,8 +507,11 @@ static int hf_openflow_v6_table_stats_pad = -1;
|
|||
static int hf_openflow_v6_table_stats_active_count = -1;
|
||||
static int hf_openflow_v6_table_stats_lookup_count = -1;
|
||||
static int hf_openflow_v6_table_stats_match_count = -1;
|
||||
static int hf_openflow_v6_port_stats_port_no = -1;
|
||||
static int hf_openflow_v6_port_stats_length = -1;
|
||||
static int hf_openflow_v6_port_stats_pad = -1;
|
||||
static int hf_openflow_v6_port_stats_port_no = -1;
|
||||
static int hf_openflow_v6_port_stats_duration_sec = -1;
|
||||
static int hf_openflow_v6_port_stats_duration_nsec = -1;
|
||||
static int hf_openflow_v6_port_stats_rx_packets = -1;
|
||||
static int hf_openflow_v6_port_stats_tx_packets = -1;
|
||||
static int hf_openflow_v6_port_stats_rx_bytes = -1;
|
||||
|
@ -490,12 +520,6 @@ static int hf_openflow_v6_port_stats_rx_dropped = -1;
|
|||
static int hf_openflow_v6_port_stats_tx_dropped = -1;
|
||||
static int hf_openflow_v6_port_stats_rx_errors = -1;
|
||||
static int hf_openflow_v6_port_stats_tx_errors = -1;
|
||||
static int hf_openflow_v6_port_stats_rx_frame_error = -1;
|
||||
static int hf_openflow_v6_port_stats_rx_over_error = -1;
|
||||
static int hf_openflow_v6_port_stats_rx_crc_error = -1;
|
||||
static int hf_openflow_v6_port_stats_collisions = -1;
|
||||
static int hf_openflow_v6_port_stats_duration_sec = -1;
|
||||
static int hf_openflow_v6_port_stats_duration_nsec = -1;
|
||||
static int hf_openflow_v6_queue_stats_length = -1;
|
||||
static int hf_openflow_v6_queue_stats_pad = -1;
|
||||
static int hf_openflow_v6_queue_stats_port_no = -1;
|
||||
|
@ -757,6 +781,8 @@ static gint ett_openflow_v6_port_desc_prop_ethernet_advertised = -1;
|
|||
static gint ett_openflow_v6_port_desc_prop_ethernet_supported = -1;
|
||||
static gint ett_openflow_v6_port_desc_prop_ethernet_peer = -1;
|
||||
static gint ett_openflow_v6_port_desc_prop_optical_supported = -1;
|
||||
static gint ett_openflow_v6_port_stats_prop = -1;
|
||||
static gint ett_openflow_v6_port_stats_prop_optical_flags = -1;
|
||||
static gint ett_openflow_v6_port = -1;
|
||||
static gint ett_openflow_v6_port_config = -1;
|
||||
static gint ett_openflow_v6_port_state = -1;
|
||||
|
@ -829,6 +855,7 @@ static expert_field ei_openflow_v6_oxm_undecoded = EI_INIT;
|
|||
static expert_field ei_openflow_v6_action_undecoded = EI_INIT;
|
||||
static expert_field ei_openflow_v6_instruction_undecoded = EI_INIT;
|
||||
static expert_field ei_openflow_v6_port_desc_prop_undecoded = EI_INIT;
|
||||
static expert_field ei_openflow_v6_port_stats_prop_undecoded = EI_INIT;
|
||||
static expert_field ei_openflow_v6_meter_band_undecoded = EI_INIT;
|
||||
static expert_field ei_openflow_v6_hello_element_undecoded = EI_INIT;
|
||||
static expert_field ei_openflow_v6_error_undecoded = EI_INIT;
|
||||
|
@ -4212,19 +4239,197 @@ dissect_openflow_table_stats_v6(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
|
|||
}
|
||||
|
||||
|
||||
static int
|
||||
dissect_openflow_port_stats_prop_ethernet_v6(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
|
||||
{
|
||||
/* uint8_t pad[4]; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_ethernet_pad, tvb, offset, 4, ENC_NA);
|
||||
offset+=4;
|
||||
|
||||
/* uint64_t rx_frame_error; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_ethernet_rx_frame_err, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
/* uint64_t rx_over_error; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_ethernet_rx_over_err, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
/* uint64_t rx_crc_error; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_ethernet_rx_crc_err, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
/* uint64_t collisions; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_ethernet_collisions, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
#define OFPOSF_RX_TUNE 1<<0
|
||||
#define OFPOSF_TX_TUNE 1<<1
|
||||
#define OFPOSF_TX_PWR 1<<2
|
||||
#define OFPOSF_RX_PWR 1<<3
|
||||
#define OFPOSF_TX_BIAS 1<<4
|
||||
#define OFPOSF_TX_TEMP 1<<6
|
||||
static int
|
||||
dissect_openflow_port_stats_prop_optical_v6(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
|
||||
{
|
||||
proto_item *ti;
|
||||
proto_tree *flags_tree;
|
||||
|
||||
/* uint8_t pad[4]; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_pad, tvb, offset, 4, ENC_NA);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t flags; */
|
||||
ti = proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_flags, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
flags_tree = proto_item_add_subtree(ti, ett_openflow_v6_port_stats_prop_optical_flags);
|
||||
|
||||
proto_tree_add_item(flags_tree, hf_openflow_v6_port_stats_prop_optical_flags_rx_tune, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_openflow_v6_port_stats_prop_optical_flags_tx_tune, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_openflow_v6_port_stats_prop_optical_flags_tx_pwr, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_openflow_v6_port_stats_prop_optical_flags_rx_pwr, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_openflow_v6_port_stats_prop_optical_flags_tx_bias, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_openflow_v6_port_stats_prop_optical_flags_tx_temp, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t tx_freq_lmda; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_tx_freq_lmda, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t tx_offset; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_tx_offset, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t tx_grid_span; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_tx_grid_span, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t rx_freq_lmda; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_rx_freq_lmda, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t rx_offset; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_rx_offset, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t rx_grid_span; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_rx_grid_span, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint16_t tx_pwr; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_tx_pwr, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
|
||||
/* uint16_t rx_pwr; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_rx_pwr, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
|
||||
/* uint16_t bias_current; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_bias_current, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
|
||||
/* uint16_t temperature; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_optical_temperature, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define OFPPSPT_ETHERNET 0
|
||||
#define OFPPSPT_OPTICAL 1
|
||||
#define OFPPSPT_EXPERIMENTER 0xFFFF
|
||||
static const value_string openflow_v6_port_stats_prop_type_values[] = {
|
||||
{ OFPPSPT_ETHERNET, "OFPPSPT_ETHERNET" },
|
||||
{ OFPPSPT_OPTICAL, "OFPPSPT_OPTICAL" },
|
||||
{ OFPPSPT_EXPERIMENTER, "OFPPSPT_EXPERIMENTER" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
dissect_openflow_port_stats_prop_v6(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
|
||||
{
|
||||
proto_tree *prop_tree;
|
||||
guint16 prop_type;
|
||||
guint16 prop_length;
|
||||
|
||||
prop_type = tvb_get_ntohs(tvb, offset);
|
||||
prop_length = tvb_get_ntohs(tvb, offset);
|
||||
|
||||
prop_tree = proto_tree_add_subtree(tree, tvb, offset, prop_length, ett_openflow_v6_port_stats_prop, NULL, "Port stats. property");
|
||||
|
||||
/* uint16_t type; */
|
||||
proto_tree_add_item(prop_tree, hf_openflow_v6_port_stats_prop_type, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
|
||||
/* uint16_t len; */
|
||||
proto_tree_add_item(prop_tree, hf_openflow_v6_port_stats_prop_length, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
|
||||
switch (prop_type) {
|
||||
case OFPPSPT_ETHERNET:
|
||||
offset = dissect_openflow_port_stats_prop_ethernet_v6(tvb, pinfo, prop_tree, offset, length);
|
||||
break;
|
||||
|
||||
case OFPPSPT_OPTICAL:
|
||||
offset = dissect_openflow_port_stats_prop_optical_v6(tvb, pinfo, prop_tree, offset, length);
|
||||
break;
|
||||
|
||||
case OFPPSPT_EXPERIMENTER:
|
||||
/* uint32_t experimenter; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_experimenter_experimenter, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t exp_type; */
|
||||
proto_tree_add_item(tree, hf_openflow_v6_port_stats_prop_experimenter_exp_type, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
proto_tree_add_expert_format(tree, pinfo, &ei_openflow_v6_port_stats_prop_undecoded,
|
||||
tvb, offset, prop_length - 12, "Experimenter port stats. property.");
|
||||
offset += prop_length - 12;
|
||||
break;
|
||||
|
||||
default:
|
||||
proto_tree_add_expert_format(tree, pinfo, &ei_openflow_v6_port_stats_prop_undecoded,
|
||||
tvb, offset, prop_length - 4, "Unknown port stats. property.");
|
||||
offset += prop_length - 4;
|
||||
break;
|
||||
}
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
dissect_openflow_port_stats_v6(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
|
||||
{
|
||||
proto_tree *stats_tree;
|
||||
guint16 stats_end;
|
||||
|
||||
stats_tree = proto_tree_add_subtree(tree, tvb, offset, 112, ett_openflow_v6_port_stats, NULL, "Port stats");
|
||||
|
||||
/* uint16_t length; */
|
||||
stats_end = tvb_get_ntohs(tvb, offset) + offset - 4;
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_length, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
|
||||
/* uint8_t pad[2]; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_pad, tvb, offset, 2, ENC_NA);
|
||||
offset+=2;
|
||||
|
||||
/* uint8_t port_no; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_port_no, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint8_t pad[4]; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_pad, tvb, offset, 4, ENC_NA);
|
||||
/* uint32_t duration_sec; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_duration_sec, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t duration_nsec; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_duration_nsec, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint64_t rx_packets; */
|
||||
|
@ -4259,29 +4464,10 @@ dissect_openflow_port_stats_v6(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
|||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_tx_errors, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
/* uint64_t rx_frame_error; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_rx_frame_error, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
/* uint64_t rx_over_error; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_rx_over_error, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
/* uint64_t rx_crc_error; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_rx_crc_error, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
/* uint64_t collisions; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_collisions, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset+=8;
|
||||
|
||||
/* uint32_t duration_sec; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_duration_sec, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
|
||||
/* uint32_t duration_nsec; */
|
||||
proto_tree_add_item(stats_tree, hf_openflow_v6_port_stats_duration_nsec, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
/* struct ofp_port_stats_prop_header properties[0]; */
|
||||
while (offset < stats_end) {
|
||||
offset = dissect_openflow_port_stats_prop_v6(tvb, pinfo, tree, offset, length);
|
||||
}
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -6694,6 +6880,141 @@ proto_register_openflow_v6(void)
|
|||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_type,
|
||||
{ "Type", "openflow_v6.port.stats_prop.type",
|
||||
FT_UINT16, BASE_DEC, VALS(openflow_v6_port_stats_prop_type_values), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_length,
|
||||
{ "Length", "openflow_v6.port.stats_prop.length",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_ethernet_pad,
|
||||
{ "Pad", "openflow_v6.port.stats_prop.ethernet.pad",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_ethernet_rx_frame_err,
|
||||
{ "Rx. Frame Error", "openflow_v6.port.stats_prop.ethernet.rx_frame_err",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_ethernet_rx_over_err,
|
||||
{ "Rx. Over Error", "openflow_v6.port.stats_prop.ethernet.rx_over_err",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_ethernet_rx_crc_err,
|
||||
{ "Rx. CRC Error", "openflow_v6.port.stats_prop.ethernet.rx_crc_err",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_ethernet_collisions,
|
||||
{ "Collisions", "openflow_v6.port.stats_prop.ethernet.collisions",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_pad,
|
||||
{ "Pad", "openflow_v6.port.stats_prop.optical.pad",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_flags,
|
||||
{ "Flags", "openflow_v6.port.desc_prop.optical.supported",
|
||||
FT_UINT32, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_flags_rx_tune,
|
||||
{ "OFPOSF_RX_TUNE", "openflow_v6.port.stats_prop.optical.flags.rx_tune",
|
||||
FT_UINT32, BASE_HEX, NULL, OFPOSF_RX_TUNE,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_flags_tx_tune,
|
||||
{ "OFPOSF_TX_TUNE", "openflow_v6.port.stats_prop.optical.flags.tx_tune",
|
||||
FT_UINT32, BASE_HEX, NULL, OFPOSF_TX_TUNE,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_flags_tx_pwr,
|
||||
{ "OFPOSF_TX_PWR", "openflow_v6.port.stats_prop.optical.flags.tx_pwr",
|
||||
FT_UINT32, BASE_HEX, NULL, OFPOSF_TX_PWR,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_flags_rx_pwr,
|
||||
{ "OFPOSF_RX_PWR", "openflow_v6.port.stats_prop.optical.flags.rx_pwr",
|
||||
FT_UINT32, BASE_HEX, NULL, OFPOSF_RX_PWR,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_flags_tx_bias,
|
||||
{ "OFPOSF_TX_BIAS", "openflow_v6.port.stats_prop.optical.flags.tx_bias",
|
||||
FT_UINT32, BASE_HEX, NULL, OFPOSF_TX_BIAS,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_flags_tx_temp,
|
||||
{ "OFPOSF_TX_TEMP", "openflow_v6.port.stats_prop.optical.flags.tx_temp",
|
||||
FT_UINT32, BASE_HEX, NULL, OFPOSF_TX_TEMP,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_tx_freq_lmda,
|
||||
{ "Tx. Freq. Lambda", "openflow_v6.port.stats_prop.optical.tx_freq_lmda",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_tx_offset,
|
||||
{ "Tx. Offset", "openflow_v6.port.stats_prop.optical.tx_offset",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_tx_grid_span,
|
||||
{ "Tx. Grid Spacing", "openflow_v6.port.stats_prop.optical.tx_grid_span",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_rx_freq_lmda,
|
||||
{ "Rx. Freq. Lambda", "openflow_v6.port.stats_prop.optical.rx_freq_lmda",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_rx_offset,
|
||||
{ "Rx. Offset", "openflow_v6.port.stats_prop.optical.rx_offset",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_rx_grid_span,
|
||||
{ "Rx. Grid Spacing", "openflow_v6.port.stats_prop.optical.rx_grid_span",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_tx_pwr,
|
||||
{ "Tx. Power", "openflow_v6.port.stats_prop.optical.tx_pwr",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_rx_pwr,
|
||||
{ "Rx. Power", "openflow_v6.port.stats_prop.optical.rx_pwr",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_bias_current,
|
||||
{ "Tx. Bias Current", "openflow_v6.port.stats_prop.optical.bias_current",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_optical_temperature,
|
||||
{ "Tx. Laser Temperature", "openflow_v6.port.stats_prop.optical.temperature",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_experimenter_experimenter,
|
||||
{ "Experimenter", "openflow_v6.port_stats_prop.experimenter.experimenter",
|
||||
FT_UINT32, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_prop_experimenter_exp_type,
|
||||
{ "Exp. type", "openflow_v6.port_stats_prop.experimenter.exp_type",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_port_no,
|
||||
{ "Port no", "openflow_v6.port.port_no",
|
||||
FT_UINT32, BASE_DEC|BASE_SPECIAL_VALS, VALS(openflow_v6_port_reserved_values), 0x0,
|
||||
|
@ -8074,9 +8395,9 @@ proto_register_openflow_v6(void)
|
|||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_port_no,
|
||||
{ "Port number", "openflow_v6.port_stats.port_no",
|
||||
FT_UINT32, BASE_DEC|BASE_SPECIAL_VALS, VALS(openflow_v6_port_reserved_values), 0x0,
|
||||
{ &hf_openflow_v6_port_stats_length,
|
||||
{ "Length", "openflow_v6.port_stats.length",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_pad,
|
||||
|
@ -8084,6 +8405,21 @@ proto_register_openflow_v6(void)
|
|||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_port_no,
|
||||
{ "Port number", "openflow_v6.port_stats.port_no",
|
||||
FT_UINT32, BASE_DEC|BASE_SPECIAL_VALS, VALS(openflow_v6_port_reserved_values), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_duration_sec,
|
||||
{ "Duration sec", "openflow_v6.port_stats.duration_sec",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_duration_nsec,
|
||||
{ "Duration nsec", "openflow_v6.port_stats.duration_nsec",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_rx_packets,
|
||||
{ "Rx packets", "openflow_v6.port_stats.rx_packets",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
|
@ -8124,36 +8460,6 @@ proto_register_openflow_v6(void)
|
|||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_rx_frame_error,
|
||||
{ "Rx frame errors", "openflow_v6.port_stats.rx_frame_error",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_rx_over_error,
|
||||
{ "Rx overrun errors", "openflow_v6.port_stats.rx_over_error",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_rx_crc_error,
|
||||
{ "Rx CRC errors", "openflow_v6.port_stats.rx_crc_error",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_collisions,
|
||||
{ "Collisions", "openflow_v6.port_stats.collisions",
|
||||
FT_UINT64, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_duration_sec,
|
||||
{ "Duration sec", "openflow_v6.port_stats.duration_sec",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_port_stats_duration_nsec,
|
||||
{ "Duration nsec", "openflow_v6.port_stats.duration_nsec",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_openflow_v6_queue_stats_length,
|
||||
{ "Length", "openflow_v6.queue_stats.length",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
|
@ -9407,6 +9713,8 @@ proto_register_openflow_v6(void)
|
|||
&ett_openflow_v6_port_desc_prop_ethernet_supported,
|
||||
&ett_openflow_v6_port_desc_prop_ethernet_peer,
|
||||
&ett_openflow_v6_port_desc_prop_optical_supported,
|
||||
&ett_openflow_v6_port_stats_prop,
|
||||
&ett_openflow_v6_port_stats_prop_optical_flags,
|
||||
&ett_openflow_v6_port_config,
|
||||
&ett_openflow_v6_port_state,
|
||||
&ett_openflow_v6_meter_band,
|
||||
|
@ -9495,6 +9803,10 @@ proto_register_openflow_v6(void)
|
|||
{ "openflow_v6.port.desc_prop.undecoded", PI_UNDECODED, PI_NOTE,
|
||||
"Unknown port desc. property body.", EXPFILL }
|
||||
},
|
||||
{ &ei_openflow_v6_port_stats_prop_undecoded,
|
||||
{ "openflow_v6.port.stats_prop.undecoded", PI_UNDECODED, PI_NOTE,
|
||||
"Unknown port stats. property body.", EXPFILL }
|
||||
},
|
||||
{ &ei_openflow_v6_meter_band_undecoded,
|
||||
{ "openflow_v6.meter_band.undecoded", PI_UNDECODED, PI_NOTE,
|
||||
"Unknown meter band body.", EXPFILL }
|
||||
|
|
Loading…
Reference in New Issue