summaryrefslogtreecommitdiff
path: root/src/network/netdev/netdev.h
diff options
context:
space:
mode:
authorSusant Sahani <ssahani@vmware.com>2019-12-07 14:35:55 +0100
committerSusant Sahani <ssahani@vmware.com>2019-12-07 15:29:50 +0100
commit3295a461b373135e13b409288501cd84b2a69036 (patch)
tree2d658f77c88414f4be6fe8ff60b42c10cef50204 /src/network/netdev/netdev.h
parentcec1552ad4e0c8276286efa3619db2e2aefb8413 (diff)
downloadsystemd-3295a461b373135e13b409288501cd84b2a69036.tar.gz
network: introduce ifb (Intermediate Functional Block)
Intermediate Functional Block The Intermediate Functional Block (ifb) pseudo network interface acts as a QoS concentrator for multiple different sources of traffic. Packets from or to other interfaces have to be redirected to it using the mirred action in order to be handled, regularly routed traffic will be dropped. This way, a single stack of qdiscs, classes and filters can be shared between multiple interfaces. Here's a simple example to feed incoming traffic from multiple interfaces through a Stochastic Fairness Queue (sfq): (1) # modprobe ifb (2) # ip link set ifb0 up (3) # tc qdisc add dev ifb0 root sfq
Diffstat (limited to 'src/network/netdev/netdev.h')
-rw-r--r--src/network/netdev/netdev.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/network/netdev/netdev.h b/src/network/netdev/netdev.h
index 078d0aca4f..cc530022c1 100644
--- a/src/network/netdev/netdev.h
+++ b/src/network/netdev/netdev.h
@@ -80,6 +80,7 @@ typedef enum NetDevKind {
NETDEV_KIND_MACSEC,
NETDEV_KIND_NLMON,
NETDEV_KIND_XFRM,
+ NETDEV_KIND_IFB,
_NETDEV_KIND_MAX,
_NETDEV_KIND_TUNNEL, /* Used by config_parse_stacked_netdev() */
_NETDEV_KIND_INVALID = -1