xref: /linux/tools/testing/selftests/bpf/bpf_sockopt_helpers.h (revision d0034a7a4ac7fae708146ac0059b9c47a1543f0d)
162476cc1SStanislav Fomichev /* SPDX-License-Identifier: GPL-2.0 */
262476cc1SStanislav Fomichev 
362476cc1SStanislav Fomichev #include <sys/socket.h>
462476cc1SStanislav Fomichev #include <bpf/bpf_helpers.h>
562476cc1SStanislav Fomichev 
get_set_sk_priority(void * ctx)662476cc1SStanislav Fomichev int get_set_sk_priority(void *ctx)
762476cc1SStanislav Fomichev {
862476cc1SStanislav Fomichev 	int prio;
962476cc1SStanislav Fomichev 
1062476cc1SStanislav Fomichev 	/* Verify that context allows calling bpf_getsockopt and
1162476cc1SStanislav Fomichev 	 * bpf_setsockopt by reading and writing back socket
1262476cc1SStanislav Fomichev 	 * priority.
1362476cc1SStanislav Fomichev 	 */
1462476cc1SStanislav Fomichev 
1562476cc1SStanislav Fomichev 	if (bpf_getsockopt(ctx, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio)))
1662476cc1SStanislav Fomichev 		return 0;
1762476cc1SStanislav Fomichev 	if (bpf_setsockopt(ctx, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio)))
1862476cc1SStanislav Fomichev 		return 0;
1962476cc1SStanislav Fomichev 
2062476cc1SStanislav Fomichev 	return 1;
2162476cc1SStanislav Fomichev }
22