{
const Packet* p = tsd.get_pkt();
- if ( daq_flags & DAQ_PKT_FLAG_NOT_FORWARDING )
+ if ( tsd.is_packet_from_client() || (p->pkth->egress_index == DAQ_PKTHDR_UNKNOWN
+ && p->pkth->egress_group == DAQ_PKTHDR_UNKNOWN) )
{
ingress_index = p->pkth->ingress_index;
ingress_group = p->pkth->ingress_group;
egress_index = p->pkth->egress_index;
egress_group = p->pkth->egress_group;
}
- else if ( tsd.is_packet_from_client() )
- {
- ingress_index = p->pkth->ingress_index;
- ingress_group = p->pkth->ingress_group;
- // ssn egress not always correct here
- }
else
{
- // ssn ingress not always correct here
egress_index = p->pkth->ingress_index;
egress_group = p->pkth->ingress_group;
+ ingress_index = p->pkth->egress_index;
+ ingress_group = p->pkth->egress_group;
}
daq_flags = p->pkth->flags;
void TcpStreamSession::get_packet_header_foo(DAQ_PktHdr_t* pkth, uint32_t dir)
{
- if ( (dir & PKT_FROM_CLIENT) || (daq_flags & DAQ_PKT_FLAG_NOT_FORWARDING) )
+ if ( (dir & PKT_FROM_CLIENT) || (egress_index == DAQ_PKTHDR_UNKNOWN &&
+ egress_group == DAQ_PKTHDR_UNKNOWN) )
{
pkth->ingress_index = ingress_index;
pkth->ingress_group = ingress_group;
bool tcp_init = false;
uint32_t pkt_action_mask = ACTION_NOTHING;
uint8_t ecn = 0;
- int32_t ingress_index = 0;
- int16_t ingress_group = 0;
- int32_t egress_index = 0;
- int16_t egress_group = 0;
+ int32_t ingress_index = DAQ_PKTHDR_UNKNOWN;
+ int16_t ingress_group = DAQ_PKTHDR_UNKNOWN;
+ int32_t egress_index = DAQ_PKTHDR_UNKNOWN;
+ int16_t egress_group = DAQ_PKTHDR_UNKNOWN;
uint32_t daq_flags = 0;
uint16_t address_space_id = 0;
bool generate_3whs_alert = true;