ToEach is referred in zclient
(version uint8, software Software)
| 1127 | |
| 1128 | // ToEach is referred in zclient |
| 1129 | func (f Flag) ToEach(version uint8, software Software) Flag { |
| 1130 | if version == 6 && software.name == "frr" && software.version >= 7 || f < FlagIBGP || f > flagRRUseDistance { |
| 1131 | return f |
| 1132 | } |
| 1133 | switch f { |
| 1134 | case FlagIBGP, FlagSelected: // 0x04->0x08,0x08->0x10(quagga, frr3,4,5,6) |
| 1135 | return f << 1 |
| 1136 | case flagEvpnRoute, flagRRUseDistance: // 0x20->0x400,0x40->0x800(frr4,5,6) |
| 1137 | return f << 5 |
| 1138 | case flagFIBOverride: |
| 1139 | if version < 4 { |
| 1140 | return f << 1 // 0x10->0x20(quagga) |
| 1141 | } |
| 1142 | return f << 5 // 0x10->0x200(frr3, frr4, frr5, frr6) |
| 1143 | } |
| 1144 | return f |
| 1145 | } |
| 1146 | |
| 1147 | // String is referred in zclient |
| 1148 | func (f Flag) String(version uint8, software Software) string { |
no outgoing calls