mirror of
https://github.com/slackhq/nebula.git
synced 2026-11-15 23:46:52 +01:00
no bart for cidr
This commit is contained in:
1 parent
f3b76703ae
commit
9aab46c1ad
4 files changed
+65
-27
No files matched your search
@@ -288,15 +288,13 @@ func (rr *remoteRules) add(r rule) {
|
||||
}
|
||||
|
||||
if r.cidr.IsValid() {
|
||||
if rr.CIDR == nil {
|
||||
rr.CIDR = new(bart.Table[*localRules])
|
||||
prefix := r.cidr.Masked()
|
||||
i := slices.IndexFunc(rr.CIDR, func(cr cidrRule) bool { return cr.Prefix == prefix })
|
||||
if i < 0 {
|
||||
i = len(rr.CIDR)
|
||||
rr.CIDR = append(rr.CIDR, cidrRule{Prefix: prefix, LocalCIDR: &localRules{}})
|
||||
}
|
||||
lr, ok := rr.CIDR.Get(r.cidr)
|
||||
if !ok {
|
||||
lr = &localRules{}
|
||||
rr.CIDR.Insert(r.cidr, lr)
|
||||
}
|
||||
lr.add(r)
|
||||
rr.CIDR[i].LocalCIDR.add(r)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user