in pkg/skoop/netstack/route.go [191:209]
func matchRule(packet *model.Packet, rule Rule, iif, oif string) bool {
if rule.Src != nil && !rule.Src.Contains(packet.Src) {
return false
}
if rule.Dst != nil && !rule.Dst.Contains(packet.Dst) {
return false
}
if rule.Mark > 0 && (int(packet.Mark)^rule.Mark)&rule.Mask != 0 {
return false
}
if rule.IifName != "" && rule.IifName != iif {
return false
}
if rule.OifName != "" && rule.OifName != oif {
return false
}
return true
}