| /mOS-networking-stack/core/src/ |
| H A D | tcp.c | 94 pctx->p.iph->daddr, pctx->p.tcph->dest, in CreateServerStream() 95 pctx->p.iph->saddr, pctx->p.tcph->source, NULL); in CreateServerStream() 105 ParseTCPOptions(cur_stream, pctx->p.cur_ts, (uint8_t *)pctx->p.tcph + in CreateServerStream() 119 pctx->p.tcph->dest, pctx->p.iph->saddr, in CreateMonitorStream() 231 pctx->p.iph->saddr, pctx->p.tcph->source, in CreateStream() 232 pctx->p.iph->daddr, pctx->p.tcph->dest, in CreateStream() 263 pctx->p.payloadlen = pctx->p.ip_len - (pctx->p.payload - (u_char *)pctx->p.iph); in FillPacketContextTCPInfo() 290 assert(pctx); in UpdateMonitor() 325 pctx->p.iph->saddr, pctx->p.tcph->source, in UpdateMonitor() 326 pctx->p.iph->daddr, pctx->p.tcph->dest)) == NULL) { in UpdateMonitor() [all …]
|
| H A D | tcp_in.c | 952 pctx->p.seq + pctx->p.payloadlen == cur_stream->rcv_nxt in Handle_TCP_ST_ESTABLISHED() 970 pctx->p.seq, pctx->p.payloadlen); in Handle_TCP_ST_ESTABLISHED() 1019 DumpIPPacket(mtcp, pctx->p.iph, pctx->p.ip_len); in Handle_TCP_ST_LAST_ACK() 1159 pctx->p.seq, pctx->p.payloadlen); 1213 cur_stream->id, pctx->p.seq, pctx->p.ack_seq, 1216 DumpIPPacket(mtcp, pctx->p.iph, pctx->p.ip_len); 1287 DumpIPPacket(mtcp, pctx->p.iph, pctx->p.ip_len); 1424 pctx->p.iph->daddr, pctx->p.tcph->dest, 1425 pctx->p.iph->saddr, pctx->p.tcph->source, 1430 pctx->p.iph->daddr, pctx->p.tcph->dest, [all …]
|
| H A D | ip_out.c | 47 pctx->out_ifidx = in ForwardIPPacket() 59 pctx->out_ifidx = GetOutputInterface(pctx->p.iph->daddr); in ForwardIPPacket() 69 if (!pctx->forward) in ForwardIPPacket() 71 pctx->out_ifidx, pctx->p.cur_ts); in ForwardIPPacket() 88 mtcp->iom->set_wptr(mtcp->ctx, pctx->out_ifidx, pctx->p.in_ifidx, pctx->batch_index); in ForwardIPPacket() 95 pctx->out_ifidx, haddr, pctx->p.ip_len, pctx->p.cur_ts); in ForwardIPPacket() 97 memcpy(iph, pctx->p.iph, pctx->p.ip_len); in ForwardIPPacket() 101 mtcp, ETH_P_IP, pctx->out_ifidx, haddr, pctx->p.ip_len); in ForwardIPPacket() 115 pctx->p.iph = iph; in FillOutPacketIPContext() 140 if (!pctx->forward) in IPOutputStandalone() [all …]
|
| H A D | ip_in.c | 24 pctx->p.iph = iph; in FillInPacketIPContext() 25 pctx->p.ip_len = ip_len; in FillInPacketIPContext() 53 FillInPacketIPContext(pctx, iph, ip_len); in ProcessInIPv4Packet() 60 pctx->p.eth_len)) in ProcessInIPv4Packet() 62 pctx, MOS_ON_PKT_IN); in ProcessInIPv4Packet() 68 if (pctx->forward) { in ProcessInIPv4Packet() 69 ForwardIPPacket(mtcp, pctx); in ProcessInIPv4Packet() 83 if (ProcessICMPPacket(mtcp, pctx)) in ProcessInIPv4Packet() 87 if (!mtcp->num_msp || !pctx->forward) in ProcessInIPv4Packet() 90 ForwardIPPacket(mtcp, pctx); in ProcessInIPv4Packet() [all …]
|
| H A D | eth_out.c | 55 pctx->p.cur_ts = cur_ts; in FillOutPacketEthContext() 56 pctx->p.in_ifidx = -1; in FillOutPacketEthContext() 57 pctx->out_ifidx = out_ifidx; in FillOutPacketEthContext() 58 pctx->p.ethh = ethh; in FillOutPacketEthContext() 59 pctx->p.eth_len = eth_len; in FillOutPacketEthContext() 97 if (pctx) in EthernetOutput() 98 FillOutPacketEthContext(pctx, cur_ts, nif, in EthernetOutput() 110 pctx->out_ifidx = in ForwardEthernetFrame() 113 if (pctx->out_ifidx == -1) { in ForwardEthernetFrame() 123 buf = mtcp->iom->get_wptr(mtcp->ctx, pctx->out_ifidx, pctx->p.eth_len); in ForwardEthernetFrame() [all …]
|
| H A D | eth_in.c | 16 pctx->p.cur_ts = cur_ts; in FillInPacketEthContext() 17 pctx->p.in_ifidx = in_ifidx; in FillInPacketEthContext() 18 pctx->out_ifidx = -1; in FillInPacketEthContext() 19 pctx->p.ethh = ethh; in FillInPacketEthContext() 20 pctx->p.eth_len = eth_len; in FillInPacketEthContext() 21 pctx->batch_index = index; in FillInPacketEthContext() 22 pctx->forward = g_config.mos->forward; in FillInPacketEthContext() 31 struct pkt_ctx pctx; in ProcessPacket() local 36 memset(&pctx, 0, sizeof(pctx)); in ProcessPacket() 62 if (!mtcp->num_msp || !pctx.forward) { in ProcessPacket() [all …]
|
| H A D | icmp.c | 86 if (!pctx->forward) in ICMPOutput() 100 iph = (struct iphdr *)EthernetOutput(mtcp, pctx, ETH_P_IP, nif, haddr, pktlen, ts); in ICMPOutput() 142 RequestICMP(mtcp_manager_t mtcp, struct pkt_ctx *pctx, uint32_t saddr, uint32_t daddr, in RequestICMP() argument 157 if (ICMPChecksum((uint16_t *) icmph, pctx->p.ip_len - (pctx->p.iph->ihl << 2) )) in ProcessICMPECHORequest() 160 ICMPOutput(mtcp, pctx, pctx->p.iph->daddr, pctx->p.iph->saddr, ICMP_ECHOREPLY, 0, in ProcessICMPECHORequest() 162 (uint16_t) (pctx->p.ip_len - (pctx->p.iph->ihl << 2) - sizeof(struct icmphdr)) ); in ProcessICMPECHORequest() 187 ProcessICMPPacket(mtcp_manager_t mtcp, struct pkt_ctx *pctx) in ProcessICMPPacket() argument 189 struct icmphdr *icmph = (struct icmphdr *) IP_NEXT_PTR(pctx->p.iph); in ProcessICMPPacket() 195 if (pctx->p.iph->daddr == g_config.mos->netdev_table->ent[i]->ip_addr) { in ProcessICMPPacket() 206 ProcessICMPECHORequest(mtcp, pctx, icmph); in ProcessICMPPacket() [all …]
|
| H A D | tcp_out.c | 152 struct pkt_ctx pctx; in SendTCPPacketStandalone() local 155 memset(&pctx, 0, sizeof(pctx)); in SendTCPPacketStandalone() 211 pctx.out_ifidx, in SendTCPPacketStandalone() 213 pctx.p.iph); in SendTCPPacketStandalone() 254 struct pkt_ctx pctx; in SendTCPPacket() local 257 memset(&pctx, 0, sizeof(pctx)); in SendTCPPacket() 348 pctx.p.iph); in SendTCPPacket() 987 assert(pctx); in UpdatePassiveSendTCPContext_SynSent() 1035 cur_stream->snd_nxt = pctx->p.seq + pctx->p.payloadlen; in UpdatePassiveSendTCPContext() 1108 cur_stream->sndvar->fss = pctx->p.seq + pctx->p.payloadlen; in UpdatePassiveSendTCPContext() [all …]
|
| H A D | arp.c | 383 ForwardARPPacket(struct mtcp_manager *mtcp, struct pkt_ctx *pctx) in ForwardARPPacket() argument 388 pctx->out_ifidx = in ForwardARPPacket() 389 g_config.mos->nic_forward_table->nic_fwd_table[pctx->p.in_ifidx]; in ForwardARPPacket() 390 if (pctx->out_ifidx != -1) { in ForwardARPPacket() 391 haddr = pctx->p.ethh->h_dest; in ForwardARPPacket() 394 pctx->out_ifidx, haddr, in ForwardARPPacket() 398 memcpy(arph, (pctx->p.ethh + 1), sizeof(struct arphdr)); in ForwardARPPacket()
|
| H A D | event_callback.c | 598 socket_map_t socket, int side, struct pkt_ctx *pctx, event_t events) in HandleCallback() argument 645 if (ISSET_BPFFILTER(fcode) && pctx && EVAL_BPFFILTER(fcode, in HandleCallback() 646 (uint8_t *)pctx->p.iph - sizeof(struct ethhdr), in HandleCallback() 647 pctx->p.ip_len + sizeof(struct ethhdr)) == 0) in HandleCallback() 653 if (ISSET_BPFFILTER(fcode) && pctx && EVAL_BPFFILTER(fcode, in HandleCallback() 654 (uint8_t *)pctx->p.iph - sizeof(struct ethhdr), in HandleCallback() 655 pctx->p.ip_len + sizeof(struct ethhdr)) == 0) in HandleCallback() 670 mtcp->pctx = pctx; /* for mtcp_getlastpkt() */ in HandleCallback()
|
| H A D | mos_api.c | 478 if (mtcp->pctx == NULL) { in mtcp_getlastpkt() 482 cur_pkt_ctx = mtcp->pctx; in mtcp_getlastpkt() 507 cur_pkt_ctx = mtcp->pctx; in mtcp_getlastpkt() 513 cur_pkt_ctx = mtcp->pctx; in mtcp_getlastpkt() 526 mtcp_getlastpkt(mctx_t mctx, int sock, int side, struct pkt_ctx **pctx) in mtcp_getlastpkt() argument 542 *pctx = mtcp->pctx; in mtcp_getlastpkt() 985 cur_pkt_ctx = mtcp->pctx; in mtcp_setlastpkt() 1010 mtcp->pctx->forward = 0; in mtcp_setlastpkt() 1231 if (mtcp->pctx == NULL) { in mtcp_cb_dropcurpkt() 1237 mtcp->pctx->forward = 0; in mtcp_cb_dropcurpkt()
|
| H A D | scalable_event.c | 1025 socket_map_t socket, int side, struct pkt_ctx *pctx, event_t events) in HandleCallback() argument 1069 if (ISSET_BPFFILTER(fcode) && pctx && EVAL_BPFFILTER(fcode, in HandleCallback() 1070 (uint8_t *)pctx->p.iph - sizeof(struct ethhdr), in HandleCallback() 1071 pctx->p.ip_len + sizeof(struct ethhdr)) == 0) in HandleCallback() 1077 if (ISSET_BPFFILTER(fcode) && pctx && EVAL_BPFFILTER(fcode, in HandleCallback() 1078 (uint8_t *)pctx->p.iph - sizeof(struct ethhdr), in HandleCallback() 1079 pctx->p.ip_len + sizeof(struct ethhdr)) == 0) in HandleCallback() 1084 mtcp->pctx = pctx; /* for mtcp_getcurpkt() */ in HandleCallback()
|
| H A D | tcp_rb.c | 893 tcp_rb_overlapchk(mtcp_manager_t mtcp, struct pkt_ctx *pctx, in tcp_rb_overlapchk() argument 902 if (pctx->p.payloadlen > 0 && recvside_stream->rcvvar != NULL in tcp_rb_overlapchk() 905 loff_t off = seq2loff(rb, pctx->p.seq, recvside_stream->rcvvar->irs + 1); in tcp_rb_overlapchk() 907 if (DOESOVERLAP(f->head, f->tail, off, off + pctx->p.payloadlen)) { in tcp_rb_overlapchk() 916 pctx, MOS_ON_REXMIT); in tcp_rb_overlapchk() 922 pctx, MOS_ON_REXMIT); in tcp_rb_overlapchk()
|
| /mOS-networking-stack/core/src/include/ |
| H A D | tcp.h | 9 FillPacketContextTCPInfo(struct pkt_ctx *pctx, struct tcphdr * tcph); 12 FillFlowContext(struct pkt_ctx *pctx, 17 struct pkt_ctx *pctx, uint64_t events); 20 ProcessInTCPPacket(mtcp_manager_t mtcp, struct pkt_ctx *pctx); 24 struct tcp_stream *recvside_stream, struct pkt_ctx *pctx,
|
| H A D | ip_out.h | 12 ForwardIPPacket(mtcp_manager_t mtcp, struct pkt_ctx *pctx); 20 struct pkt_ctx *pctx, uint32_t cur_ts); 24 struct pkt_ctx *pctx, uint32_t cur_ts);
|
| H A D | tcp_in.h | 131 struct pkt_ctx *pctx); 135 struct pkt_ctx *pctx); 142 struct pkt_ctx *pctx); 145 PreRecvTCPEventPrediction(mtcp_manager_t mtcp, struct pkt_ctx *pctx,
|
| H A D | eth_out.h | 16 EthernetOutput(struct mtcp_manager *mtcp, struct pkt_ctx *pctx, 21 ForwardEthernetFrame(struct mtcp_manager *mtcp, struct pkt_ctx *pctx);
|
| H A D | icmp.h | 31 RequestICMP(mtcp_manager_t mtcp, struct pkt_ctx *pctx, uint32_t saddr, uint32_t daddr, 36 ProcessICMPPacket(mtcp_manager_t mtcp, struct pkt_ctx *pctx);
|
| H A D | tcp_out.h | 61 struct pkt_ctx *pctx); 64 PostSendTCPAction(mtcp_manager_t mtcp, struct pkt_ctx *pctx,
|
| H A D | ip_in.h | 8 ProcessInIPv4Packet(mtcp_manager_t mtcp, struct pkt_ctx *pctx);
|
| H A D | arp.h | 33 ForwardARPPacket(mtcp_manager_t mtcp, struct pkt_ctx *pctx);
|
| H A D | event_callback.h | 78 socket_map_t socket, int side, struct pkt_ctx *pctx, event_t events);
|
| H A D | scalable_event.h | 75 socket_map_t socket, int side, struct pkt_ctx *pctx, event_t events);
|
| H A D | tcp_rb.h | 120 tcp_rb_overlapchk(mtcp_manager_t mtcp, struct pkt_ctx *pctx,
|
| H A D | mtcp.h | 245 struct pkt_ctx *pctx; /* current pkt context */ member
|