MCPcopy Create free account
hub / github.com/F-Stack/f-stack / tcp_push_and_replace

Function tcp_push_and_replace

freebsd/netinet/tcp_lro.c:654–676  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

652}
653
654static void
655tcp_push_and_replace(struct tcpcb *tp, struct lro_ctrl *lc, struct lro_entry *le, struct mbuf *m, int locked)
656{
657 /*
658 * Push up the stack the current le and replace
659 * it with m.
660 */
661 struct mbuf *msave;
662
663 /* Grab off the next and save it */
664 msave = le->m_head->m_nextpkt;
665 le->m_head->m_nextpkt = NULL;
666 /* Now push out the old le entry */
667 tcp_flush_out_le(tp, lc, le, locked);
668 /*
669 * Now to replace the data properly in the le
670 * we have to reset the tcp header and
671 * other fields.
672 */
673 tcp_set_le_to_m(lc, le, m);
674 /* Restore the next list */
675 m->m_nextpkt = msave;
676}
677
678static void
679tcp_lro_condense(struct tcpcb *tp, struct lro_ctrl *lc, struct lro_entry *le, int locked)

Callers 1

tcp_lro_condenseFunction · 0.85

Calls 2

tcp_flush_out_leFunction · 0.85
tcp_set_le_to_mFunction · 0.85

Tested by

no test coverage detected