# 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

### 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