[gentoo-dev] config_eth0 deprecated - new name?
OK, it seems that hard lines in multipart configs seem to be an issue, so I'm doing this now. For a summary of why we're using hard lines you can read this thread http://thread.gmane.org/gmane.linux.gentoo.devel/45756/focus=45765 Basically, just using whitespace to seperate configs is nice and simple. What's more is everyone understands it. With CIDR notation, this is possible. For routes, it's a little more tricky as there are two values in use. config_eth0=("1.2.3.4 netmask 255.255.255.0" "5.6.7.8 netmask 255.255.0.0" ) routes_eth0=("1.2.4.0 netmask 255.255.255.0 gw 1.2.3.6" "5.6.7.9 gw 5.6.7.10" "default gw 1.2.3.1") becomes config_eth0="1.2.3.4 netmask 255.255.255.0 5.6.7.8 netmask 255.255.0.0" routes_eth0="1.2.4.0 netmask 255.255.255.0 gw 1.2.3.6 5.6.7.9 gw 5.6.7.10 default gw 1.2.3.1" becomes address_eth0="1.2.3.4/24 5.6.7.8/16" routes_eth0="1.2.4.0/24 1.2.3.6 5.6.7.8 5.6.7.10 default 1.2.3.1" Or we could adopt the BSD routing notation and do this routes_eth0="route_foo route_bar" route_foo="1.2.4.0/24 1.2.3.6 metric 5" route_bar="default 1.2.3.1" Yes, I've used the same "routes_eth0" variable, but we can change it's syntax based on the existance of address_eth0/config_eth0. So what are peoples feelings on this? Are you happy with the names? address_eth0? addr_eth0? addresses_eth0? ipaddress_eth0? ipaddr_eth0? ipaddresses_ath0? routes_eth0? static_routes_eth0? Speak up, or I'll make a decision by myself which will probably be done over the weekend. Thanks Roy -- gentoo-dev@lists.gentoo.org mailing list
Re: [gentoo-dev] config_eth0 deprecated - new name?
On Wed, 2008-04-23 at 16:21 +0100, Roy Marples wrote: > address_eth0? > addresses_eth0? I think one of these two is the most obvious to people. Since most people will likely only have one address per interface, I'd say that "address_eth0" sounds good. -- Chris Gianelloni Release Engineering Strategic Lead Games Developer signature.asc Description: This is a digitally signed message part
Re: [gentoo-dev] config_eth0 deprecated - new name?
Roy Marples wrote: > config_eth0="1.2.3.4 netmask 255.255.255.0 > 5.6.7.8 netmask 255.255.0.0" > routes_eth0="1.2.4.0 netmask 255.255.255.0 gw 1.2.3.6 > 5.6.7.9 gw 5.6.7.10 > default gw 1.2.3.1" If one choose to separate by lines, will tabs or spaces be allowed in subsequent lines? Like: config_eth0="1.2.3.4 netmask 255.255.255.0 5.6.7.8 netmask 255.255.0.0" routes_eth0="1.2.4.0 netmask 255.255.255.0 gw 1.2.3.6 5.6.7.9 gw 5.6.7.10 default gw 1.2.3.1" I think this *greatly* improves readability. Also, the example file should probably indent for clarity (I know I've talked with you about this before...). > address_eth0="1.2.3.4/24 5.6.7.8/16" > routes_eth0="1.2.4.0/24 1.2.3.6 5.6.7.8 5.6.7.10 default 1.2.3.1" That's a little confusing, i.e. not being able to see easily where the pairs are separated. What about adopting commas and keeping "gw" and "netmask" (if not CIDR), like: address_eth0="1.2.3.4/24, 5.6.7.8/16" routes_eth0="1.2.4.0/24 gw 1.2.3.6, 5.6.7.8 gw 5.6.7.10, default gw 1.2.3.1" > Or we could adopt the BSD routing notation and do this > routes_eth0="route_foo route_bar" > route_foo="1.2.4.0/24 1.2.3.6 metric 5" > route_bar="default 1.2.3.1" Hmm, that might be good as an option, as long as the other way is available too, but I'd keep "gw", etc., perhaps. > Yes, I've used the same "routes_eth0" variable, but we can change it's syntax > based on the existance of address_eth0/config_eth0. > > So what are peoples feelings on this? Are you happy with the names? > address_eth0? > addr_eth0? > addresses_eth0? > ipaddress_eth0? > ipaddr_eth0? > ipaddresses_ath0? > routes_eth0? > static_routes_eth0? > > Speak up, or I'll make a decision by myself which will probably be done over > the weekend. I like "ipaddr_eth0" or "ip_eth0", myself. -Joe -- gentoo-dev@lists.gentoo.org mailing list
Re: [gentoo-dev] config_eth0 deprecated - new name?
On Wednesday 23 April 2008 19:46:35 Joe Peterson wrote: > Roy Marples wrote: > > config_eth0="1.2.3.4 netmask 255.255.255.0 > > 5.6.7.8 netmask 255.255.0.0" > > routes_eth0="1.2.4.0 netmask 255.255.255.0 gw 1.2.3.6 > > 5.6.7.9 gw 5.6.7.10 > > default gw 1.2.3.1" > > If one choose to separate by lines, will tabs or spaces be allowed in > subsequent lines? Like: > > config_eth0="1.2.3.4 netmask 255.255.255.0 > 5.6.7.8 netmask 255.255.0.0" > routes_eth0="1.2.4.0 netmask 255.255.255.0 gw 1.2.3.6 > 5.6.7.9 gw 5.6.7.10 > default gw 1.2.3.1" The point is to remove the hard newline, which you've kept in your examples. Thanks Roy -- gentoo-dev@lists.gentoo.org mailing list
Re: [gentoo-dev] config_eth0 deprecated - new name?
Roy Marples wrote: > The point is to remove the hard newline, which you've kept in your examples. Roy, yes, I realized that after I emailed - at first I thought it was remaining as an option. :) -Joe -- gentoo-dev@lists.gentoo.org mailing list
Re: [gentoo-dev] lastrite: net-fs/coda-kernel (treecleaners)
Samuli Suominen wrote: # Samuli Suominen <[EMAIL PROTECTED]> (21 Apr 2008) # Masked by treecleaners for bug 160267. Removed in ~60 days. # Has been included in 2.6 kernel series. net-fs/coda-kernel Are you sure? codafs has been in the kernel for years but I think the external package is something different. -- gentoo-dev@lists.gentoo.org mailing list
Re: [gentoo-dev] config_eth0 deprecated - new name?
On Wed, Apr 23, 2008 at 04:21:27PM +0100, Roy Marples wrote: > OK, it seems that hard lines in multipart configs seem to be an issue, so I'm > doing this now. > > For a summary of why we're using hard lines you can read this thread > http://thread.gmane.org/gmane.linux.gentoo.devel/45756/focus=45765 Do you plan to reimplement parsing of the complete ip syntax for addresses and routes? See my attached example from work, we use a lot of the various options on stuff. -- Robin Hugh Johnson Gentoo Linux Developer & Infra Guy E-Mail : [EMAIL PROTECTED] GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 # Prefer iproute2 over ifconfig modules=( "iproute2" ) ext="AAA.BBB.CCC" #REMOVED-FOR-PRIVACY oob="DDD.EEE.FFF" #REMOVED-FOR-PRIVACY int="GGG.HHH.III" #REMOVED-FOR-PRIVACY RC_NEED_bond0="net.eth2 net.eth3" # Primary IP must come first config_bond0=( "${int}.51/24" "${int}.22/24" "${int}.23/24" ) slaves_bond0="eth2 eth3" mtu_bond0="9000" #slaves_bond0="eth3" config_eth0=( "${oob}.145/27" ) config_eth1=( "${ext}.51/24" # REMOVED "${ext}.20/24" # REMOVED "${ext}.21/24" # REMOVED "${ext}.22/24" # REMOVED "${ext}.23/24" # REMOVED "${ext}.37/24" # REMOVED "${ext}.71/24" # REMOVED ) mtu_eth1="9000" config_eth2=( "null" ) #config_eth2=( "${ext}.51/24" ) config_eth3=( "null" ) config_lo=( "${ext}.30/32 broadcast - scope host" "${ext}.31/32 broadcast - scope host" "${ext}.32/32 broadcast - scope host" "${ext}.33/32 broadcast - scope host" "${ext}.34/32 broadcast - scope host" "${ext}.35/32 broadcast - scope host" "${ext}.36/32 broadcast - scope host" "${ext}.37/32 broadcast - scope host" "${ext}.38/32 broadcast - scope host" ) # Routing routes_eth0=( "${oob}.128/27 dev eth0 table oob scope link" "default via ${oob}.129 table oob" ) routes_eth1=( # was eth1 "${ext}.0/24 dev eth1 table external scope link" "default via ${ext}.10 dev eth1" ) routes_bond0=( "${int}.0/8 dev bond0 table internal scope link" "${int}.192/27 dev bond0 mtu 1500 table internal scope link" "default via ${int}.2 bond0 table internal" ) rules_bond0=( "from ${int}.0/24 table internal priority 700 dev bond0" "to ${int}.0/24 table internal priority 750 dev bond0" ) rules_eth0=( "from ${oob}.128/27 table oob priority 500" "to ${oob}.128/27 table oob priority 550" ) rules_eth1=( # was eth1 "from ${ext}.0/24 table external priority 400" "to ${ext}.0/24 table external priority 450" ) # Now some fun functionality. # This flushes the Linux route cache # It is important on failover to do this # otherwise traffic might try an old route for a while. flush_route_cache() { ebegin "Flushing route cache for ${IFACE}" ip route flush cache dev ${IFACE} ret=$? eend $ret return $ret } # This will take a rules array, and process it. ip_rule_runner() { cmd="$1" [EMAIL PROTECTED] rules=( "${!rules_iface}" ) max=$(([EMAIL PROTECTED] - 1)) cmd="ip rule ${cmd}" for ln in `seq 0 $max`; do ebegin " ${cmd} ${rules[$ln]}" ${cmd} ${rules[$ln]} eend $? done } postup() { einfo "Adding rules" ip_rule_runner add flush_route_cache } predown() { einfo "Removing rules" ip_rule_runner del flush_route_cache } check_link() { ethtool "${IFACE}" | grep -q 'Link detected: yes' } preup() { case $IFACE in ppp*|ippp*|isdn*|plip*|lo*|irda*|dummy*|ipsec*|tun*|tap*) ;; bond*) ;; eth*) # Try to force link up first, for e1000 special case i=0 while [ $i -lt 5 ] && ! check_link; do [ $i -gt 0 ] && sleep 0.2 ip link set ${IFACE} up i=$(($i+1)) done if ! check_link; then ewarn "No link on ${IFACE}, aborting configuration" ip link set $IFACE down # commented out for the moment, we need to check if we are in a bond #return 1 fi ;; esac return 0 } # Do not use the metric calculation code # It is slow with lots of routes. metric=0 metric_eth0=0 metric_eth1=0 metric_eth2=0 metric_eth3=0 metric_eth4=0 metric_eth5=0 metric_bond0=0 pgpi8ACnSLqbu.pgp Description: PGP signature
Re: [gentoo-dev] config_eth0 deprecated - new name?
On Wednesday 23 April 2008 21:46:18 Robin H. Johnson wrote: > On Wed, Apr 23, 2008 at 04:21:27PM +0100, Roy Marples wrote: > > OK, it seems that hard lines in multipart configs seem to be an issue, so > > I'm doing this now. > > > > For a summary of why we're using hard lines you can read this thread > > http://thread.gmane.org/gmane.linux.gentoo.devel/45756/focus=45765 > > Do you plan to reimplement parsing of the complete ip syntax for > addresses and routes? Not at all. If I did then we're back to using newlines. Basically we need something like ipaddrs=address1 address2 address3 for addresses, and routes=dest gateway dest gateway dest gateway or routes=route1 route2 route3 route1=dest gateway route2=dest gateway route3=dest gateway for routes There will be no special ip or ifconfig parsing - it's a pita. especially trying to mange 2 variants of linux ifconfig onto iproute2 (and back) and trying to get the same style to work with BSD ifconfig. Been there, too much pain. So it's the simple route. Want anything more powerful, well we have the direct ifconfig_eth0= ip_eth0= directives. And if they don't work then use a pre-up. > > See my attached example from work, we use a lot of the various options > on stuff. No, we won't support that. However, we will bring back ip ranges for the last ocet like so 1.2.3.4-10/24 After seeing that I take it you'ed vote for the BSD named routing style? Thanks Roy -- gentoo-dev@lists.gentoo.org mailing list
Re: [gentoo-dev] config_eth0 deprecated - new name?
Roy Marples <[EMAIL PROTECTED]> writes: > On Wednesday 23 April 2008 21:46:18 Robin H. Johnson wrote: >> See my attached example from work, we use a lot of the various options >> on stuff. > > No, we won't support that. However, we will bring back ip ranges for the last > ocet like so > 1.2.3.4-10/24 It looks to me as though you are intending to remove the capability to set up complex network environments. Granted most people only have simple configurations (with single IP address and just a default route), but some of us have more complex networking environments with multiple addresses, routes and rules on multiple interfaces. Currently Gentoo baselayout-1 makes it relatively straightforward to set up these configurations, and the current baselayout-2 is almost as simple[1]. I think it would be a bad idea to remove any of the network configuration functionality currently offered by baselayout-1. [1] But in my opinion, the baselayout-1 /etc/net.conf syntax is better than that in baselayout-2. Though I have not yet migrated any of the systems with complex networking to baselayout-2. -- gentoo-dev@lists.gentoo.org mailing list
Re: [gentoo-dev] config_eth0 deprecated - new name?
On Wed, Apr 23, 2008 at 10:04:38PM +0100, Roy Marples wrote: > On Wednesday 23 April 2008 21:46:18 Robin H. Johnson wrote: > > On Wed, Apr 23, 2008 at 04:21:27PM +0100, Roy Marples wrote: > > > OK, it seems that hard lines in multipart configs seem to be an issue, so > > > I'm doing this now. > > > > > > For a summary of why we're using hard lines you can read this thread > > > http://thread.gmane.org/gmane.linux.gentoo.devel/45756/focus=45765 > > > > Do you plan to reimplement parsing of the complete ip syntax for > > addresses and routes? > > Not at all. If I did then we're back to using newlines. > Basically we need something like > ipaddrs=address1 address2 address3 > for addresses, and > routes=dest gateway dest gateway dest gateway > or > routes=route1 route2 route3 > route1=dest gateway > route2=dest gateway > route3=dest gateway > for routes The problem in this is that you cannot set the properties for each address or route. Please don't take us back to the stoneage of writing the advanced networking configuration manually. As an example of an ip address line with properties: ${ext}.30/32 broadcast - scope host An an example of a route with properties: ${int}.192/27 dev bond0 mtu 1500 table internal scope link (my normal mtu on the internal link is 9k, but part of the subnet runs at 1500 for netbooting on dumb cards) Doing these in {pre,post}{up,down} means we basically end up reimplementing the baselayout1 array-based config manually in the blocks. I already do that for the ip_rule_runner block. > No, we won't support that. However, we will bring back ip ranges for the last > ocet like so > 1.2.3.4-10/24 I care about the address ranges far less than the additional properties. > After seeing that I take it you'ed vote for the BSD named routing style? I'm ambivalent about the naming scheme - I do care greatly about the easy of configuration for the properties. -- Robin Hugh Johnson Gentoo Linux Developer & Infra Guy E-Mail : [EMAIL PROTECTED] GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 pgpFz0PgcO6WO.pgp Description: PGP signature
Re: [gentoo-dev] lastrite: net-fs/coda-kernel (treecleaners)
ext Daniel Drake schrieb: Samuli Suominen wrote: # Samuli Suominen <[EMAIL PROTECTED]> (21 Apr 2008) # Masked by treecleaners for bug 160267. Removed in ~60 days. # Has been included in 2.6 kernel series. net-fs/coda-kernel Are you sure? codafs has been in the kernel for years but I think the external package is something different. I'd say the only difference is the version. Don't know how frequently the in-kernel module code is updated, though. Bye... Dirk -- Dirk Heinrichs | Tel: +49 (0)162 234 3408 Configuration Manager | Fax: +49 (0)211 47068 111 Capgemini Deutschland | Mail: [EMAIL PROTECTED] Wanheimerstraße 68 | Web: http://www.capgemini.com D-40468 Düsseldorf | ICQ#: 110037733 GPG Public Key C2E467BB | Keyserver: www.keyserver.net signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] config_eth0 deprecated - new name?
On Thursday 24 April 2008 00:01:01 Robin H. Johnson wrote: > The problem in this is that you cannot set the properties for each > address or route. Please don't take us back to the stoneage of writing > the advanced networking configuration manually. > > As an example of an ip address line with properties: > ${ext}.30/32 broadcast - scope host Correct as usual. However, the existing config_foo isn't going anyway anytime soon, so your power user config still works. However, it will be moving to the right place ifconfig_eth0 ip_addr_eth0 And we'll stop parsing it. You'll have to know the syntax for the module you're using. I'm going to trying to map between them which will make the code lighter and less error prone. > > An an example of a route with properties: > ${int}.192/27 dev bond0 mtu 1500 table internal scope link > (my normal mtu on the internal link is 9k, but part of the subnet runs > at 1500 for netbooting on dumb cards) You can do this with the BSD style syntax static_routes_bond0="int0 int192 defint" route_int0="${int}.0/8 dev bond0 table internal scope link" route_int192="${int}.192/27 dev bond0 mtu 1500 table internal scope link" route_defint="default via ${int}.2 bond0 table internal" Thanks Roy -- gentoo-dev@lists.gentoo.org mailing list
Re: [gentoo-dev] config_eth0 deprecated - new name?
On Wednesday 23 April 2008 23:01:38 Graham Murray wrote: > Roy Marples <[EMAIL PROTECTED]> writes: > > On Wednesday 23 April 2008 21:46:18 Robin H. Johnson wrote: > >> See my attached example from work, we use a lot of the various options > >> on stuff. > > > > No, we won't support that. However, we will bring back ip ranges for the > > last ocet like so > > 1.2.3.4-10/24 > > It looks to me as though you are intending to remove the capability to > set up complex network environments. No I'm not. I'm making it easy for simple configs AND complex ones. Just not through the same variable. > [1] But in my opinion, the baselayout-1 /etc/net.conf syntax is better than > that in baselayout-2. Though I have not yet migrated any of the systems > with complex networking to baselayout-2. Sadly, default scripts we ship have to work with shells other than bash. Of course, you're still welcome to use config_eth0 as a bash array as that still works and will for the foreseeable future. Thanks Roy -- gentoo-dev@lists.gentoo.org mailing list