| 1 | // SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | |
| 3 | package l2topology |
| 4 | |
| 5 | import ( |
| 6 | "context" |
| 7 | "errors" |
| 8 | ) |
| 9 | |
| 10 | var ( |
| 11 | ErrNotImplemented = errors.New("topology engine not implemented") |
| 12 | ErrInvalidRequest = errors.New("invalid topology discovery request") |
| 13 | ) |
| 14 | |
| 15 | // Engine executes topology discovery from different seed inputs. |
| 16 | type Engine interface { |
| 17 | DiscoverByCIDRs(ctx context.Context, req CIDRRequest) (Result, error) |
| 18 | DiscoverByDevices(ctx context.Context, req DeviceRequest) (Result, error) |
| 19 | } |