diff --git a/router/dataplane_hbird.go b/router/dataplane_hbird.go index ef44acdada..2cf2a9a89c 100644 --- a/router/dataplane_hbird.go +++ b/router/dataplane_hbird.go @@ -408,7 +408,7 @@ func (p *scionPacketProcessor) checkReservationBandwidth() (processResult, error panic("tokenbucket map contains value of different type") } - if tb.Apply(int(p.scionLayer.PayloadLen), time.Now()) { + if tb.Apply(int(p.scionLayer.PayloadLen), now) { return processResult{}, nil } // TODO: return scmp packet for reservation overuse diff --git a/router/dataplane_hbird_test.go b/router/dataplane_hbird_test.go index c1a20bfcfe..ca2d0f3434 100644 --- a/router/dataplane_hbird_test.go +++ b/router/dataplane_hbird_test.go @@ -95,7 +95,7 @@ func TestProcessHbirdPacket(t *testing.T) { dpath.HopFields[2].HopField) ret := toMsg(t, spkt, dpath) if afterProcessing { - ret.Addr = &net.UDPAddr{IP: dst.IP().AsSlice(), Port: topology.EndhostPort} + ret.Addr = &net.UDPAddr{IP: dst.IP().AsSlice(), Port: dstUDPPort} ret.Flags, ret.NN, ret.N, ret.OOB = 0, 0, 0, nil } @@ -659,7 +659,7 @@ func TestProcessHbirdPacket(t *testing.T) { dpath.HopFields[2].HopField.Mac = computeMAC(t, key, dpath.InfoFields[0], dpath.HopFields[2].HopField) ret := toMsg(t, spkt, dpath) - ret.Addr = &net.UDPAddr{IP: dst.IP().AsSlice(), Port: topology.EndhostPort} + ret.Addr = &net.UDPAddr{IP: dst.IP().AsSlice(), Port: dstUDPPort} ret.Flags, ret.NN, ret.N, ret.OOB = 0, 0, 0, nil return ret } @@ -735,7 +735,7 @@ func TestProcessHbirdPacket(t *testing.T) { spkt.PayloadLen, dpath.InfoFields[0], dpath.HopFields[2], dpath.PathMeta) ret := toMsg(t, spkt, dpath) if afterProcessing { - ret.Addr = &net.UDPAddr{IP: dst.IP().AsSlice(), Port: topology.EndhostPort} + ret.Addr = &net.UDPAddr{IP: dst.IP().AsSlice(), Port: dstUDPPort} ret.Flags, ret.NN, ret.N, ret.OOB = 0, 0, 0, nil } return ret @@ -3838,7 +3838,7 @@ func prepHbirdMsg(now time.Time) (*slayers.SCION, *hummingbird.Decoded) { DstIA: xtest.MustParseIA("4-ff00:0:411"), SrcIA: xtest.MustParseIA("2-ff00:0:222"), Path: &hummingbird.Raw{}, - PayloadLen: 18, + PayloadLen: 26, // scionudpLayer + len("actualpayloadbytes") } dpath := &hummingbird.Decoded{ @@ -3871,7 +3871,7 @@ func prepHbirdSlayers(src, dst addr.IA) *slayers.SCION { DstIA: dst, SrcIA: src, Path: &hummingbird.Raw{}, - PayloadLen: 18, + PayloadLen: 26, // scionudpLayer + len("actualpayloadbytes") } return spkt } diff --git a/router/dataplane_test.go b/router/dataplane_test.go index 25f236d950..4e3008aaf3 100644 --- a/router/dataplane_test.go +++ b/router/dataplane_test.go @@ -470,6 +470,7 @@ func TestDataPlaneRun(t *testing.T) { _ = ret.SetIA(local) _ = ret.SetKey(key) + _ = ret.SetHbirdKey(key) return ret }, }, @@ -686,6 +687,7 @@ func TestDataPlaneRun(t *testing.T) { _ = ret.SetIA(local) _ = ret.SetKey(key) + _ = ret.SetHbirdKey(key) nextHopAddr := xtest.MustParseUDPAddr(t, "127.0.0.2:8888") err = ret.AddNextHop(2, l.Addr, nextHopAddr, nobfd, "") @@ -915,6 +917,7 @@ func TestDataPlaneRun(t *testing.T) { _ = ret.SetIA(local) _ = ret.SetKey(key) + _ = ret.SetHbirdKey(key) nextHopAddr := xtest.MustParseUDPAddr(t, "127.0.0.2:8888") err = ret.AddNextHop(2, l.Addr, nextHopAddr, nobfd, "")