String is referred in zclient
(version uint8, software Software)
| 1146 | |
| 1147 | // String is referred in zclient |
| 1148 | func (f Flag) String(version uint8, software Software) string { |
| 1149 | var ss []string |
| 1150 | // common flag |
| 1151 | if f&FlagAllowRecursion > 0 { |
| 1152 | ss = append(ss, "FLAG_ALLOW_RECURSION") |
| 1153 | } |
| 1154 | if f&flagSelfRoute > 0 { |
| 1155 | ss = append(ss, "FLAG_SELFROUTE") |
| 1156 | } |
| 1157 | if f&FlagIBGP.ToEach(version, software) > 0 { |
| 1158 | ss = append(ss, "FLAG_IBGP") |
| 1159 | } |
| 1160 | if f&FlagSelected.ToEach(version, software) > 0 { |
| 1161 | ss = append(ss, "FLAG_SELECTED") |
| 1162 | } |
| 1163 | if f&flagEvpnRoute.ToEach(version, software) > 0 { |
| 1164 | ss = append(ss, "FLAG_EVPN_ROUTE") |
| 1165 | } |
| 1166 | if f&flagRRUseDistance.ToEach(version, software) > 0 { |
| 1167 | ss = append(ss, "FLAG_RR_USE_DISTANCE") |
| 1168 | } |
| 1169 | if f&flagFIBOverride.ToEach(version, software) > 0 { |
| 1170 | ss = append(ss, "FLAG_FIB_OVERRIDE") |
| 1171 | } |
| 1172 | if version == 6 && software.name == "frr" && software.version >= 7 && f&flagOnlink > 0 { // frr7.0 only |
| 1173 | ss = append(ss, "FLAG_ONLINK") |
| 1174 | } |
| 1175 | if version == 6 && software.name == "frr" && software.version >= 8 && f&flagTrapped > 0 { // added in frr8 |
| 1176 | ss = append(ss, "FLAG_TRAPPED") |
| 1177 | } |
| 1178 | if f&flagOffloaded > 0 { // added in frr8 |
| 1179 | ss = append(ss, "FLAG_OFFLOADED") |
| 1180 | } |
| 1181 | if f&flagOffloadFailed > 0 { // added in frr8 |
| 1182 | ss = append(ss, "FLAG_OFFLOADFAILED") |
| 1183 | } |
| 1184 | if (version < 6 || version == 6 && software.name == "frr" && software.version < 7) && f&flagStatic > 0 { |
| 1185 | ss = append(ss, "FLAG_STATIC") // quagga, frr3, frr4, frr5, frr6 |
| 1186 | } |
| 1187 | if version < 5 && f&flagBlackhole > 0 { // quagga, frr3 |
| 1188 | ss = append(ss, "FLAG_BLACKHOLE") |
| 1189 | } |
| 1190 | if version < 5 && f&flagReject > 0 { // quagga, frr3 |
| 1191 | ss = append(ss, "FLAG_REJECT") |
| 1192 | } |
| 1193 | if (version == 5 || version == 6 && software.name == "frr" && software.version < 7) && f&flagScopeLink > 0 { |
| 1194 | ss = append(ss, "FLAG_SCOPE_LINK") // frr4, frr5, frr6 |
| 1195 | } |
| 1196 | return strings.Join(ss, "|") |
| 1197 | } |
| 1198 | |
| 1199 | // Nexthop Types. |
| 1200 | // |