diff --git a/rule.go b/rule.go index 505e327..a86ce97 100644 --- a/rule.go +++ b/rule.go @@ -158,10 +158,18 @@ func (cc *Conn) ReplaceRule(r *Rule) *Rule { } func (cc *Conn) AddRule(r *Rule) *Rule { + if r.Handle != 0 { + return cc.newRule(r, operationReplace) + } + return cc.newRule(r, operationAdd) } func (cc *Conn) InsertRule(r *Rule) *Rule { + if r.Handle != 0 { + return cc.newRule(r, operationReplace) + } + return cc.newRule(r, operationInsert) }