Lines Matching refs:sock

71 	void (*walk)(int sock, struct ring *ring);
101 int ret, sock = socket(PF_PACKET, SOCK_RAW, 0); in pfsocket() local
102 if (sock == -1) { in pfsocket()
107 ret = setsockopt(sock, SOL_PACKET, PACKET_VERSION, &ver, sizeof(ver)); in pfsocket()
113 return sock; in pfsocket()
220 static void walk_v1_v2_rx(int sock, struct ring *ring) in walk_v1_v2_rx() argument
232 pfd.fd = sock; in walk_v1_v2_rx()
342 static void __v1_v2_set_packet_loss_discard(int sock) in __v1_v2_set_packet_loss_discard() argument
346 ret = setsockopt(sock, SOL_PACKET, PACKET_LOSS, (void *) &discard, in __v1_v2_set_packet_loss_discard()
369 static void walk_tx(int sock, struct ring *ring) in walk_tx() argument
411 pfd.fd = sock; in walk_tx()
473 ret = sendto(sock, NULL, 0, 0, NULL, 0); in walk_tx()
500 static void walk_v1_v2(int sock, struct ring *ring) in walk_v1_v2() argument
503 walk_v1_v2_rx(sock, ring); in walk_v1_v2()
505 walk_tx(sock, ring); in walk_v1_v2()
581 static void walk_v3_rx(int sock, struct ring *ring) in walk_v3_rx() argument
593 pfd.fd = sock; in walk_v3_rx()
622 static void walk_v3(int sock, struct ring *ring) in walk_v3() argument
625 walk_v3_rx(sock, ring); in walk_v3()
627 walk_tx(sock, ring); in walk_v3()
667 static void setup_ring(int sock, struct ring *ring, int version, int type) in setup_ring() argument
679 __v1_v2_set_packet_loss_discard(sock); in setup_ring()
681 ret = setsockopt(sock, SOL_PACKET, type, &ring->req, in setup_ring()
687 ret = setsockopt(sock, SOL_PACKET, type, &ring->req3, in setup_ring()
708 static void mmap_ring(int sock, struct ring *ring) in mmap_ring() argument
713 MAP_SHARED | MAP_LOCKED | MAP_POPULATE, sock, 0); in mmap_ring()
726 static void bind_ring(int sock, struct ring *ring) in bind_ring() argument
730 pair_udp_setfilter(sock); in bind_ring()
739 ret = bind(sock, (struct sockaddr *) &ring->ll, sizeof(ring->ll)); in bind_ring()
746 static void walk_ring(int sock, struct ring *ring) in walk_ring() argument
748 ring->walk(sock, ring); in walk_ring()
751 static void unmap_ring(int sock, struct ring *ring) in unmap_ring() argument
804 int sock; in test_tpacket() local
819 sock = pfsocket(version); in test_tpacket()
821 setup_ring(sock, &ring, version, type); in test_tpacket()
822 mmap_ring(sock, &ring); in test_tpacket()
823 bind_ring(sock, &ring); in test_tpacket()
824 walk_ring(sock, &ring); in test_tpacket()
825 unmap_ring(sock, &ring); in test_tpacket()
826 close(sock); in test_tpacket()