pf: do not block new Ethernet rules for in-progress transactions
Make Ethernet rule addition behave just like L3 rules, in that we now allow ongoing transaction to be interrupted, rather than rejecting a new one. The result of that is that we can no longer end up in a state where a transaction failed, but was not rolled back, blocking us from setting new rules. It's safe to assume there's no pending epoch callback for cleanup here, because we've explicitly called it before hitting pf_begin_eth(). Sponsored by: Rubicon Communications, LLC ("Netgate")
This commit is contained in:
parent
2c1ac3d4d4
commit
6ab80e7275
@ -739,11 +739,6 @@ pf_begin_eth(uint32_t *ticket, const char *anchor)
|
||||
if (rs == NULL)
|
||||
return (EINVAL);
|
||||
|
||||
if (rs->inactive.open)
|
||||
/* We may be waiting for NET_EPOCH_CALL(pf_rollback_eth_cb) to
|
||||
* finish. */
|
||||
return (EBUSY);
|
||||
|
||||
/* Purge old inactive rules. */
|
||||
TAILQ_FOREACH_SAFE(rule, rs->inactive.rules, entries,
|
||||
tmp) {
|
||||
|
Loading…
Reference in New Issue
Block a user