Lines Matching full:pd

254 static int dpdk_init_timer(struct pcap_dpdk *pd){  in dpdk_init_timer()  argument
255 gettimeofday(&(pd->ts_helper.start_time),NULL); in dpdk_init_timer()
256 pd->ts_helper.start_cycles = rte_get_timer_cycles(); in dpdk_init_timer()
257 pd->ts_helper.hz = rte_get_timer_hz(); in dpdk_init_timer()
258 if (pd->ts_helper.hz == 0){ in dpdk_init_timer()
287 struct pcap_dpdk *pd = (struct pcap_dpdk*)(p->priv); in dpdk_read_with_timeout() local
291 if (pd->nonblock){ in dpdk_read_with_timeout()
293 nb_rx = (int)rte_eth_rx_burst(pd->portid, 0, pkts_burst, burst_cnt); in dpdk_read_with_timeout()
298 nb_rx = (int)rte_eth_rx_burst(pd->portid, 0, pkts_burst, burst_cnt); in dpdk_read_with_timeout()
317 struct pcap_dpdk *pd = (struct pcap_dpdk*)(p->priv); in pcap_dpdk_dispatch() local
363 if (pd->nonblock){ in pcap_dpdk_dispatch()
380 calculate_timestamp(&(pd->ts_helper),&(pcap_header.ts)); in pcap_dpdk_dispatch()
397 gather_len = dpdk_gather_data(pd->pcap_tmp_buf, RTE_ETH_PCAP_SNAPLEN, m); in pcap_dpdk_dispatch()
398 bp = pd->pcap_tmp_buf; in pcap_dpdk_dispatch()
411 pd->bpf_drop++; in pcap_dpdk_dispatch()
436 struct pcap_dpdk *pd = p->priv; in pcap_dpdk_close() local
437 if (pd==NULL) in pcap_dpdk_close()
441 if (pd->must_clear_promisc) in pcap_dpdk_close()
443 rte_eth_promiscuous_disable(pd->portid); in pcap_dpdk_close()
445 rte_eth_dev_stop(pd->portid); in pcap_dpdk_close()
446 rte_eth_dev_close(pd->portid); in pcap_dpdk_close()
450 static void nic_stats_display(struct pcap_dpdk *pd) in nic_stats_display() argument
452 uint16_t portid = pd->portid; in nic_stats_display()
458 …RTE_LOG(INFO,USER1, "portid:%d, RX-PPS: %-10"PRIu64" RX-Mbps: %.2lf\n", portid, pd->pps, pd->bps/1… in nic_stats_display()
463 struct pcap_dpdk *pd = p->priv; in pcap_dpdk_stats() local
464 calculate_timestamp(&(pd->ts_helper), &(pd->curr_ts)); in pcap_dpdk_stats()
465 rte_eth_stats_get(pd->portid,&(pd->curr_stats)); in pcap_dpdk_stats()
467 ps->ps_recv = pd->curr_stats.ipackets; in pcap_dpdk_stats()
468 ps->ps_drop = pd->curr_stats.ierrors; in pcap_dpdk_stats()
469 ps->ps_drop += pd->bpf_drop; in pcap_dpdk_stats()
470 ps->ps_ifdrop = pd->curr_stats.imissed; in pcap_dpdk_stats()
472 uint64_t delta_pkt = pd->curr_stats.ipackets - pd->prev_stats.ipackets; in pcap_dpdk_stats()
474 timersub(&(pd->curr_ts),&(pd->prev_ts), &delta_tm); in pcap_dpdk_stats()
476 uint64_t delta_bit = (pd->curr_stats.ibytes-pd->prev_stats.ibytes)*8; in pcap_dpdk_stats()
478 pd->pps = (uint64_t)(delta_pkt*1e6f/delta_usec); in pcap_dpdk_stats()
479 pd->bps = (uint64_t)(delta_bit*1e6f/delta_usec); in pcap_dpdk_stats()
480 nic_stats_display(pd); in pcap_dpdk_stats()
481 pd->prev_stats = pd->curr_stats; in pcap_dpdk_stats()
482 pd->prev_ts = pd->curr_ts; in pcap_dpdk_stats()
487 struct pcap_dpdk *pd = (struct pcap_dpdk*)(p->priv); in pcap_dpdk_setnonblock() local
488 pd->nonblock = nonblock; in pcap_dpdk_setnonblock()
493 struct pcap_dpdk *pd = (struct pcap_dpdk*)(p->priv); in pcap_dpdk_getnonblock() local
494 return pd->nonblock; in pcap_dpdk_getnonblock()
754 struct pcap_dpdk *pd = p->priv; in pcap_dpdk_activate() local
755 pd->orig = p; in pcap_dpdk_activate()
788 ret = dpdk_init_timer(pd); in pcap_dpdk_activate()
816 pd->portid = portid; in pcap_dpdk_activate()
823 pd->pktmbuf_pool = rte_pktmbuf_pool_create(MBUF_POOL_NAME, nb_mbufs, in pcap_dpdk_activate()
826 if (pd->pktmbuf_pool == NULL) in pcap_dpdk_activate()
863 rte_eth_macaddr_get(portid, &(pd->eth_addr)); in pcap_dpdk_activate()
864 eth_addr_str(&(pd->eth_addr), pd->mac_addr, DPDK_MAC_ADDR_SIZE-1); in pcap_dpdk_activate()
872 pd->pktmbuf_pool); in pcap_dpdk_activate()
923 pd->must_clear_promisc=1; in pcap_dpdk_activate()
935 rte_eth_stats_reset(pd->portid); in pcap_dpdk_activate()
936 calculate_timestamp(&(pd->ts_helper), &(pd->prev_ts)); in pcap_dpdk_activate()
937 rte_eth_stats_get(pd->portid,&(pd->prev_stats)); in pcap_dpdk_activate()
939 pd->portid = portid; in pcap_dpdk_activate()
940 p->fd = pd->portid; in pcap_dpdk_activate()
959 pd->required_select_timeout.tv_sec = 0; in pcap_dpdk_activate()
960 pd->required_select_timeout.tv_usec = DPDK_DEF_MIN_SLEEP_MS*1000; in pcap_dpdk_activate()
961 p->required_select_timeout = &pd->required_select_timeout; in pcap_dpdk_activate()
969 rte_eth_dev_get_name_by_port(portid,pd->pci_addr); in pcap_dpdk_activate()
970 …, USER1,"Port %d device: %s, MAC:%s, PCI:%s\n", portid, p->opt.device, pd->mac_addr, pd->pci_addr); in pcap_dpdk_activate()