@takodotid/circuit 0.18.1 → 0.18.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js
CHANGED
|
@@ -1086,7 +1086,6 @@ function normal(command) {
|
|
|
1086
1086
|
return result;
|
|
1087
1087
|
}
|
|
1088
1088
|
var IDENTITY = {
|
|
1089
|
-
"/interface wireguard peers": ["public-key"],
|
|
1090
1089
|
"/interface list member": ["list", "interface"],
|
|
1091
1090
|
"/ip firewall address-list": ["list", "address"],
|
|
1092
1091
|
"/ipv6 firewall address-list": ["list", "address"],
|
|
@@ -2279,6 +2278,7 @@ function bgpConnections(out, ctx) {
|
|
|
2279
2278
|
connect: settings.passive ? "no" : undefined,
|
|
2280
2279
|
"hold-time": settings.hold_time ? duration(settings.hold_time) : undefined,
|
|
2281
2280
|
"input.filter": chainName(settings.import ?? REJECT_ALL, family),
|
|
2281
|
+
instance: "default",
|
|
2282
2282
|
[`input.limit-process-routes-${family}`]: settings.max_prefixes,
|
|
2283
2283
|
"keepalive-time": settings.keepalive ? duration(settings.keepalive) : undefined,
|
|
2284
2284
|
listen: settings.passive ? "yes" : undefined,
|
package/package.json
CHANGED
|
@@ -7,12 +7,14 @@ Behaviour that looks like something else. Each one has been hit on a real device
|
|
|
7
7
|
- `[find address=X/Y]` unquoted matches nothing, silently. Every selector the plan builds is quoted.
|
|
8
8
|
- `~` in `find` has no anchors. Match exactly.
|
|
9
9
|
- A property of the same group is printed as a bare suffix, `output.filter-chain=X .network=Y`, which only reads back inside that command. The parser expands it before building a `set`.
|
|
10
|
-
- `/routing bgp connection add` without `local.role` is refused, so the render always states one.
|
|
10
|
+
- `/routing bgp connection add` without `local.role` is refused, so the render always states one. On 7.23 one without `instance` is refused too, `missing value(s) of argument(s) instance`, although the export never prints `instance=default`.
|
|
11
11
|
- A connection without `input.filter` accepts everything. A neighbor without a policy is given `REJECT-ALL`.
|
|
12
12
|
- A session edited repeatedly can stick: SYN both ways, no RST, no log. Remove the connection and add it again.
|
|
13
13
|
- A session that never established is missing from `/routing bgp session print`; look at `/routing bgp connection print`.
|
|
14
14
|
- `tcp-md5-key` set from the CLI has been seen discarded without an error, and a mismatch logs nothing. Confirm with `/tool sniffer quick port=179`.
|
|
15
15
|
- Incoming GRE is subject to the input chain. Accept it before testing the tunnel.
|
|
16
|
+
- A WireGuard peer's name is unique on the device, and a new key under the same name is refused as a new peer, `entry with this name already exists`. The plan finds a peer by name, so a new key is a `set`.
|
|
17
|
+
- `monitor-traffic` on a VLAN interface counts only what the CPU handles, and not consistently: during a flood a VLAN showed 14 Mbps leaving while its physical port sent 0.45 Mbps. Measure on the physical port, `/interface ethernet print stats`, which the switch chip counts.
|
|
16
18
|
- Switch-chip rules have no address lists and no connection state. A drop is an empty `new-dst-ports`.
|
|
17
19
|
- A switch-chip rule's `rate` did not limit traffic the CPU routes. On a CCR2216 on 7.23.5, under a 12 Gbps flood, a rule at `2G` and then at `100M` changed nothing that reached the CPU, while a drop with the same match left 3 Mbps. Drop what you can recognise instead of limiting it.
|
|
18
20
|
- The switch chip reads a UDP fragment after the first as port 0. `src-port=0` drops the rest of a fragmented flood whose first fragments another rule dropped by port; without it they reach the CPU, which holds them waiting for a first fragment that never comes.
|
|
@@ -254,7 +254,6 @@ export function normal(command: Command): Record<string, string> {
|
|
|
254
254
|
|
|
255
255
|
/** Properties that tell two `add` entries of a menu apart. `name` where the menu is not listed. */
|
|
256
256
|
const IDENTITY: Record<string, string[]> = {
|
|
257
|
-
"/interface wireguard peers": ["public-key"],
|
|
258
257
|
"/interface list member": ["list", "interface"],
|
|
259
258
|
"/ip firewall address-list": ["list", "address"],
|
|
260
259
|
"/ipv6 firewall address-list": ["list", "address"],
|
|
@@ -1141,6 +1141,8 @@ function bgpConnections(out: Output, ctx: Context): void {
|
|
|
1141
1141
|
connect: settings.passive ? "no" : undefined,
|
|
1142
1142
|
"hold-time": settings.hold_time ? duration(settings.hold_time) : undefined,
|
|
1143
1143
|
"input.filter": chainName(settings.import ?? REJECT_ALL, family),
|
|
1144
|
+
// The one instance bgpInstance adds. 7.23 refuses a new connection without it.
|
|
1145
|
+
instance: "default",
|
|
1144
1146
|
[`input.limit-process-routes-${family}`]: settings.max_prefixes,
|
|
1145
1147
|
"keepalive-time": settings.keepalive ? duration(settings.keepalive) : undefined,
|
|
1146
1148
|
listen: settings.passive ? "yes" : undefined,
|