diff options
author | 2016-09-28 08:14:51 +0000 | |
---|---|---|
committer | 2016-09-28 08:14:51 +0000 | |
commit | b8d4fc81d8901f2e188e14d9b8f09a9355f3d3b9 (patch) | |
tree | 23aea8db7114294fd2cf36cae1fc50f60cdf8097 | |
parent | Bump buffer size to 64k, the max OFP packet size (diff) | |
download | wireguard-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.pm | 4 | ||||
-rw-r--r-- | regress/usr.sbin/switchd/run.pl | 6 |
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"); |