• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/net_queue_manager/

Lines Matching defs:filter

43 /* This is client_closure for filter management */
102 static struct filter *rx_filters;
103 static struct filter arp_filter_rx;
104 static struct filter arp_filter_tx;
154 * filter registration
183 ETHERSRV_DEBUG("netd did not provided enough for filter transfer\n");
211 * \brief: Registers the filter with network driver
261 ETHERSRV_DEBUG("no memory available for filter transfer\n");
267 /* Create the filter data-structures */
268 struct filter *new_filter_rx =
269 (struct filter *) malloc(sizeof(struct filter));
270 struct filter *new_filter_tx =
271 (struct filter *) malloc(sizeof(struct filter));
275 ETHERSRV_DEBUG("out of memory for filter registration\n");
290 memset(new_filter_rx, 0, sizeof(struct filter));
291 memset(new_filter_tx, 0, sizeof(struct filter));
293 /* Allocate memory for holding the filter-data */
298 ETHERSRV_DEBUG("out of memory for filter data registration\n");
316 /* Zero-out the area of filter-data */
322 // rx filter
331 ETHERSRV_DEBUG("filter registered with id %" PRIu64 " and len %d\n",
334 // tx filter
351 } /* end function: register filter */
353 static struct filter *delete_from_filter_list(struct filter *head,
356 struct filter *prev = NULL;
372 * \brief: Deregisters the filter with network driver
381 /* Create the filter data-structures */
382 struct filter *rx_filter = NULL;
383 struct filter *tx_filter = NULL;
386 /* FIXME: delete the tx_filter from the filter list "buffer_rx->tx_filters" */
409 static struct filter *find_from_filter_list(struct filter *head,
422 * \brief: re-registers the filter with network driver
432 /* Create the filter data-structures */
433 struct filter *rx_filter = NULL;
435 // struct filter *tx_filter = NULL;
438 /* FIXME: delete the tx_filter from the filter list "buffer_rx->tx_filters" */
470 * \brief: pause the filter with network driver
479 /* Create the filter data-structures */
480 struct filter *rx_filter = NULL;
482 // struct filter *tx_filter = NULL;
485 /* FIXME: delete the tx_filter from the filter list "buffer_rx->tx_filters" */
561 ETHERSRV_DEBUG("#### The received arp RX filter is\n");
570 ETHERSRV_DEBUG("#### The received arp RX filter is\n");
577 struct filter *head = rx_filters;
581 * filter with e1000n
612 struct filter *execute_filters(void *data, size_t len)
614 struct filter *head = rx_filters;
619 // ETHERSRV_DEBUG("Starting the filter matching....\n");
629 // Currently we just take the most recently added filter as
737 struct filter *filter = execute_filters(packet, len);
739 if (filter == NULL) {
740 // No matching filter
751 // Matching filter found, sending packet to application
752 struct buffer_descriptor *buffer = filter->buffer;
777 if (filter->paused) {
778 // Packet belongs to paused filter
779 assert(filter->pause_bufpos < MAX_PAUSE_BUFFER);
780 struct bufdesc *bd = &filter->pause_buffer[filter->pause_bufpos++];