OpenBSD CVS

CVS log for src/sys/net/Attic/if_switch.h


[BACK] Up to [local] / src / sys / net

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.13, Thu Nov 11 10:03:10 2021 UTC (2 years, 7 months ago) by claudio
Branch: MAIN
CVS Tags: HEAD
Changes since 1.12: +1 -1 lines
FILE REMOVED

Retire switch(4) it never really was production ready and the OpenFlow
API implemented is a deadend.
OK akoshibe@ yasuoka@ deraadt@ kn@ patrick@ sthen@

Revision 1.12 / (download) - annotate - [select for diffs], Wed Nov 6 03:51:26 2019 UTC (4 years, 7 months ago) by dlg
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

replace the hooks used with if_detachhooks with a task list.

the main semantic change is that things registering detach hooks
have to allocate and set a task structure that then gets added to
the list. this means if the task is allocated up front (eg, as part
of carps softc or bridges port structure), it avoids the possibility
that adding a hook can fail. a lot of drivers weren't checking for
failure, and unwinding state in the event of failure in other parts
was error prone.

while doing this i discovered that the list operations have to be
in a particular order, but drivers weren't doing that consistently
either. this diff wraps the list ops up so you have to seriously
go out of your way to screw them up.

ive also sprinkled some NET_ASSERT_LOCKED around the list operations
so we can make sure there's no potential for the list to be corrupted,
especially while it's being run.

hrvoje popovski has tested this a bit, and some issues he discovered
have been fixed.

ok sashan@

Revision 1.11 / (download) - annotate - [select for diffs], Fri May 10 15:13:38 2019 UTC (5 years, 1 month ago) by akoshibe
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored)

Add port protection support to switch(4). The behavior copies that of
bridge(4), where the SIOCBRDGSIFPROT ioctl can be used to add a port to up
to 31 protected domains. This allows configuration by specifying a list of
IDs to the 'protected' option in ifconfig(8):

# ifconfig switch0 protected pair1 1,2,..

Domain membership is checked for unicast, flooded (broadcast), and
local (host-network-bound, e.g. trunk) traffic.

OK benno@

Revision 1.10 / (download) - annotate - [select for diffs], Sun Nov 20 12:45:26 2016 UTC (7 years, 6 months ago) by reyk
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

Extend the DLT_OPENFLOW header to include the switch datapath id.

OK rzalamena@

Revision 1.9 / (download) - annotate - [select for diffs], Wed Nov 16 13:47:27 2016 UTC (7 years, 6 months ago) by reyk
Branch: MAIN
Changes since 1.8: +3 -1 lines
Diff to previous 1.8 (colored)

Add new DLT_OPENFLOW link-type to allow using tcpdump to debug switch(4),
eg. tcpdump -y openflow -i switch0

Includes a minor bump for libpcap.

Feedback and OK rzalamena@

Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 11 16:19:09 2016 UTC (7 years, 7 months ago) by rzalamena
Branch: MAIN
Changes since 1.7: +3 -5 lines
Diff to previous 1.7 (colored)

Remove mutexes protection from the switchctl as they don't seem to be
doing anything for us, and remove some whitespaces from the header that
can be found near the removed lines.

ok mikeb@

Revision 1.7 / (download) - annotate - [select for diffs], Thu Nov 10 17:32:40 2016 UTC (7 years, 7 months ago) by rzalamena
Branch: MAIN
Changes since 1.6: +3 -1 lines
Diff to previous 1.6 (colored)

Add support for partial writes in switchwrite so we can use multiple
write() to write one packet. With this we also get support for writing
multiple ofp packets with a single write.

ok mikeb@

Revision 1.6 / (download) - annotate - [select for diffs], Tue Nov 8 19:11:57 2016 UTC (7 years, 7 months ago) by rzalamena
Branch: MAIN
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored)

Teach switch(4) device read(2) operations to behave like a stream socket,
so the userland programs can use it without having to do any special
treatment (e.g. having to read() whole packets with just 1 call or lose it).
This also allows userland to read more than one ofp header/payload with one
syscall.

ok mikeb@

Revision 1.5 / (download) - annotate - [select for diffs], Fri Oct 28 09:01:49 2016 UTC (7 years, 7 months ago) by rzalamena
Branch: MAIN
Changes since 1.4: +4 -1 lines
Diff to previous 1.4 (colored)

When doing pktout we must run the classifier again, because some action(s)
might want to use it. For buffered packets we probably need to save that
somehow else, but we don't support it now.

ok reyk@

Revision 1.4 / (download) - annotate - [select for diffs], Fri Oct 7 08:18:22 2016 UTC (7 years, 8 months ago) by rzalamena
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

Use detach hook to notify switch(4) about interface removals instead of
adding code to if.c.

ok mpi@

Revision 1.3 / (download) - annotate - [select for diffs], Wed Sep 28 08:31:42 2016 UTC (7 years, 8 months ago) by rzalamena
Branch: MAIN
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored)

Fix a kernel panic that happened when destroying interfaces attached to
the switch(4) without prior removal.

ok reyk@, goda@

Revision 1.2 / (download) - annotate - [select for diffs], Sun Sep 4 16:47:41 2016 UTC (7 years, 9 months ago) by goda
Branch: MAIN
Changes since 1.1: +4 -3 lines
Diff to previous 1.1 (colored)

Make per-packet allocated memory use pool in switch(4)

ok yasuoka@ reyk@

Revision 1.1 / (download) - annotate - [select for diffs], Thu Sep 1 10:06:33 2016 UTC (7 years, 9 months ago) by goda
Branch: MAIN

Import switch(4), an in-kernel OpenFlow switch which can work alone.
switch(4) currently supports OpenFlow 1.3.5.
Currently, it's disabled by the kernel config.

With help from yasuoka@ reyk@ jsg@.

ok deraadt@ yasuoka@ reyk@ henning@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.