{"record":{"id":"c427fb9f95d451e8","repo":"netbirdio/netbird","slug":"list-rules-w","errorCode":null,"errorMessage":"list rules: %w","messagePattern":"list rules: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"client/firewall/nftables/router_linux.go","lineNumber":1274,"sourceCode":"\t}\n\tr.conn.InsertRule(&nftables.Rule{\n\t\tTable: chain.Table,\n\t\tChain: chain,\n\t\tExprs: []expr.Any{\n\t\t\t&expr.Meta{Key: expr.MetaKeyIIFNAME, Register: 1},\n\t\t\t&expr.Cmp{Op: expr.CmpOpEq, Register: 1, Data: intf},\n\t\t\t&expr.Counter{},\n\t\t\t&expr.Verdict{Kind: expr.VerdictAccept},\n\t\t},\n\t\tUserData: []byte(userDataAcceptInputRule),\n\t})\n}\n\n// existingNetbirdRulesInChain returns the set of netbird-owned UserData tags present in a chain; callers must bail on error since InsertRule is additive.\nfunc (r *router) existingNetbirdRulesInChain(chain *nftables.Chain) (map[string]bool, error) {\n\trules, err := r.conn.GetRules(chain.Table, chain)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"list rules: %w\", err)\n\t}\n\tpresent := map[string]bool{}\n\tfor _, rule := range rules {\n\t\tif !isNetbirdAcceptRuleTag(rule.UserData) {\n\t\t\tcontinue\n\t\t}\n\t\tpresent[string(rule.UserData)] = true\n\t}\n\treturn present, nil\n}\n\nfunc isNetbirdAcceptRuleTag(userData []byte) bool {\n\tswitch string(userData) {\n\tcase userDataAcceptForwardRuleIif,\n\t\tuserDataAcceptForwardRuleOif,\n\t\tuserDataAcceptInputRule:\n\t\treturn true\n\t}","sourceCodeStart":1256,"sourceCodeEnd":1292,"githubUrl":"https://github.com/netbirdio/netbird/blob/93e97f4bf1ad715072dcb3fb6cdb1763431b5a9c/client/firewall/nftables/router_linux.go#L1256-L1292","documentation":"Error \"list rules: %w\" thrown in netbirdio/netbird.","triggerScenarios":"Thrown at client/firewall/nftables/router_linux.go:1274 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"93e97f4bf1ad715072dcb3fb6cdb1763431b5a9c","analyzedAt":"2026-08-16T03:09:19.136Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}