// header stack declaration
header label_t {
  bit<20> label;
  bit bos;
}
struct header_t {
  label_t[10] labels;
}
header_t hdr;

// remove from header stack
action pop_label() {
  hdr.labels.pop_front(1);
}

// add to header stack
action push_label(in bit<20> label) {
  hdr.labels.push_front(1);
  hdr.labels[0].setValid();
  hdr.labels[0] = { label, 0};
}
