aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2013-08-23 18:17:32 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2013-08-23 18:17:32 -0700
commit792b60b6296212843a5257ca8619e527b212f8e2 (patch)
tree5c03860514e8de2af8c02f98f9965abc27c24821
parentapply routing policy rules before routes if a config option is set, bug 446606 (diff)
parentswap $IFACE for $IFVAR on eval's in net/vlan.sh (diff)
downloadnetifrc-792b60b6296212843a5257ca8619e527b212f8e2.tar.gz
netifrc-792b60b6296212843a5257ca8619e527b212f8e2.tar.bz2
netifrc-792b60b6296212843a5257ca8619e527b212f8e2.zip
Merge branch 'master' into bug446606
-rw-r--r--CREDITS80
-rw-r--r--FEATURE-REMOVAL-SCHEDULE26
-rw-r--r--README19
-rw-r--r--STYLE89
-rw-r--r--TODO14
-rw-r--r--net/vlan.sh16
6 files changed, 236 insertions, 8 deletions
diff --git a/CREDITS b/CREDITS
new file mode 100644
index 0000000..9f62f27
--- /dev/null
+++ b/CREDITS
@@ -0,0 +1,80 @@
+What follows is a listing of everybody known to have contributed to this
+networking stack, since the first CVS Changelog entry on 02 September 2001. If
+you contributed before that point, we've love to hear from you.
+
+If you need an older per-commit history, please see the OpenRC [1] and
+rc-scripts [2] and Baselayout [3] history.
+
+netifrc Git era [0] 2013/03/18-:
+--------------------------------
+William Hubbs <w.d.hubbs@gmail.com>
+Robin H. Johnson <robbat2@orbis-terrarum.net>
+
+OpenRC Git era [1] 2007/04/05-2013/03/18:
+-----------------------------------------
+Alexander Tsoy <alexander@tsoy.me>
+Alon Bar-Lev <alon.barlev@gmail.com>
+Anthony G. Basile <basile@opensource.dyc.edu>
+Björn Baumbach <bb@sernet.de>
+Christian <christian@ch-sc.de>
+Christian Ruppert <idl0r@gentoo.org>
+Christian Wetzig <gentoo@wetzig.de>
+Daniel Mierswa <impulze@impulze.org>
+Doug Goldstein <cardoe@cardoe.com>
+Gilles Oivier <g.olivier@wanadoo.fr>
+Jory A. Pratt <anarchy@gentoo.org>
+Kfir Lavi <lavi.kfir@gmail.com>
+Lorand Kelemen <lorand.kelemen@indgroup.eu>
+Marc Joliet <marcec@gmx.de>
+Marien Zwart <marienz@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+Nao Nakashima <nao.nakashima@gmail.com>
+Robin H. Johnson <robbat2@gentoo.org>, <robbat2@orbis-terrarum.net>
+Roy Marples <roy@marples.name>
+Salah Coronya <salah.coronya@gmail.com>
+Seth Robertson <in-gentoo@baka.org>
+Stefan Knoblich <s.knoblich@axsentis.de>
+Stef Simoens <stef.simoens@scarlet.be>
+Trevor Summers Smith <trevorsummerssmith@gmail.com>
+William Hubbs <w.d.hubbs@gmail.com>, <williamh@gentoo.org>
+Yun Zheng Hu <hu@fox-it.com>
+
+baselayout SVN era [2] 2005/06/05-2007/04/05:
+---------------------------------------------
+(TODO:
+- this era had a conversion to the BSD-2 license
+- credits for bugs are very lacking in this era)
+Martin Schlemmer <azarah@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+Roy Marples <uberlord@gentoo.org>
+
+rc-scripts CVS era [3], 2001/09-2005/06/05:
+-------------------------------------------
+Andy Dustman <andy-gentoo.54e552@dustman.net>
+Aron Griffis <agriffis@gentoo.org>
+Asbjorn Sannes <ace@sannes.org>
+C. Brewer <killian@gentoo.org>
+Daniel Robbins <drobbins@gentoo.org>
+Donny Davies <woodchip@gentoo.org>
+Jason Rhinelander <jason-gentoo@gossamer-threads.com>
+jochen <jochen.eisinger@gmx.de>
+Jordan Ritter <jpr5+gentoo@darkridge.com>
+Marius Mauch <genone@genone.de>, <genone@gentoo.org>
+Martin Schlemmer <azarah@gentoo.org>
+Mike Frysinger <vapier@gentoo.org>
+<naanyaar2000@yahoo.com>
+nth <y.lesaint@free.fr>
+Rachel Holmes <rach@gmx.net>
+Robin H. Johnson <robbat2@gentoo.org>, <robbat2@orbis-terrarum.net>
+Roy Marples <uberlord@gentoo.org>
+Wout Mertens <wmertens@gentoo.org>
+YAMAKURA Makoto <makoto@dsb.club.ne.jp>
+
+0. http://git.overlays.gentoo.org/gitweb/?p=proj/netifrc.git;a=summary
+
+1. http://git.overlays.gentoo.org/gitweb/?p=proj/openrc.git;a=summary
+ Commit 838c9efb36b3b058c5a5b9d0e8c6d4d4789a44b9 removed net/.
+
+2. http://sources.gentoo.org/cgi-bin/viewvc.cgi/baselayout/
+
+3. http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-src/rc-scripts/
diff --git a/FEATURE-REMOVAL-SCHEDULE b/FEATURE-REMOVAL-SCHEDULE
new file mode 100644
index 0000000..e32264e
--- /dev/null
+++ b/FEATURE-REMOVAL-SCHEDULE
@@ -0,0 +1,26 @@
+The following is a list of files and features that are going to be removed in
+the source tree. Every entry should contain what exactly is going away, why it
+is happening, and who is going to be doing the work. When the feature is
+removed, it should also be removed from this file.
+
+---------------------------
+
+What: oldnet ADSL rp-pppoe mode
+
+When: undecided
+
+Why: Replaced by the oldnet PPP module
+
+Who: Robin H. Johnson <robbat2@gentoo.org>
+
+---------------------------
+
+What: oldnet /etc/conf.d/wireless
+
+When: undecided
+
+Why: All configuration moved to /etc/conf.d/net
+
+Who: Robin H. Johnson <robbat2@gentoo.org>
+
+---------------------------
diff --git a/README b/README
new file mode 100644
index 0000000..e7d8a94
--- /dev/null
+++ b/README
@@ -0,0 +1,19 @@
+netifrc README
+
+You should probably go and read the OpenRC README.
+
+netifrc is what was previously called 'oldnet' in OpenRC, and was the only
+networking system in Baselayout 1.x. This system has been around a very long
+time, at least as far back as September 2001 (that was the rc-scripts-1.1.5
+release).
+
+If you're interested in who contributed to this, please see the extensive
+CREDITS file.
+
+Reporting Bugs
+--------------
+Since Gentoo Linux is hosting OpenRC development, Bugs should go to
+the Gentoo Bugzilla:
+ http://bugs.gentoo.org/
+They should be filed under the "Gentoo Hosted Projects" product and
+the "netifrc" component.
diff --git a/STYLE b/STYLE
new file mode 100644
index 0000000..666ad28
--- /dev/null
+++ b/STYLE
@@ -0,0 +1,89 @@
+This STYLE file taken directly from OpenRC, and based on the heritage of
+netifrc, we are sticking to it.
+
+==== Original file beyond this point.
+This is the openrc style manual. It governs the coding style of all code
+in this repository. Follow it. Contact openrc@gentoo.org for any questions
+or fixes you might notice.
+
+##########
+# C CODE #
+##########
+
+The BSD Kernel Normal Form (KNF) style is used:
+ http://en.wikipedia.org/wiki/Indent_style#BSD_KNF_style
+Basically, it's like K&R/LKML, but wrapped lines that are indented use 4 spaces.
+
+Highlights:
+ - no trailing whitespace
+ - indented code use tabs (not line wrapped)
+ - cuddle the braces (except for functions)
+ - space after native statements and before paren (for/if/while/...)
+ - no space between function and paren
+ - pointer asterisk cuddles the variable, not the type
+
+void foo(int c)
+{
+ int ret = 0;
+
+ if (c > 1000)
+ return;
+
+ while (c--) {
+ bar(c);
+ ret++;
+ }
+
+ return ret;
+}
+
+##################
+# COMMIT MESSAGES #
+##################
+
+The following is an example of a correctly formatted git commit message
+for this repository. Most of this information came from this blog post
+[1], so I would like to thank the author.
+
+### cut here ###
+Capitalized, short (50 chars or less) summary
+
+More detailed explanatory text, if necessary. Wrap it to about 72
+characters or so. In some contexts, the first line is treated as the
+subject of an email and the rest of the text as the body. The blank
+line separating the summary from the body is critical (unless you omit
+the body entirely); tools like rebase can get confused if you run the
+two together.
+
+Write your commit message in the imperative: "Fix bug" and not "Fixed
+bug." This convention matches up with commit messages generated by
+commands like git merge and git revert.
+
+Further paragraphs come after blank lines.
+
+- Bullet points are okay, too
+
+- Typically a hyphen or asterisk is used for the bullet, preceded by a
+ single space, with blank lines in between, but conventions vary here
+
+- Use a hanging indent
+
+Reported-by: User Name <email>
+X-[Distro]-Bug: BugID
+X-[Distro]-Bug-URL: URL for the bug (on the distribution's web site typically)
+### cut here ###
+
+If you did not write the code and the patch does not include authorship
+information in a format git can use, please use the --author option of the
+git commit command to make the authorship correct.
+
+The Reported-by tag is required if the person who reported the bug is
+different from the author and committer.
+
+ The X-[Distro]-Bug/Bug-URL tags are required if this commit is related
+ to a bug reported to us by a specific distribution of linux or a
+ *BSD. Also, [Distro] should be replaced with the name of the
+ distribution, e.g. X-Gentoo-Bug.
+
+[1] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
+
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..e19f27a
--- /dev/null
+++ b/TODO
@@ -0,0 +1,14 @@
+- Review setting of bridge configuration on dynamic interface add
+- _ifindex is not a reliable means of calculating metrics:
+ _ifindex is used for calculating metrics for new devices but has a major
+ problem: Since it's only the nth entry in /proc/net/dev
+ And devices may be removed from that file, and reordered, you won't always
+ get the same result.
+ If you do:
+ - add eth0 - _ifindex (eth0=0)
+ - add vlan1 - _ifindex (eth0=0,vlan1=1)
+ - add vlan2 - _ifindex (eth0=0,vlan1=1,vlan2=2)
+ - rem vlan1 - _ifindex (eth0=0,vlan2=1)
+ - add vlan3 - _ifindex (eth0=0,vlan2=1,vlan3=2)
+ Now your routing table has entries for both vlan2 and vlan3 with a metric of 2.
+
diff --git a/net/vlan.sh b/net/vlan.sh
index 10040af..194a6b0 100644
--- a/net/vlan.sh
+++ b/net/vlan.sh
@@ -66,35 +66,35 @@ vlan_post_start()
einfo "Adding VLAN ${vlan} to ${IFACE}"
# We need to gather all interface configuration options
# 1) naming. Default to the standard "${IFACE}.${vlan}" but it can be anything
- eval vname=\$${IFACE}_vlan${vlan}_name
+ eval vname=\$${IFVAR}_vlan${vlan}_name
[ -z "${vname}" ] && eval vname=\$vlan${vlan}_name
[ -z "${vname}" ] && vname="${IFACE}.${vlan}"
# 2) flags
- eval vflags=\$${IFACE}_vlan${vlan}_flags
+ eval vflags=\$${IFVAR}_vlan${vlan}_flags
[ -z "${vflags}" ] && eval vflags=\$vlan${vlan}_flags
# 3) ingress/egress map
- eval vingress=\$${IFACE}_vlan${vlan}_ingress
+ eval vingress=\$${IFVAR}_vlan${vlan}_ingress
[ -z "${vingress}" ] && eval vingress=\$vlan${vlan}_ingress
[ -z "${vingress}" ] || vingress="ingress-qos-map ${vingress}"
- eval vegress=\$${IFACE}_vlan${vlan}_egress
+ eval vegress=\$${IFVAR}_vlan${vlan}_egress
[ -z "${vegress}" ] && eval vegress=\$vlan${vlan}_egress
[ -z "${vegress}" ] || vegress="egress-qos-map ${vegress}"
# txqueue
local txqueuelen=
- eval txqueuelen=\$txqueuelen_${IFACE}_vlan${vlan}
+ eval txqueuelen=\$txqueuelen_${IFVAR}_vlan${vlan}
[ -z "${txqueuelen}" ] && eval txqueuelen=\$txqueuelen_vlan${vlan}
# mac
local mac=
- eval mac=\$mac_${IFACE}_vlan${vlan}
+ eval mac=\$mac_${IFVAR}_vlan${vlan}
[ -z "${mac}" ] && eval mac=\$mac_vlan${vlan}
# broadcast
local broadcast=
- eval broadcast=\$broadcast_${IFACE}_vlan${vlan}
+ eval broadcast=\$broadcast_${IFVAR}_vlan${vlan}
[ -z "${broadcast}" ] && eval broadcast=\$broadcast_vlan${vlan}
# mtu
local mtu=
- eval mtu=\$mtu_${IFACE}_vlan${vlan}
+ eval mtu=\$mtu_${IFVAR}_vlan${vlan}
[ -z "${mtu}" ] && eval mtu=\$mtu_vlan${vlan}
# combine it all