+/* Removes the first buffer from 'q', which must not be empty, and returns
+ * it. The caller must free the buffer (with ofpbuf_delete()) when it is no
+ * longer needed. */
+struct ofpbuf *
+queue_pop_head(struct ofp_queue *q)
+{
+ struct ofpbuf *head = q->head;
+ queue_advance_head(q, head->next);
+ return head;
+}
+