summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--regress/usr.sbin/switchd/args-http.pcapbin0 -> 4844 bytes
-rw-r--r--regress/usr.sbin/switchd/args-http.pm63
-rw-r--r--regress/usr.sbin/switchd/args-icmp.pcapbin0 -> 708 bytes
-rw-r--r--regress/usr.sbin/switchd/args-icmp.pm47
4 files changed, 110 insertions, 0 deletions
diff --git a/regress/usr.sbin/switchd/args-http.pcap b/regress/usr.sbin/switchd/args-http.pcap
new file mode 100644
index 00000000000..0938907fb8e
--- /dev/null
+++ b/regress/usr.sbin/switchd/args-http.pcap
Binary files differ
diff --git a/regress/usr.sbin/switchd/args-http.pm b/regress/usr.sbin/switchd/args-http.pm
new file mode 100644
index 00000000000..c312b25625f
--- /dev/null
+++ b/regress/usr.sbin/switchd/args-http.pm
@@ -0,0 +1,63 @@
+# $OpenBSD: args-http.pm,v 1.1 2016/07/19 17:19:58 reyk Exp $
+
+# Copyright (c) 2016 Reyk Floeter <reyk@openbsd.org>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+package args_http;
+
+use strict;
+use warnings;
+use base qw(Exporter);
+our @EXPORT = qw(init next);
+
+my $topology = {
+ hosts => {
+ "6c8814709208" => {
+ "port" => 8
+ },
+ "3431c4778157" => {
+ "port" => 24
+ }
+ }
+};
+
+sub init {
+ my $class = shift;
+ my $sock = shift;
+ my $self = { "count" => 0, "pcap" => "args-http.pcap",
+ "sock" => $sock, "version" => main::OFP_V_1_0() };
+
+ bless($self, $class);
+
+ main::ofp_hello($self);
+
+ return ($self);
+}
+
+sub next {
+ my $class = shift;
+ my $self = shift;
+ my $src;
+
+ $self->{count}++;
+
+ $src = $topology->{hosts}->{$self->{eh}->{src_mac}};
+ if ($src) {
+ $self->{port} = $src->{port};
+ }
+
+ main::ofp_packet_in($self, $self->{data});
+}
+
+1;
diff --git a/regress/usr.sbin/switchd/args-icmp.pcap b/regress/usr.sbin/switchd/args-icmp.pcap
new file mode 100644
index 00000000000..6da899c3554
--- /dev/null
+++ b/regress/usr.sbin/switchd/args-icmp.pcap
Binary files differ
diff --git a/regress/usr.sbin/switchd/args-icmp.pm b/regress/usr.sbin/switchd/args-icmp.pm
new file mode 100644
index 00000000000..1acca731fba
--- /dev/null
+++ b/regress/usr.sbin/switchd/args-icmp.pm
@@ -0,0 +1,47 @@
+# $OpenBSD: args-icmp.pm,v 1.1 2016/07/19 17:19:58 reyk Exp $
+
+# Copyright (c) 2016 Reyk Floeter <reyk@openbsd.org>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+package args_icmp;
+
+use strict;
+use warnings;
+use base qw(Exporter);
+our @EXPORT = qw(init next);
+
+sub init {
+ my $class = shift;
+ my $sock = shift;
+ my $self = { "count" => 0, "pcap" => "args-icmp.pcap",
+ "sock" => $sock, "version" => main::OFP_V_1_0() };
+
+ bless($self, $class);
+
+ main::ofp_hello($self);
+
+ return ($self);
+}
+
+sub next {
+ my $class = shift;
+ my $self = shift;
+
+ $self->{count}++;
+ $self->{port} = $self->{count} % 2;
+
+ main::ofp_packet_in($self, $self->{data});
+}
+
+1;