Lines Matching refs:sock

83 	void (*walk)(int sock, struct ring *ring);
113 int ret, sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); in pfsocket() local
114 if (sock == -1) { in pfsocket()
119 ret = setsockopt(sock, SOL_PACKET, PACKET_VERSION, &ver, sizeof(ver)); in pfsocket()
125 return sock; in pfsocket()
232 static void walk_v1_v2_rx(int sock, struct ring *ring) in walk_v1_v2_rx() argument
242 pair_udp_setfilter(sock); in walk_v1_v2_rx()
245 pfd.fd = sock; in walk_v1_v2_rx()
339 static void __v1_v2_set_packet_loss_discard(int sock) in __v1_v2_set_packet_loss_discard() argument
343 ret = setsockopt(sock, SOL_PACKET, PACKET_LOSS, (void *) &discard, in __v1_v2_set_packet_loss_discard()
351 static void walk_v1_v2_tx(int sock, struct ring *ring) in walk_v1_v2_tx() argument
383 pfd.fd = sock; in walk_v1_v2_tx()
431 ret = sendto(sock, NULL, 0, 0, NULL, 0); in walk_v1_v2_tx()
458 static void walk_v1_v2(int sock, struct ring *ring) in walk_v1_v2() argument
461 walk_v1_v2_rx(sock, ring); in walk_v1_v2()
463 walk_v1_v2_tx(sock, ring); in walk_v1_v2()
539 static void walk_v3_rx(int sock, struct ring *ring) in walk_v3_rx() argument
549 pair_udp_setfilter(sock); in walk_v3_rx()
552 pfd.fd = sock; in walk_v3_rx()
581 static void walk_v3(int sock, struct ring *ring) in walk_v3() argument
584 walk_v3_rx(sock, ring); in walk_v3()
625 static void setup_ring(int sock, struct ring *ring, int version, int type) in setup_ring() argument
637 __v1_v2_set_packet_loss_discard(sock); in setup_ring()
639 ret = setsockopt(sock, SOL_PACKET, type, &ring->req, in setup_ring()
645 ret = setsockopt(sock, SOL_PACKET, type, &ring->req3, in setup_ring()
666 static void mmap_ring(int sock, struct ring *ring) in mmap_ring() argument
671 MAP_SHARED | MAP_LOCKED | MAP_POPULATE, sock, 0); in mmap_ring()
684 static void bind_ring(int sock, struct ring *ring) in bind_ring() argument
695 ret = bind(sock, (struct sockaddr *) &ring->ll, sizeof(ring->ll)); in bind_ring()
702 static void walk_ring(int sock, struct ring *ring) in walk_ring() argument
704 ring->walk(sock, ring); in walk_ring()
707 static void unmap_ring(int sock, struct ring *ring) in unmap_ring() argument
760 int sock; in test_tpacket() local
775 sock = pfsocket(version); in test_tpacket()
777 setup_ring(sock, &ring, version, type); in test_tpacket()
778 mmap_ring(sock, &ring); in test_tpacket()
779 bind_ring(sock, &ring); in test_tpacket()
780 walk_ring(sock, &ring); in test_tpacket()
781 unmap_ring(sock, &ring); in test_tpacket()
782 close(sock); in test_tpacket()