diff options
author | hiren <hiren@FreeBSD.org> | 2015-04-06 22:41:13 +0000 |
---|---|---|
committer | hiren <hiren@FreeBSD.org> | 2015-04-06 22:41:13 +0000 |
commit | 1116474bdcea0dec418414174080cbde74de8359 (patch) | |
tree | b4b626e19127c0f8c203bb6c77cf11cd048724f9 /sys/netinet | |
parent | f79a9e3ea80c5db489709dcc81badf94ec6eb373 (diff) | |
download | FreeBSD-src-1116474bdcea0dec418414174080cbde74de8359.zip FreeBSD-src-1116474bdcea0dec418414174080cbde74de8359.tar.gz |
MFC r280233, r280237, r280441
Add connection flowid and flowtype to siftr(4).
Sponsored by: Limelight Networks
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/siftr.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index a484481..aae608d 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -225,6 +225,10 @@ 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; + /* Flow type for the connection. */ + u_int flowtype; /* Link to next pkt_node in the list. */ STAILQ_ENTRY(pkt_node) nodes; }; @@ -442,7 +446,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) MAX_LOG_MSG_LEN, "%c,0x%08x,%zd.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:" "%x:%x:%x:%x:%x,%u,%ld,%ld,%ld,%ld,%ld,%u,%u,%u,%u,%u,%u," - "%u,%d,%u,%u,%u,%u,%u,%u\n", + "%u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n", direction[pkt_node->direction], pkt_node->hash, pkt_node->tval.tv_sec, @@ -483,7 +487,9 @@ siftr_process_pkt(struct pkt_node * pkt_node) 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, + pkt_node->flowtype); } 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]); @@ -499,7 +505,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) 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,%u\n", direction[pkt_node->direction], pkt_node->hash, (intmax_t)pkt_node->tval.tv_sec, @@ -532,7 +538,9 @@ siftr_process_pkt(struct pkt_node * pkt_node) 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, + pkt_node->flowtype); #ifdef SIFTR_IPV6 } #endif @@ -785,6 +793,8 @@ siftr_siftdata(struct pkt_node *pn, struct inpcb *inp, struct tcpcb *tp, pn->rcv_buf_cc = inp->inp_socket->so_rcv.sb_cc; pn->sent_inflight_bytes = tp->snd_max - tp->snd_una; pn->t_segqlen = tp->t_segqlen; + pn->flowid = inp->inp_flowid; + pn->flowtype = inp->inp_flowtype; /* We've finished accessing the tcb so release the lock. */ if (inp_locally_locked) |