]>
git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_tx_queue.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * IS-IS Rout(e)ing protocol - LSP TX Queuing logic
5 * Copyright (C) 2018 Christian Franke
7 * This file is part of FRRouting (FRR)
9 #ifndef ISIS_TX_QUEUE_H
10 #define ISIS_TX_QUEUE_H
19 struct isis_tx_queue
*isis_tx_queue_new(
20 struct isis_circuit
*circuit
,
21 void(*send_event
)(struct isis_circuit
*circuit
,
26 void isis_tx_queue_free(struct isis_tx_queue
*queue
);
28 #define isis_tx_queue_add(queue, lsp, type) \
29 _isis_tx_queue_add((queue), (lsp), (type), \
30 __func__, __FILE__, __LINE__)
31 void _isis_tx_queue_add(struct isis_tx_queue
*queue
, struct isis_lsp
*lsp
,
32 enum isis_tx_type type
, const char *func
,
33 const char *file
, int line
);
35 #define isis_tx_queue_del(queue, lsp) \
36 _isis_tx_queue_del((queue), (lsp), __func__, __FILE__, __LINE__)
37 void _isis_tx_queue_del(struct isis_tx_queue
*queue
, struct isis_lsp
*lsp
,
38 const char *func
, const char *file
, int line
);
40 unsigned long isis_tx_queue_len(struct isis_tx_queue
*queue
);
42 void isis_tx_queue_clean(struct isis_tx_queue
*queue
);