Looking at it again, the issue is ipset is not getting populated during reboot. However, it works afterward by manually run the command. Probably some timing issue?
The x3mRouting command should be in /jffs/scripts/nat-start. During bootup, when x3mRouting is run in nat-start, Entware is usually not ready yet. x3mRouting has a 120 timer waiting for Entware. Have you go through syslog during bootup to see what are the x3mRouting logs?
Code:
May 5 13:05:24 (x3mRouting.sh): 2804 Entware not available - wait time 119 secs left
May 5 13:05:25 (x3mRouting.sh): 2804 Entware not available - wait time 118 secs left
If Entware is ready before timer expired and x3mRouting is started properly, you probably should see something like this in your syslog. Can you check if you have something like this?
Code:
(x3mRouting.sh): IPSET created: ALTICE hash:net family inet hashsize 1024 maxelem 65536
Probably can try this: In /jffs/scripts/nat-start file, add a 10s sleep and see if it helps.
By the way, this is how it gets the ip prefix for AS 6128.
Code:
curl -fsL --retry 3 --connect-timeout 3 "https://api.bgpview.io/asn/6128/prefixes" | grep -oE '.{20}([0-9]{1,3}\.){3}[0-9]{1,3}\\/[0-9]{1,2}' | grep -vF "parent" | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}\\/[0-9]{1,2}' | tr -d "\\"