/* Get payload. */
if (po.buffer_id != UINT32_MAX) {
error = ofconn_pktbuf_retrieve(ofconn, po.buffer_id, &payload, NULL);
- if (error || !payload) {
+ if (error) {
goto exit_free_ofpacts;
}
} else {
static enum ofperr
handle_nxt_set_async_config(struct ofconn *ofconn, const struct ofp_header *oh)
{
- struct ofputil_async_cfg ac = OFPUTIL_ASYNC_CFG_INIT;
+ struct ofputil_async_cfg basis = ofconn_get_async_config(ofconn);
+ struct ofputil_async_cfg ac;
enum ofperr error;
- error = ofputil_decode_set_async_config(oh, false, &ac);
+ error = ofputil_decode_set_async_config(oh, false, &basis, &ac);
if (error) {
return error;
}
handle_nxt_get_async_request(struct ofconn *ofconn, const struct ofp_header *oh)
{
struct ofputil_async_cfg ac = ofconn_get_async_config(ofconn);
- ofconn_send_reply(ofconn, ofputil_encode_get_async_config(oh, &ac));
+ ofconn_send_reply(ofconn, ofputil_encode_get_async_reply(oh, &ac));
return 0;
}