@@ -91,11 +91,6 @@ static void run_non_privileged_preconfig(const char *ifname,
9191
9292static struct xsk_umem * create_umem_non_privileged (int sock_fd )
9393{
94- struct xsk_umem_config config = {
95- .fill_size = XSK_RING_PROD__DEFAULT_NUM_DESCS ,
96- .comp_size = XSK_RING_CONS__DEFAULT_NUM_DESCS ,
97- .frame_size = XSK_UMEM__DEFAULT_FRAME_SIZE ,
98- };
9994 struct xsk_umem * umem = NULL ;
10095 struct xsk_ring_cons cq ;
10196 struct xsk_ring_prod fq ;
@@ -107,16 +102,29 @@ static struct xsk_umem *create_umem_non_privileged(int sock_fd)
107102 }
108103
109104 /* This variant requires CAP_NET_RAW, so should fail. */
110- if (!xsk_umem__create (& umem , b , UMEM_SIZE ,
111- & fq , & cq , & config ) || umem ) {
112- perror ("xsk_umem__create succeeded" );
105+ DECLARE_LIBXDP_OPTS (xsk_umem_opts , opts_cap ,
106+ .size = UMEM_SIZE ,
107+ .fill_size = XSK_RING_PROD__DEFAULT_NUM_DESCS ,
108+ .comp_size = XSK_RING_CONS__DEFAULT_NUM_DESCS ,
109+ .frame_size = XSK_UMEM__DEFAULT_FRAME_SIZE ,
110+ );
111+ umem = xsk_umem__create_opts (b , & fq , & cq , & opts_cap );
112+ if (umem ) {
113+ perror ("xsk_umem__create_opts succeeded" );
113114 exit (EXIT_FAILURE );
114115 }
115116
116117 /* This variant shouldn't need any capabilities, so should pass. */
117- if (xsk_umem__create_with_fd (& umem , sock_fd , b , UMEM_SIZE ,
118- & fq , & cq , & config ) || !umem ) {
119- perror ("xsk_umem__create_with_fd failed" );
118+ DECLARE_LIBXDP_OPTS (xsk_umem_opts , opts ,
119+ .fd = sock_fd ,
120+ .size = UMEM_SIZE ,
121+ .fill_size = XSK_RING_PROD__DEFAULT_NUM_DESCS ,
122+ .comp_size = XSK_RING_CONS__DEFAULT_NUM_DESCS ,
123+ .frame_size = XSK_UMEM__DEFAULT_FRAME_SIZE ,
124+ );
125+ umem = xsk_umem__create_opts (b , & fq , & cq , & opts );
126+ if (!umem ) {
127+ perror ("xsk_umem__create_opts failed" );
120128 exit (EXIT_FAILURE );
121129 }
122130
0 commit comments