@@ -121,7 +121,7 @@ static ssize_t handle_read(netdev_t *netdev,
121
121
ssize_t plen = 0 ;
122
122
#define _ (dev ) NETDEV_IMPL_##dev
123
123
switch (netdev -> type ) {
124
- case _ (tap ):
124
+ case _ (tap ): {
125
125
net_tap_options_t * tap = (net_tap_options_t * ) netdev -> op ;
126
126
plen = readv (tap -> tap_fd , iovs_cursor , niovs );
127
127
if (plen < 0 && (errno == EWOULDBLOCK || errno == EAGAIN )) {
@@ -134,6 +134,7 @@ static ssize_t handle_read(netdev_t *netdev,
134
134
strerror (errno ));
135
135
}
136
136
break ;
137
+ }
137
138
case _ (user ):
138
139
/* TODO: handle read */
139
140
break ;
@@ -152,7 +153,7 @@ static ssize_t handle_write(netdev_t *netdev,
152
153
ssize_t plen = 0 ;
153
154
#define _ (dev ) NETDEV_IMPL_##dev
154
155
switch (netdev -> type ) {
155
- case _ (tap ):
156
+ case _ (tap ): {
156
157
net_tap_options_t * tap = (net_tap_options_t * ) netdev -> op ;
157
158
plen = writev (tap -> tap_fd , iovs_cursor , niovs );
158
159
if (plen < 0 && (errno == EWOULDBLOCK || errno == EAGAIN )) {
@@ -165,6 +166,7 @@ static ssize_t handle_write(netdev_t *netdev,
165
166
strerror (errno ));
166
167
}
167
168
break ;
169
+ }
168
170
case _ (user ):
169
171
/* TODO: handle slirp_input */
170
172
break ;
@@ -280,7 +282,7 @@ void virtio_net_refresh_queue(virtio_net_state_t *vnet)
280
282
netdev_impl_t dev_type = vnet -> peer .type ;
281
283
#define _ (dev ) NETDEV_IMPL_##dev
282
284
switch (dev_type ) {
283
- case _ (tap ):
285
+ case _ (tap ): {
284
286
net_tap_options_t * tap = (net_tap_options_t * ) vnet -> peer .op ;
285
287
struct pollfd pfd = {tap -> tap_fd , POLLIN | POLLOUT , 0 };
286
288
poll (& pfd , 1 , 0 );
@@ -293,6 +295,7 @@ void virtio_net_refresh_queue(virtio_net_state_t *vnet)
293
295
virtio_net_try_tx (vnet );
294
296
}
295
297
break ;
298
+ }
296
299
case _ (user ):
297
300
/* TODO: handle slirp input/output */
298
301
break ;
0 commit comments