INNER CODE UNIT · Go

func

cloudflare/cfrpki · ov/ov.go:68

func (cv *curValidation) Filter(payload int64) bool {
	roa := cv.ov.vrp[payload]
	// Specs https://tools.ietf.org/html/rfc6811
	if cv.state != STATE_VALID {
		mask, _ := cv.route.GetPrefix().Mask.Size()
		if cv.route.GetASN() == roa.GetASN() && mask <= roa.GetMaxLen() {
			cv.state = STATE_VALID
		} else {
			cv.state = STATE_INVALID
		}
	}
	cv.matching = append(cv.matching, roa)
	return true
}

func (ov *OriginValidator) Validate(route AbstractRoute) ([]AbstractROA, int, error) {
	matching := make([]AbstractROA, 0)
	ip4, ip6, err := patricia.ParseFromIPAddr(route.GetPrefix())

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…