iprule: add ipproto property
authorPaul Donald <newtwen+github@gmail.com>
Thu, 17 Oct 2024 14:28:25 +0000 (16:28 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 25 Nov 2024 09:41:57 +0000 (10:41 +0100)
commitd29cf707478cfc5465fc8a7b8ccfde72a739a4f6
treef7997c2fdaf8e7881e2c64cc2faf43f3f31c8f1c
parenta39fe3a8b1506c5126ae7ac3007d4621898d05d8
iprule: add ipproto property

```
config rule
option ...
option ipproto '17'
```

This allows handling rules which anchor to protocol number like:

`ip ru add from all ipproto udp table udp_table prior 10`

Handle ipproto as an unsigned integer.

https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

Example:

config rule
option in 'lan'
option src '10.48.0.0/16'
option out 'lan'
option dest '192.168.1.144/32'
option lookup 'main'
option ipproto '17'

Results in

~# ip rule
0: from all lookup local
1: from 10.48.0.0/16 to 192.168.1.144 iif br-lan oif br-lan ipproto udp lookup main

Tested on 23.05.5 x86_64

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
iprule.c
iprule.h
system-linux.c