diff --git a/syscall/linux/constants.lua b/syscall/linux/constants.lua index 23c68af3f3..a1b5c3dcbc 100644 --- a/syscall/linux/constants.lua +++ b/syscall/linux/constants.lua @@ -1162,6 +1162,10 @@ c.RTA = strflag { MP_ALGO = 14, TABLE = 15, MARK = 16, + MFC_STATS = 17, + VIA = 18, + NEWDST = 19, + PREF = 20, } -- route flags diff --git a/syscall/linux/nl.lua b/syscall/linux/nl.lua index fad5625ed8..20c4dcbb0b 100644 --- a/syscall/linux/nl.lua +++ b/syscall/linux/nl.lua @@ -173,6 +173,10 @@ local rta_decode = { ir.cacheinfo = t.rta_cacheinfo() ffi.copy(ir.cacheinfo, buf, s.rta_cacheinfo) end, + [c.RTA.PREF] = function(ir, buf, len) + local i = pt.uint8(buf) + ir.pref = tonumber(i[0]) + end, -- TODO some missing }