Date: Fri, 21 Feb 2014 10:05:50 -0700 From: John Nielsen <lists@jnielsen.net> To: Devin Teske <dteske@freebsd.org> Cc: "rc@freebsd.org" <rc@freebsd.org>, "net@freebsd.org" <net@freebsd.org> Subject: Re: network.subr _aliasN handling Message-ID: <7EAEF3AC-DB1B-4D3E-A156-E1E76B765990@jnielsen.net> In-Reply-To: <AFFFCC9A-8C21-4C0B-A8D9-457E4C26DDA3@fisglobal.com> References: <20131228055324.GA72764@aim7400.DataIX.local> <A7699871-A170-4AD5-B740-ED8BE17C7107@fisglobal.com> <9498BE8E-8090-4E7A-8317-18D29B1DDC08@dataix.net> <7DBA7D58-E925-47BC-967C-F653348426A6@fisglobal.com> <A15FAFBD-4597-4D8D-A014-0D486573894C@dataix.net> <AFFFCC9A-8C21-4C0B-A8D9-457E4C26DDA3@fisglobal.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 4, 2014, at 4:25 AM, Teske, Devin <Devin.Teske@fisglobal.com> = wrote: > On Jan 4, 2014, at 2:59 AM, Jason Hellenthal wrote: >=20 >> I believe I know what you mean by that but in a way scares me when = you say sort as in mixing up the original order they appear in which I = would find to be really unattractive to most. >=20 > It's not as scary as it sounds. >=20 > The issue is that the variables are sorted alphabetically, instead > of numerically. >=20 > Let's take four words: foo1, foo2, foo10, and foo20. > If you sort them alphabetically, you get: >=20 > foo1 > foo10 > foo2 > foo20 >=20 > You'll notice this when doing a directory listing, as that too is = sorted > alphabetically. >=20 > This is why "alias14" is run before "alias8" and "alias9". Because = they > are processed in alphabetically sorted order. I didn't do anything to = sort > the values, they came pre-sorted in alphabetic order. >=20 > If I simply throw in a "| sort -n", then it will change it to = numerically sorted. > As you might expect, numerically sorting the above list would result = in: >=20 > foo1 > foo2 > foo10 > foo20 >=20 > Trivial really. I'll throw a patch at you when I get some cycles = (soon). Hi Devin, Jason- I've been behind on my mailing list e-mail for a while, but I really = like the idea and the patch proposed here. I don't see anything like it = in head yet, so ... Ping? :) JN >> On Jan 4, 2014, at 5:29, "Teske, Devin" <Devin.Teske@fisglobal.com> = wrote: >>=20 >>>=20 >>> On Jan 3, 2014, at 10:28 PM, Jason Hellenthal wrote: >>>=20 >>>> Alright something is a little off about this from a running = standpoint it did what it is meant to do. >>>>=20 >>>> Bug1: it seems to have looped back over itself reissuing two = addresses from the top of the list. >>>>=20 >>>> Test case: >>>> I have aliases 0-14 used numbered as such. >>>> Aliases 0-7 are ipv6 >>>> Aliases 8-14 are ipv4 >>>>=20 >>>> I commented out alias 2 and 6 to break up consecutive order. >>>>=20 >>>> Alias 8 & 9 appeared to have been run after alias 14. >>>>=20 >>>>=20 >>>> Something is awry but I can't quite pick out what it is yet. >>>=20 >>>> On Dec 28, 2013, at 23:24, "Teske, Devin" = <Devin.Teske@fisglobal.com> wrote: >>>>=20 >>>>> On Dec 27, 2013, at 9:53 PM, <jhellenthal@dataix.net> wrote: >>>>>=20 >>>>>> Curious what everyone's opinion would be on modifying the = handling of _aliasN functions or providing a wrapper around it to handle = non-sequential ordering. >>>>>>=20 >>>>>> My goal on this is simple and based around groupings similiar to = that of the way user id(1)'s in passwd and group are handled or denoted = for use on modern systems. >>>>>>=20 >>>>>> I.e.: I would like to achieve this... >>>>>>=20 >>>>>> *_alias[1-99] =3D System type addresses "Importand addresses or = internal" >>>>>> *_alias[100-199] =3D Aliases for interface 1 >>>>>> *_alias[200-299] =3D Aliases for interface 2 >>>>>> etc... >>>>>>=20 >>>>>> NOt looking to achieve some sort of prefered naming convention = for the interface aliases, but loosen them so they may be defined by the = user in whatever means neccesary to their benefit. >>>>>>=20 >>>>>> In a scheme similiar to above I attempted to set an address on = every other 4th alias leaving 3 space rule room for insertion of further = addresses but was surprised when the processing of the aliases ceased at = the first non-sequential space. >>>>>>=20 >>>>>> So why not just grab every _aliasN no matter of what it is for = the interface and shove them into an arrary to be processed by a "for" = statement ? the order would still be kept without having to inspect = every defintion of alias and incrementing prehistorically. >>>>>>=20 >>>>>> As well this could provide early loading of the addresses into = their respective arrays so they may be processed and provided to any = other functions that may need to access them earlier on in script = fallthrough. >>>>>>=20 >>>>>> Looking at _alias'N' sequentialy feels like a neucense. >>>>>=20 >>>>> You mean something like the attached?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7EAEF3AC-DB1B-4D3E-A156-E1E76B765990>