Lines Matching refs:nf

23 static inline bool qemu_can_skip_netfilter(NetFilterState *nf)  in qemu_can_skip_netfilter()  argument
25 return !nf->on; in qemu_can_skip_netfilter()
28 ssize_t qemu_netfilter_receive(NetFilterState *nf, in qemu_netfilter_receive() argument
36 if (qemu_can_skip_netfilter(nf)) { in qemu_netfilter_receive()
39 if (nf->direction == direction || in qemu_netfilter_receive()
40 nf->direction == NET_FILTER_DIRECTION_ALL) { in qemu_netfilter_receive()
41 return NETFILTER_GET_CLASS(OBJECT(nf))->receive_iov( in qemu_netfilter_receive()
42 nf, sender, flags, iov, iovcnt, sent_cb); in qemu_netfilter_receive()
48 static NetFilterState *netfilter_next(NetFilterState *nf, in netfilter_next() argument
55 next = QTAILQ_NEXT(nf, next); in netfilter_next()
58 next = QTAILQ_PREV(nf, next); in netfilter_next()
72 NetFilterState *nf = opaque; in qemu_netfilter_pass_to_next() local
80 if (nf->direction == NET_FILTER_DIRECTION_ALL) { in qemu_netfilter_pass_to_next()
81 if (sender == nf->netdev) { in qemu_netfilter_pass_to_next()
88 direction = nf->direction; in qemu_netfilter_pass_to_next()
91 next = netfilter_next(nf, direction); in qemu_netfilter_pass_to_next()
124 NetFilterState *nf = NETFILTER(obj); in netfilter_get_netdev_id() local
126 return g_strdup(nf->netdev_id); in netfilter_get_netdev_id()
131 NetFilterState *nf = NETFILTER(obj); in netfilter_set_netdev_id() local
133 nf->netdev_id = g_strdup(str); in netfilter_set_netdev_id()
138 NetFilterState *nf = NETFILTER(obj); in netfilter_get_direction() local
139 return nf->direction; in netfilter_get_direction()
144 NetFilterState *nf = NETFILTER(obj); in netfilter_set_direction() local
145 nf->direction = direction; in netfilter_set_direction()
150 NetFilterState *nf = NETFILTER(obj); in netfilter_get_status() local
152 return nf->on ? g_strdup("on") : g_strdup("off"); in netfilter_get_status()
157 NetFilterState *nf = NETFILTER(obj); in netfilter_set_status() local
165 if (nf->on == !strcmp(str, "on")) { in netfilter_set_status()
168 nf->on = !nf->on; in netfilter_set_status()
169 if (nf->netdev && nfc->status_changed) { in netfilter_set_status()
170 nfc->status_changed(nf, errp); in netfilter_set_status()
176 NetFilterState *nf = NETFILTER(obj); in netfilter_get_position() local
178 return g_strdup(nf->position); in netfilter_get_position()
183 NetFilterState *nf = NETFILTER(obj); in netfilter_set_position() local
185 nf->position = g_strdup(str); in netfilter_set_position()
190 NetFilterState *nf = NETFILTER(obj); in netfilter_get_insert() local
192 return nf->insert_before_flag ? g_strdup("before") : g_strdup("behind"); in netfilter_get_insert()
197 NetFilterState *nf = NETFILTER(obj); in netfilter_set_insert() local
205 nf->insert_before_flag = !strcmp(str, "before"); in netfilter_set_insert()
210 NetFilterState *nf = NETFILTER(obj); in netfilter_init() local
212 nf->on = true; in netfilter_init()
213 nf->insert_before_flag = false; in netfilter_init()
214 nf->position = g_strdup("tail"); in netfilter_init()
219 NetFilterState *nf = NETFILTER(uc); in netfilter_complete() local
226 if (!nf->netdev_id) { in netfilter_complete()
231 queues = qemu_find_net_clients_except(nf->netdev_id, ncs, in netfilter_complete()
248 if (strcmp(nf->position, "head") && strcmp(nf->position, "tail")) { in netfilter_complete()
253 if (!g_str_has_prefix(nf->position, "id=")) { in netfilter_complete()
260 position_id = g_strndup(nf->position + 3, strlen(nf->position) - 3); in netfilter_complete()
283 nf->netdev = ncs[0]; in netfilter_complete()
286 nfc->setup(nf, &local_err); in netfilter_complete()
294 if (nf->insert_before_flag) { in netfilter_complete()
295 QTAILQ_INSERT_BEFORE(position, nf, next); in netfilter_complete()
297 QTAILQ_INSERT_AFTER(&nf->netdev->filters, position, nf, next); in netfilter_complete()
299 } else if (!strcmp(nf->position, "head")) { in netfilter_complete()
300 QTAILQ_INSERT_HEAD(&nf->netdev->filters, nf, next); in netfilter_complete()
301 } else if (!strcmp(nf->position, "tail")) { in netfilter_complete()
302 QTAILQ_INSERT_TAIL(&nf->netdev->filters, nf, next); in netfilter_complete()
308 NetFilterState *nf = NETFILTER(obj); in netfilter_finalize() local
312 nfc->cleanup(nf); in netfilter_finalize()
315 if (nf->netdev && !QTAILQ_EMPTY(&nf->netdev->filters) && in netfilter_finalize()
316 QTAILQ_IN_USE(nf, next)) { in netfilter_finalize()
317 QTAILQ_REMOVE(&nf->netdev->filters, nf, next); in netfilter_finalize()
319 g_free(nf->netdev_id); in netfilter_finalize()
320 g_free(nf->position); in netfilter_finalize()
323 static void default_handle_event(NetFilterState *nf, int event, Error **errp) in default_handle_event() argument
329 object_property_set_str(OBJECT(nf), "status", "off", errp); in default_handle_event()