summaryrefslogtreecommitdiffstats
path: root/src/vnet/session
AgeCommit message (Expand)AuthorFilesLines
2021-12-23session svm: track fs and seg manager index in fsFlorin Coras2-42/+20
2021-12-22session: fix segment alloc/free worker raceFlorin Coras2-70/+119
2021-12-20session: ignore rpc in fifo event lookupsFlorin Coras1-10/+0
2021-12-20session: improve sh segment-manager cliFlorin Coras1-53/+81
2021-12-16session: app mq congestion detectionFlorin Coras3-266/+349
2021-12-08api: improve REPLY_MACRO safetyKlement Sekera1-35/+41
2021-12-08session: stricter tx checks for ct sessionsFlorin Coras1-1/+11
2021-12-08session: fix duplicate segment del messageFlorin Coras1-6/+1
2021-11-29session: remove segment if empty after writer lockFlorin Coras1-9/+18
2021-11-29session: mark first listener segment as protectedFlorin Coras1-0/+4
2021-11-29session: no deq notifications after closeFlorin Coras1-0/+2
2021-11-29session: postpone close notification if still acceptingFlorin Coras1-0/+14
2021-11-29session: fix clib_rwlock_writer_unlock lostwanghanlin1-1/+4
2021-11-26session: accept reply improvementsFlorin Coras1-26/+25
2021-11-26session: postpone ct peer disconnect and more checksFlorin Coras1-20/+29
2021-11-26session: only notify server on ct connect failureFlorin Coras1-8/+14
2021-11-24session: improve fifo segment allocationFilip Tehlar1-0/+6
2021-11-24session: detach server from client on connect failureFlorin Coras1-0/+2
2021-11-18session: deprecate mq segments basevaFlorin Coras2-15/+2
2021-11-18session: improve wrk mq segment allocationFlorin Coras3-53/+62
2021-11-17session: fix state check in switch poolFlorin Coras1-3/+3
2021-11-17session: support close during migrationFlorin Coras1-8/+40
2021-11-17session: try to coalesce ct accept rpcsFlorin Coras1-7/+44
2021-11-16session: add per worker ct contextFlorin Coras1-26/+43
2021-11-15session: postpone ct segment deleteFlorin Coras1-47/+70
2021-11-15vcl: add DSCP support in VCLFilip Tehlar2-0/+2
2021-11-12session: add support for DSCPFilip Tehlar1-0/+3
2021-11-12session: fix ct tracking of actual transport protoFlorin Coras1-1/+1
2021-11-09session: reset if ct close with dataFlorin Coras1-1/+15
2021-11-09session: postpone ct cleanupsFlorin Coras1-18/+105
2021-10-21session: add api test fileFilip Tehlar1-0/+363
2021-10-13session: app name should format with %vXiaoming Jiang1-1/+1
2021-10-12session: set actual lcl ip on accepted ctFlorin Coras1-1/+1
2021-10-06session: fix severity infoFilip Tehlar1-11/+10
2021-10-05session: Add session_sapi_enable_disableNathan Skrzypczak5-5/+33
2021-09-21session: implement app_ns deletionNathan Skrzypczak11-50/+170
2021-09-20session: use table_format in sh app nsNathan Skrzypczak1-10/+22
2021-09-16session: Add sock_name option to add_nsNathan Skrzypczak5-44/+183
2021-09-13tcp session: initialize sw_if_index at connect timeFlorin Coras1-8/+8
2021-09-09vlib: fix vlib_buffer_enqueue_to_next() overflowBenoît Ganne1-3/+3
2021-09-09session: fix non-NULL terminated stringBenoît Ganne1-18/+7
2021-09-01udp: fill rmt info if session is connection lessliuyacan1-1/+1
2021-08-30session: fix prefetch out of struct bound on ArmTianyu Li1-1/+1
2021-08-30session: close app wrk socket on deleteFlorin Coras3-6/+5
2021-08-30tcp: Allow accepting session to send custom packetliuyacan1-1/+9
2021-08-12session vcl: cert key add/del with socket apiFlorin Coras3-0/+101
2021-08-11svm: make more fifo segment header fields privateFlorin Coras1-4/+4
2021-07-24session: avoid vpp deadlock due to app crashliuyacan1-0/+6
2021-07-23session vcl: support abstract sockets for app nsFlorin Coras4-16/+132
2021-07-22session vcl: explit mq indices in ctrl messagesFlorin Coras2-3/+5
vlib_buffer_t *b0; vlib_buffer_t *c0; ip4_udp_header_t *iu0; ip4_header_t *ip0; udp_header_t *udp0; u32 next0 = LI_HIT_NEXT_ETHERNET; /* speculatively enqueue b0 to the current next frame */ bi0 = from[0]; to_next[0] = bi0; from += 1; to_next += 1; n_left_from -= 1; n_left_to_next -= 1; b0 = vlib_get_buffer (vm, bi0); if (PREDICT_TRUE (to_int_next != 0)) { /* Make an intercept copy. This can fail. */ c0 = vlib_buffer_copy (vm, b0); if (PREDICT_FALSE (c0 == 0)) { vlib_node_increment_counter (vm, node->node_index, LI_HIT_ERROR_BUFFER_ALLOCATION_FAILURE, 1); goto skip; } vlib_buffer_advance (c0, -sizeof (*iu0)); iu0 = vlib_buffer_get_current (c0); ip0 = &iu0->ip4; ip0->ip_version_and_header_length = 0x45; ip0->ttl = 254; ip0->protocol = IP_PROTOCOL_UDP; ip0->src_address.as_u32 = lm->src_addrs[0].as_u32; ip0->dst_address.as_u32 = lm->collectors[0].as_u32; ip0->length = vlib_buffer_length_in_chain (vm, c0); ip0->checksum = ip4_header_checksum (ip0); udp0 = &iu0->udp; udp0->src_port = udp0->dst_port = clib_host_to_net_u16 (lm->ports[0]); udp0->checksum = 0; udp0->length = clib_net_to_host_u16 (vlib_buffer_length_in_chain (vm, b0)); to_int_next[0] = vlib_get_buffer_index (vm, c0); to_int_next++; } skip: if (PREDICT_FALSE ((node->flags & VLIB_NODE_FLAG_TRACE) && (b0->flags & VLIB_BUFFER_IS_TRACED))) { li_hit_trace_t *t = vlib_add_trace (vm, node, b0, sizeof (*t)); t->next_index = next0; } /* verify speculative enqueue, maybe switch current next frame */ vlib_validate_buffer_enqueue_x1 (vm, node, next_index, to_next, n_left_to_next, bi0, next0); } vlib_put_next_frame (vm, node, next_index, n_left_to_next); } if (int_frame) { int_frame->n_vectors = frame->n_vectors; vlib_put_frame_to_node (vm, ip4_lookup_node.index, int_frame); } vlib_node_increment_counter (vm, li_hit_node.index, LI_HIT_ERROR_HITS, frame->n_vectors); return frame->n_vectors; } /* *INDENT-OFF* */ VLIB_REGISTER_NODE (li_hit_node) = { .name = "li-hit", .vector_size = sizeof (u32), .format_trace = format_li_hit_trace, .type = VLIB_NODE_TYPE_INTERNAL, .n_errors = ARRAY_LEN(li_hit_error_strings), .error_strings = li_hit_error_strings, .n_next_nodes = LI_HIT_N_NEXT, /* edit / add dispositions here */ .next_nodes = { [LI_HIT_NEXT_ETHERNET] = "ethernet-input-not-l2", }, }; /* *INDENT-ON* */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */