The FIFO qdisc comes in two flavours:
More...
- bfifo (Byte FIFO)
- Allows enqueuing until the currently queued volume in bytes exceeds the configured limit.backlog contains currently enqueued volume in bytes.
- pfifo (Packet FIFO)
- Allows enquueing until the currently queued number of packets exceeds the configured limit.
The configuration is exactly the same, the decision which of the two variations is going to be used is made based on the kind of the qdisc (rtnl_qdisc_set_kind()).
◆ rtnl_qdisc_fifo_set_limit()
| int rtnl_qdisc_fifo_set_limit |
( |
struct rtnl_qdisc * |
qdisc, |
|
|
int |
limit |
|
) |
| |
- Parameters
-
| qdisc | FIFO qdisc to be modified. |
| limit | New limit. |
- Returns
- 0 on success or a negative error code.
Definition at line 145 of file fifo.c.
146{
147 struct rtnl_fifo *fifo;
148
149 fifo = fifo_alloc(qdisc);
150 if (!fifo)
151 return nl_errno(ENOMEM);
152
153 fifo->qf_limit = limit;
154 fifo->qf_mask |= SCH_FIFO_ATTR_LIMIT;
155
156 return 0;
157}
◆ rtnl_qdisc_fifo_get_limit()
| int rtnl_qdisc_fifo_get_limit |
( |
struct rtnl_qdisc * |
qdisc | ) |
|
- Parameters
-
- Returns
- Numeric limit or a negative error code.
Definition at line 164 of file fifo.c.
165{
166 struct rtnl_fifo *fifo;
167
168 fifo = fifo_qdisc(qdisc);
169 if (fifo && fifo->qf_mask & SCH_FIFO_ATTR_LIMIT)
170 return fifo->qf_limit;
171 else
172 return nl_errno(ENOMEM);
173}