OpenBSD CVS

CVS log for src/share/man/man9/rtable_add.9


[BACK] Up to [local] / src / share / man / man9

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.9 / (download) - annotate - [select for diffs], Fri Mar 26 22:41:06 2021 UTC (3 years, 2 months ago) by mvs
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, HEAD
Changes since 1.8: +2 -6 lines
Diff to previous 1.8 (colored)

Push kernel lock within rtable_add(9) and rework it to return 0 in the
case when requested table is already exists.

Except initialization time, route_output() and if_createrdomain() are the
only paths where we call rtable_add(9). We check requested table existence
by rtable_exists(9) and it's not the error condition if the table exists.
Otherwise we are trying to create requested table by rtable_add(9). Those
paths are kernel locked so concurrent thread can't create requested table
just after rtable_exists(9) check. Also rtable_add(9) has internal
rtable_exists(9) check and in this case the table existence assumed as
EEXIST error. This error path is never reached.

We are going to unlock PF_ROUTE sockets. This means route_output() will
not be serialized with if_createrdomain() and concurrent thread could
create requested table. Table existence check and creation should be
serialized and it makes sense to do this within rtable_add(9). This time
kernel lock is used for this so it pushed down to rtable_add(9). The
internal rtable_exists(9) check was modified and table existence is not
error now.

Since the external rtable_exists(9) check is useless it was removed from
if_createrdomain(). It still exists in route_output() path because the
logic is more complicated here.

ok mpi@

Revision 1.8 / (download) - annotate - [select for diffs], Mon Nov 14 10:32:46 2016 UTC (7 years, 6 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, 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.7: +12 -2 lines
Diff to previous 1.7 (colored)

Automatically create a default lo(4) interface per rdomain.

In order to stop abusing lo0 for all rdomains, a new loopback interface
will be created every time a rdomain is created.  The unit number will
be the same as the rdomain, i.e. lo1 will be attached to rdomain 1.

If this loopback interface is already in use it wont be possible to create
the corresponding rdomain.

In order to know which lo(4) interface is attached to a rdomain, its index
is stored in the rtable/rdomain map.

This is a long overdue since the introduction of rtable/rdomain.  It also
fixes a recent regression due to resetting the rdomain of an incoming
packet reported by semarie@, Andreas Bartelt and Nils Frohberg.

ok claudio@

Revision 1.7 / (download) - annotate - [select for diffs], Fri Dec 11 16:08:30 2015 UTC (8 years, 5 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored)

Correct SYNOPSIS.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Oct 21 08:48:12 2015 UTC (8 years, 7 months ago) by mpi
Branch: MAIN
Changes since 1.5: +11 -23 lines
Diff to previous 1.5 (colored)

No longer mention rtable_get(), it's a private function now.

While here use C99 types in function definitions.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Mar 26 13:57:54 2014 UTC (10 years, 2 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7, OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.4: +9 -1 lines
Diff to previous 1.4 (colored)

Add a CONTEXT section, requested by dlg@

Revision 1.4 / (download) - annotate - [select for diffs], Tue Mar 18 14:04:31 2014 UTC (10 years, 2 months ago) by jmc
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

zap trailing whitespace;

Revision 1.3 / (download) - annotate - [select for diffs], Tue Mar 18 11:53:54 2014 UTC (10 years, 2 months ago) by mpi
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

typo, pointed by millert@

Revision 1.2 / (download) - annotate - [select for diffs], Tue Mar 18 10:47:34 2014 UTC (10 years, 2 months ago) by mpi
Branch: MAIN
Changes since 1.1: +24 -15 lines
Diff to previous 1.1 (colored)

Rename rt_gettable() into rtable_get(), swap its arguments to be
coherent with the existing rtable_* functions and document it.

While here fix some other manpage glitches pointed out by jmc@.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Mar 18 09:01:11 2014 UTC (10 years, 2 months ago) by mpi
Branch: MAIN

Split route(9) into various manuals to make it easier to complete/improve
its content.

With inputs from jmc@ and schwarze@

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.