Esempio n. 1
0
Packet::Packet(int ingress_port, packet_id_t id, packet_id_t copy_id,
	       int ingress_length, PacketBuffer &&buffer)
  : ingress_port(ingress_port), packet_id(id), copy_id(copy_id),
    ingress_length(ingress_length), buffer(std::move(buffer)) {
  assert(phv_pool);
  update_signature();
  set_ingress_ts();
  phv = phv_pool->get();
}
Esempio n. 2
0
Packet::Packet(size_t cxt_id, int ingress_port, packet_id_t id,
               copy_id_t copy_id, int ingress_length, PacketBuffer &&buffer,
               PHVSourceIface *phv_source)
    : cxt_id(cxt_id), ingress_port(ingress_port), packet_id(id),
      copy_id(copy_id), ingress_length(ingress_length),
      buffer(std::move(buffer)), phv_source(phv_source) {
  assert(phv_source);
  update_signature();
  set_ingress_ts();
  phv = phv_source->get(cxt_id);
  phv->set_packet_id(packet_id, copy_id);
  DEBUGGER_PACKET_IN(PacketId::make(packet_id, copy_id), ingress_port);
}