summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreyk <reyk@openbsd.org>2016-09-28 08:14:51 +0000
committerreyk <reyk@openbsd.org>2016-09-28 08:14:51 +0000
commitb8d4fc81d8901f2e188e14d9b8f09a9355f3d3b9 (patch)
tree23aea8db7114294fd2cf36cae1fc50f60cdf8097
parentBump buffer size to 64k, the max OFP packet size (diff)
downloadwireguard-openbsd-b8d4fc81d8901f2e188e14d9b8f09a9355f3d3b9.tar.xz
wireguard-openbsd-b8d4fc81d8901f2e188e14d9b8f09a9355f3d3b9.zip
Fix length calculation of PACKET_IN (I forget the 10 byte packet_in header).
-rw-r--r--regress/usr.sbin/switchd/OFP.pm4
-rw-r--r--regress/usr.sbin/switchd/run.pl6
2 files changed, 5 insertions, 5 deletions
diff --git a/regress/usr.sbin/switchd/OFP.pm b/regress/usr.sbin/switchd/OFP.pm
index 1b07105aa4f..e98853a7960 100644
--- a/regress/usr.sbin/switchd/OFP.pm
+++ b/regress/usr.sbin/switchd/OFP.pm
@@ -98,11 +98,11 @@ sub encode {
if ($self->{version} == 1) {
# PACKET_IN
if ($self->{type} == 10) {
- $self->{length} += length($self->{data});
+ $self->{length} += 10 + length($self->{data});
$pkt = pack("CCnNNnnCCa*",
$self->{version}, $self->{type},
$self->{length}, $self->{xid}, $self->{buffer_id},
- $self->{length} - 8,
+ length($self->{data}),
$self->{port}, 0, 0, $self->{data});
}
}
diff --git a/regress/usr.sbin/switchd/run.pl b/regress/usr.sbin/switchd/run.pl
index adae634b0a2..e2460ca8011 100644
--- a/regress/usr.sbin/switchd/run.pl
+++ b/regress/usr.sbin/switchd/run.pl
@@ -1,5 +1,5 @@
#!/usr/bin/perl -w
-# $OpenBSD: run.pl,v 1.3 2016/09/28 08:11:26 reyk Exp $
+# $OpenBSD: run.pl,v 1.4 2016/09/28 08:14:51 reyk Exp $
# Copyright (c) 2016 Reyk Floeter <reyk@openbsd.org>
#
@@ -72,7 +72,7 @@ sub ofp_hello {
# XXX timeout
$self->{sock}->send($pkt);
- $self->{sock}->recv($resppkt, 65535);
+ $self->{sock}->recv($resppkt, 65536);
$resp = NetPacket::OFP->decode($resppkt) or
fatal($class, "recv'ed packet");
@@ -105,7 +105,7 @@ sub ofp_packet_in {
# XXX timeout
$self->{sock}->send($pkt);
- $self->{sock}->recv($resppkt, 65535);
+ $self->{sock}->recv($resppkt, 65536);
$resp = NetPacket::OFP->decode($resppkt) or
fatal($class, "recv'ed packet");