# Episode 173 - Cilium 1.17 Features {%youtube v5Ak2Kj7Rhc %} ## Office hours If you have any questions please drop them in the chat! ## Events - KubeCon EU, 23 days! ## News * [cilium newsletter](https://cilium.io/newsletter) ## Links https://github.com/cilium/cilium/blob/v1.17/CHANGELOG.md ## Cilium v1.17 ### Metallb removed It has been deprecacted since v1.14... ### Bandwith manager with TC ``` bandwidth.cilium.io/priority: ``` - https://man7.org/linux/man-pages/man8/tc-fq.8.html - https://ztex.medium.com/demystify-the-fair-queuing-fq-packet-scheduler-in-linux-kernel-6-7-060c2b2f6f1a How does this work? In this example we want to make sure that file transfer (SFTP) doesn't overload the interface 1. Add a new qdisc to the ethernet adapter 2. Add a filter to the device (now that it has a qdisc applied) 3. Create a behaviour when a flow matches ``` # Create root FQ qdisc tc qdisc add dev eth0 root fq # Match SSH file transfer flow tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip port 22 0xffff flowid 1:1 # Limit matched flow to 10Mbps tc class add dev eth0 parent 1:1 classid 1:11 fq rate 10Mbit ceil 10Mbit ``` https://tldp.org/HOWTO/Traffic-Control-HOWTO/components.html ![](https://miro.medium.com/v2/resize:fit:1400/format:webp/0*L5ZDo5fAScMsDP_P.png) ### Static addresses for Gateway API https://docs.cilium.io/en/stable/network/servicemesh/gateway-api/gateway-api/#gateway-api-addresses-support ### Select load balancing algorithim Either `random` or `maglev` ``` service.cilium.io/lb-algorithm: random ``` https://research.google/pubs/maglev-a-fast-and-reliable-software-network-load-balancer/ https://docs.cilium.io/en/stable/network/kubernetes/kubeproxy-free/#annotation-based-load-balancing-algorithm-selection https://github.com/cilium/cilium/pull/35339/files?short_path=12fd427#diff-12fd427bf22767e2f56790f53c3cef67d6f4e5385f57162216359768d3fdbec5