Sorry I didn't add this earlier. There's a flowtype field, right? You should log that too. It'll tell you what the flowid field means.
-a On 18 March 2015 at 16:24, Hiren Panchasara <hi...@freebsd.org> wrote: > Author: hiren > Date: Wed Mar 18 23:24:25 2015 > New Revision: 280233 > URL: https://svnweb.freebsd.org/changeset/base/280233 > > Log: > Add connection flowid to siftr(4). > > Reviewed by: lstewart > MFC after: 1 week > Sponsored by: Limelight Networks > Differential Revision: https://reviews.freebsd.org/D2089 > > Modified: > head/share/man/man4/siftr.4 > head/sys/netinet/siftr.c > > Modified: head/share/man/man4/siftr.4 > ============================================================================== > --- head/share/man/man4/siftr.4 Wed Mar 18 22:05:15 2015 (r280232) > +++ head/share/man/man4/siftr.4 Wed Mar 18 23:24:25 2015 (r280233) > @@ -30,7 +30,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd November 12, 2010 > +.Dd March 18, 2015 > .Dt SIFTR 4 > .Os > .Sh NAME > @@ -335,6 +335,13 @@ Bytes acknowledged via SACK are not excl > .It Va 26 > The current number of segments in the reassembly queue. > .El > +.Bl -tag -offset indent -width Va > +.It Va 27 > +Flowid for the connection. > +A caveat: Zero '0' either represents a valid flowid or a default value when > it's > +not being set. There is no easy way to differentiate without looking at > actual > +network interface card and drivers being used. > +.El > .Pp > The third type of log message is written to the file when the module is > disabled > and ceases collecting data from the running kernel. > > Modified: head/sys/netinet/siftr.c > ============================================================================== > --- head/sys/netinet/siftr.c Wed Mar 18 22:05:15 2015 (r280232) > +++ head/sys/netinet/siftr.c Wed Mar 18 23:24:25 2015 (r280233) > @@ -227,6 +227,8 @@ struct pkt_node { > u_int sent_inflight_bytes; > /* Number of segments currently in the reassembly queue. */ > int t_segqlen; > + /* Flowid for the connection. */ > + u_int flowid; > /* Link to next pkt_node in the list. */ > STAILQ_ENTRY(pkt_node) nodes; > }; > @@ -485,7 +487,8 @@ siftr_process_pkt(struct pkt_node * pkt_ > pkt_node->rcv_buf_hiwater, > pkt_node->rcv_buf_cc, > pkt_node->sent_inflight_bytes, > - pkt_node->t_segqlen); > + pkt_node->t_segqlen, > + pkt_node->flowid); > } else { /* IPv4 packet */ > pkt_node->ip_laddr[0] = FIRST_OCTET(pkt_node->ip_laddr[3]); > pkt_node->ip_laddr[1] = SECOND_OCTET(pkt_node->ip_laddr[3]); > @@ -501,7 +504,7 @@ siftr_process_pkt(struct pkt_node * pkt_ > log_buf->ae_bytesused = snprintf(log_buf->ae_data, > MAX_LOG_MSG_LEN, > > "%c,0x%08x,%jd.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%ld,%ld," > - "%ld,%ld,%ld,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u,%u\n", > + > "%ld,%ld,%ld,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u,%u,%u\n", > direction[pkt_node->direction], > pkt_node->hash, > (intmax_t)pkt_node->tval.tv_sec, > @@ -534,7 +537,8 @@ siftr_process_pkt(struct pkt_node * pkt_ > pkt_node->rcv_buf_hiwater, > pkt_node->rcv_buf_cc, > pkt_node->sent_inflight_bytes, > - pkt_node->t_segqlen); > + pkt_node->t_segqlen, > + pkt_node->flowid); > #ifdef SIFTR_IPV6 > } > #endif > @@ -787,6 +791,7 @@ siftr_siftdata(struct pkt_node *pn, stru > pn->rcv_buf_cc = sbused(&inp->inp_socket->so_rcv); > pn->sent_inflight_bytes = tp->snd_max - tp->snd_una; > pn->t_segqlen = tp->t_segqlen; > + pn->flowid = inp->inp_flowid; > > /* We've finished accessing the tcb so release the lock. */ > if (inp_locally_locked) > _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"