Commit fc31188
ofproto-dpif: Limit recirc_id to 28 bits for TC compatibility.
The netdev-offload-tc module uses a flow's recirc_id (a uint32_t)
as the TC flower chain ID during offloading. However, the kernel's
TC implementation reserves the upper 4 bits of the chain index for
extended action opcodes. If a recirc_id exceeds (2^28 - 1), the
kernel rejects the flow offload with EINVAL. This patch caps the
maximum recirc_id to (2^28 - 1) to prevent these failures.
This limit is sufficiently high that it is unlikely to impact the
number of active datapath flows in practice.
Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2025-November/427485.html
Suggested-by: Ilya Maximets <i.maximets@ovn.org>
Suggested-by: Eelco Chaudron <echaudro@redhat.com>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
Signed-off-by: Numan Siddique <numans@ovn.org>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>1 parent 916ec33 commit fc31188
1 file changed
+8
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
41 | 46 | | |
42 | 47 | | |
43 | 48 | | |
| |||
227 | 232 | | |
228 | 233 | | |
229 | 234 | | |
230 | | - | |
231 | | - | |
| 235 | + | |
| 236 | + | |
232 | 237 | | |
233 | 238 | | |
234 | 239 | | |
| |||
247 | 252 | | |
248 | 253 | | |
249 | 254 | | |
250 | | - | |
| 255 | + | |
251 | 256 | | |
252 | 257 | | |
253 | 258 | | |
| |||
0 commit comments