OFPROTO_STOP
AT_CLEANUP
+dnl This is really bare-bones.
+dnl It at least checks request and reply serialization and deserialization.
+AT_SETUP([ofproto - port stats])
+OFPROTO_START
+AT_CHECK([ovs-ofctl -vANY:ANY:WARN dump-ports br0], [0], [stdout])
+AT_CHECK([STRIP_XIDS stdout], [0], [dnl
+OFPST_PORT reply: 1 ports
+ port 65534: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
+ tx pkts=0, bytes=0, drop=0, errs=0, coll=0
+])
+OFPROTO_STOP
+AT_CLEANUP
+
+dnl This is really bare-bones.
+dnl It at least checks request and reply serialization and deserialization.
+AT_SETUP([ofproto - queue stats])
+OFPROTO_START
+AT_CHECK([ovs-ofctl -vANY:ANY:WARN queue-stats br0], [0], [stdout])
+AT_CHECK([STRIP_XIDS stdout], [0], [dnl
+OFPST_QUEUE reply: 0 queues
+])
+OFPROTO_STOP
+AT_CLEANUP
+
AT_SETUP([ofproto - mod-port])
OFPROTO_START
for command_config_state in \
}
static void *
-alloc_stats_request(size_t body_len, uint16_t type, struct ofpbuf **bufferp)
+alloc_stats_request(size_t rq_len, uint16_t type, struct ofpbuf **bufferp)
{
struct ofp_stats_msg *rq;
- rq = make_openflow(sizeof *rq + body_len, OFPT_STATS_REQUEST, bufferp);
+
+ rq = make_openflow(rq_len, OFPT_STATS_REQUEST, bufferp);
rq->type = htons(type);
rq->flags = htons(0);
- return rq + 1;
+ return rq;
}
static void
dump_trivial_stats_transaction(const char *vconn_name, uint8_t stats_type)
{
struct ofpbuf *request;
- alloc_stats_request(0, stats_type, &request);
+ alloc_stats_request(sizeof(struct ofp_stats_msg), stats_type, &request);
dump_stats_transaction(vconn_name, request);
}