- if (tc->c_is_ip4)
- {
- ip4_header_t *ih4;
- ih4 = vlib_buffer_push_ip4 (vm, b, &tc->c_lcl_ip.ip4,
- &tc->c_rmt_ip.ip4, IP_PROTOCOL_TCP, 0);
- th->checksum = ip4_tcp_udp_compute_checksum (vm, b, ih4);
- }
- else
- {
- int bogus = ~0;
- ip6_header_t *ih6;
- ih6 = vlib_buffer_push_ip6 (vm, b, &tc->c_lcl_ip.ip6,
- &tc->c_rmt_ip.ip6, IP_PROTOCOL_TCP);
- th->checksum = ip6_tcp_udp_icmp_compute_checksum (vm, b, ih6, &bogus);
- ASSERT (!bogus);
- }
- tcp_enqueue_to_ip_lookup_now (wrk, b, bi, tc->c_is_ip4, tc->c_fib_index);
+ tcp_enqueue_to_output (wrk, b, bi, tc->c_is_ip4);