* [ANNOUNCE] iproute2 v2.6.25
@ 2008-04-17 17:38 Stephen Hemminger
2008-04-17 20:35 ` PATCH WAS( " jamal
0 siblings, 1 reply; 19+ messages in thread
From: Stephen Hemminger @ 2008-04-17 17:38 UTC (permalink / raw)
To: netdev
New version of iproute2 utilities that includes bug fixes and
support for all the new features in kernel 2.6.25.
Source: (note old developer.osdl.org address works as well)
http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-2.6.25.tar.bz2
Git tree:
git://git.kernel.org/pub/scm/network/iproute2/iproute2.git
Changelog:
Andreas Henriksson (3):
iproute2: revert syntax help text mistake.
iproute2: add synonyms for ip rule options to ip(8) manpage.
iproute2: fix ip manpage typo (syntax error)
Björn Steinbrink (1):
ss: Fix return value checks for net_*_open
Jesper Dangaard Brouer (7):
In police, fix uninitialized "overhead" variable.
TBF overhead parameter parsing.
CBQ use matches() function instead of strcmp().
CBQ, implement overhead parameter parsing.
CBQ, doc usage of overhead parameter.
police, implement overhead parameter parsing.
ATM cell alignment.
Marcela Maslanova (2):
I found out when I was writing manual page, that options ALGO_NAME and
man ip.8 miss xfrm option
Mike Frysinger (1):
Do not strip binaries with `install`
PJ Waskiewicz (1):
Update various classifiers' help output for expected CLASSID syntax
Patrick McHardy (4):
Add support for SFQ xstats
Add flow classifier support
cls_flow: add vlan-tag support
Fix classifier help
Stephen Hemminger (33):
Merge header file changes from net-2.6.25
Fix breakage from netfilter/ip_tables header change.
rlim qdisc support
netem potential dist table overflow
Update header files from net-2.6.25
Revert "TC action parsing bug fix"
fix typo in ip batch error message
vlan meta tag match
libnetlink: don't spin forever on receive error
remove extra newline from perror() calls
poll for errors after rtnl_send
whitespace typo in tc_common.h
fix problem caused by rtnl_send checks
harmonize headers with upcoming 2.6.25
Change where vlan option shows up in help
ignore emacs backup files
fix typos in help message for meta match
reharmonize headers with pre-freeze 2.6.25
add support for matching AOE and CAN ether types
Protocol field on tc_filter is required
minor typo fixes
add include/linux/hdlc/ioctl.h
Revert "rlim qdisc support"
break excessively long lines
get rid of warning from misnamed prototype
decode the output of u32 matches
missing dport in f_u32 output
Add default value to /etc/iproute2/rt_dsfield
revert earlier mistake ALGO_NAME is okay
Update address of FSF in license
IP link state show enhancements
Update kernel headers to 2.6.25-rc7
Update version
Templin, Fred L (1):
iproute2-2.6.23: RFC4214 Support (v2.5)
Varun Chandramohan (1):
Add missing prefix bit length for addrlabel
YOSHIFUJI Hideaki / 吉藤英明 (3):
Add addrlabel sub-command.
Add more aliases for tunnel subcommand.
Add missing description about ISATAP and IPv6 tunnels in ip(8) manpage.
^ permalink raw reply [flat|nested] 19+ messages in thread* PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-17 17:38 [ANNOUNCE] iproute2 v2.6.25 Stephen Hemminger @ 2008-04-17 20:35 ` jamal 2008-04-17 20:46 ` Stephen Hemminger 0 siblings, 1 reply; 19+ messages in thread From: jamal @ 2008-04-17 20:35 UTC (permalink / raw) To: Stephen Hemminger; +Cc: netdev [-- Attachment #1: Type: text/plain, Size: 242 bytes --] Quick test: My u32 scripts broke. It seems that i need to pass -raw to get same output as before; i am sure this will break anyone else depending on old output. I have introduced a "cooked" mode instead to output new format. cheers, jamal [-- Attachment #2: u32_p --] [-- Type: text/plain, Size: 1868 bytes --] [TC] Restore old output of u32 on output My scripts broke because of the new change that beautifies output. Restore old output as default and have user enter -cooked if they want beautified output... Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> --- commit d37302089fbc4c4b5374372e587331ab431b6ae3 tree 05403c85aa727ae9ae939ce8978c4b43b0c478b6 parent 727d468e54bd903b91536e28435a43f73b023222 author Jamal Hadi Salim <hadi@cyberus.ca> Thu, 17 Apr 2008 16:32:46 -0400 committer Jamal Hadi Salim <hadi@cyberus.ca> Thu, 17 Apr 2008 16:32:46 -0400 include/utils.h | 1 + tc/f_u32.c | 2 +- tc/tc.c | 3 +++ 3 files changed, 5 insertions(+), 1 deletions(-) diff --git a/include/utils.h b/include/utils.h index 5daed6b..3a7312c 100644 --- a/include/utils.h +++ b/include/utils.h @@ -13,6 +13,7 @@ extern int preferred_family; extern int show_stats; extern int show_details; extern int show_raw; +extern int show_cooked; extern int resolve_hosts; extern int oneline; extern int timestamp; diff --git a/tc/f_u32.c b/tc/f_u32.c index 7e4d56c..db492fe 100644 --- a/tc/f_u32.c +++ b/tc/f_u32.c @@ -793,7 +793,7 @@ static void show_key(FILE *f, const struct tc_u32_key *key) { char abuf[256]; - if (show_raw) + if (!show_cooked) goto raw; switch (key->off) { diff --git a/tc/tc.c b/tc/tc.c index 6126c71..06058fb 100644 --- a/tc/tc.c +++ b/tc/tc.c @@ -33,6 +33,7 @@ int show_stats = 0; int show_details = 0; int show_raw = 0; +int show_cooked = 0; int resolve_hosts = 0; int use_iec = 0; int force = 0; @@ -273,6 +274,8 @@ int main(int argc, char **argv) ++show_details; } else if (matches(argv[1], "-raw") == 0) { ++show_raw; + } else if (matches(argv[1], "-cooked") == 0) { + ++show_cooked; } else if (matches(argv[1], "-Version") == 0) { printf("tc utility, iproute2-ss%s\n", SNAPSHOT); return 0; ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-17 20:35 ` PATCH WAS( " jamal @ 2008-04-17 20:46 ` Stephen Hemminger 2008-04-17 20:59 ` jamal 0 siblings, 1 reply; 19+ messages in thread From: Stephen Hemminger @ 2008-04-17 20:46 UTC (permalink / raw) To: hadi; +Cc: netdev On Thu, 17 Apr 2008 16:35:39 -0400 jamal <hadi@cyberus.ca> wrote: > > Quick test: > My u32 scripts broke. It seems that i need to pass -raw to get same > output as before; i am sure this will break anyone else depending on old > output. > I have introduced a "cooked" mode instead to output new format. > The raw flag already existed and humans are the main users. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-17 20:46 ` Stephen Hemminger @ 2008-04-17 20:59 ` jamal 2008-04-17 21:08 ` Stephen Hemminger 0 siblings, 1 reply; 19+ messages in thread From: jamal @ 2008-04-17 20:59 UTC (permalink / raw) To: Stephen Hemminger; +Cc: netdev On Thu, 2008-17-04 at 13:46 -0700, Stephen Hemminger wrote: > The raw flag already existed and humans are the main users. My scripts dont count as humans ;-> "raw" was not intepreted for the output on u32. Your patch changed the semantics when you added what amounts to a cooked mode. I think changing old standing outputs should be treated in the same spirit as existing ABIs. Was this ever posted somewhere - I apologize if the discussion already happened. cheers, jamal ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-17 20:59 ` jamal @ 2008-04-17 21:08 ` Stephen Hemminger 2008-04-17 21:24 ` jamal 0 siblings, 1 reply; 19+ messages in thread From: Stephen Hemminger @ 2008-04-17 21:08 UTC (permalink / raw) To: hadi; +Cc: netdev On Thu, 17 Apr 2008 16:59:11 -0400 jamal <hadi@cyberus.ca> wrote: > On Thu, 2008-17-04 at 13:46 -0700, Stephen Hemminger wrote: > > > The raw flag already existed and humans are the main users. > > My scripts dont count as humans ;-> > "raw" was not intepreted for the output on u32. Your patch changed the > semantics when you added what amounts to a cooked mode. > I think changing old standing outputs should be treated in the same > spirit as existing ABIs. Was this ever posted somewhere - I apologize if > the discussion already happened. > > cheers, > jamal > By that logic no program output would ever change. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-17 21:08 ` Stephen Hemminger @ 2008-04-17 21:24 ` jamal 2008-04-18 12:45 ` jamal 0 siblings, 1 reply; 19+ messages in thread From: jamal @ 2008-04-17 21:24 UTC (permalink / raw) To: Stephen Hemminger; +Cc: netdev On Thu, 2008-17-04 at 14:08 -0700, Stephen Hemminger wrote: > By that logic no program output would ever change. Ok, come on now Stephen;-> You dont think theres consequences to changing output for a program that had the same exact output for like 10 years? If you dont believe me, try changing the output of programs like ifconfig, route etc which people are all the time scripting around and see how loud they scream. I see this in the same way. Note: I am not arguing against changing output - it could be done if there was some discussion which resulted in enough warning. We give i think a years warning for ABI changes. cheers, jamal ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-17 21:24 ` jamal @ 2008-04-18 12:45 ` jamal 2008-04-18 14:22 ` Patrick McHardy 0 siblings, 1 reply; 19+ messages in thread From: jamal @ 2008-04-18 12:45 UTC (permalink / raw) To: Stephen Hemminger; +Cc: netdev Scanning that region of u32 that changed: show_key() certainly assumes IPv4 (it will fail if we filter on IPV6, ARP etc). I think this is even more reason to do the cooked variant as the non-default. Let me know if you are ok with changing that and i will invest time "cooking" patches ;-> BTW, speaking of scripts and command line output changes (and to emphasize my earlier comments): A lot of people managing router configuration out there in the wild do write parsers that depend on how output looks like (typically a send/expect interaction)[1]. They invest time in writting such scripts. In an old job at one point, a customer was adamant they wouldnt buy our new super-dupper device merely because we changed the command output by iirc removing a ":" in one of them. Theyd have to rewrite things and go through whole regression testing. cheers, jamal [1] Contrary to popular theory that provider use SNMP to do router config (as found out by some study related to the IETF). Things are changing a little with newer protocols showing up at the IETF to address these sort of issues. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-18 12:45 ` jamal @ 2008-04-18 14:22 ` Patrick McHardy 2008-04-19 0:08 ` jamal 0 siblings, 1 reply; 19+ messages in thread From: Patrick McHardy @ 2008-04-18 14:22 UTC (permalink / raw) To: hadi; +Cc: Stephen Hemminger, netdev jamal wrote > BTW, speaking of scripts and command line output changes (and to > emphasize my earlier comments): > A lot of people managing router configuration out there in the wild do > write parsers that depend on how output looks like (typically a > send/expect interaction)[1]. They invest time in writting such scripts. > In an old job at one point, a customer was adamant they wouldnt buy our > new super-dupper device merely because we changed the command output by > iirc removing a ":" in one of them. Theyd have to rewrite things and go > through whole regression testing. Yes, that sucks (ran into the same problem with iproute in a previous job). I added the ENV dump format to libnl a couple of years ago (NAME=val), should be easy to add a set of simple tools to get the information and export it in the environment. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-18 14:22 ` Patrick McHardy @ 2008-04-19 0:08 ` jamal 2008-04-19 0:59 ` Stephen Hemminger 2008-04-19 16:45 ` Patrick McHardy 0 siblings, 2 replies; 19+ messages in thread From: jamal @ 2008-04-19 0:08 UTC (permalink / raw) To: Patrick McHardy; +Cc: Stephen Hemminger, netdev On Fri, 2008-18-04 at 16:22 +0200, Patrick McHardy wrote: > > Yes, that sucks (ran into the same problem with iproute in a > previous job). I added the ENV dump format to libnl a couple > of years ago (NAME=val), should be easy to add a set of simple > tools to get the information and export it in the environment. Can you explain this a little? Would these variables define what the command line parameters look like before invoking? cheers, jamal ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-19 0:08 ` jamal @ 2008-04-19 0:59 ` Stephen Hemminger 2008-04-19 1:34 ` jamal 2008-04-19 16:45 ` Patrick McHardy 1 sibling, 1 reply; 19+ messages in thread From: Stephen Hemminger @ 2008-04-19 0:59 UTC (permalink / raw) To: hadi; +Cc: Patrick McHardy, netdev On Fri, 18 Apr 2008 20:08:16 -0400 jamal <hadi@cyberus.ca> wrote: > On Fri, 2008-18-04 at 16:22 +0200, Patrick McHardy wrote: > > > > > Yes, that sucks (ran into the same problem with iproute in a > > previous job). I added the ENV dump format to libnl a couple > > of years ago (NAME=val), should be easy to add a set of simple > > tools to get the information and export it in the environment. > > Can you explain this a little? Would these variables define what > the command line parameters look like before invoking? > > cheers, > jamal > > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html If somebody doesn't do it first, maybe split the u32 output into: (nothing) original format -raw value/offset -pretty decoded equivalent of original command ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-19 0:59 ` Stephen Hemminger @ 2008-04-19 1:34 ` jamal 0 siblings, 0 replies; 19+ messages in thread From: jamal @ 2008-04-19 1:34 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Patrick McHardy, netdev On Fri, 2008-18-04 at 17:59 -0700, Stephen Hemminger wrote: > If somebody doesn't do it first, maybe split the u32 output into: > (nothing) original format > -raw value/offset > -pretty decoded equivalent of original command If there is an agreement to make the original output default i.e use -cooked if you want to prettify, else old output - then i will do it. i.e i can work on top of the patch i sent. cheers, jamal ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-19 0:08 ` jamal 2008-04-19 0:59 ` Stephen Hemminger @ 2008-04-19 16:45 ` Patrick McHardy 2008-04-20 11:48 ` jamal 1 sibling, 1 reply; 19+ messages in thread From: Patrick McHardy @ 2008-04-19 16:45 UTC (permalink / raw) To: hadi; +Cc: Stephen Hemminger, netdev jamal wrote: > On Fri, 2008-18-04 at 16:22 +0200, Patrick McHardy wrote: > > >> Yes, that sucks (ran into the same problem with iproute in a >> previous job). I added the ENV dump format to libnl a couple >> of years ago (NAME=val), should be easy to add a set of simple >> tools to get the information and export it in the environment. >> > > Can you explain this a little? Would these variables define what > the command line parameters look like before invoking? I imagine something like this: # nl-link-dump env eth0 LINK_NAME=eth0 LINK_IFINDEX=2 LINK_LLADDR=..... LINK_OPERSTATE=... and so on. You could then do something like this: export $(nl-link-dump env eth0) and use $LINK_... in your scripts. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-19 16:45 ` Patrick McHardy @ 2008-04-20 11:48 ` jamal 2008-04-21 11:50 ` Patrick McHardy 0 siblings, 1 reply; 19+ messages in thread From: jamal @ 2008-04-20 11:48 UTC (permalink / raw) To: Patrick McHardy; +Cc: Stephen Hemminger, netdev On Sat, 2008-19-04 at 18:45 +0200, Patrick McHardy wrote: > I imagine something like this: > > # nl-link-dump env eth0 > > LINK_NAME=eth0 > LINK_IFINDEX=2 > LINK_LLADDR=..... > LINK_OPERSTATE=... > > and so on. You could then do something like this: > > export $(nl-link-dump env eth0) > > and use $LINK_... in your scripts. > Clever. That would certainly help in portability; i will take a closer look on what you did for libnl and see how well it applies for iproute2. Stephen, I have some cycles today - I am going to assume no-response from you implies ok on the change i sent earlier - so i will work on adding additional changes on top of the one i sent earlier to fixup the pretty printing (which is not as serious a regression IMO as breakage of the output). cheers, jamal ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-20 11:48 ` jamal @ 2008-04-21 11:50 ` Patrick McHardy 2008-04-21 13:07 ` jamal 2008-04-28 11:44 ` Thomas Graf 0 siblings, 2 replies; 19+ messages in thread From: Patrick McHardy @ 2008-04-21 11:50 UTC (permalink / raw) To: hadi; +Cc: Stephen Hemminger, netdev jamal wrote: > On Sat, 2008-19-04 at 18:45 +0200, Patrick McHardy wrote: > >> I imagine something like this: >> >> # nl-link-dump env eth0 >> >> LINK_NAME=eth0 >> LINK_IFINDEX=2 >> LINK_LLADDR=..... >> LINK_OPERSTATE=... >> >> and so on. You could then do something like this: >> >> export $(nl-link-dump env eth0) >> >> and use $LINK_... in your scripts. >> > > Clever. That would certainly help in portability; i will take a closer > look on what you did for libnl and see how well it applies for iproute2. I just noticed the libnl example code already supports this: $ ./nl-link-dump env dev eth0 LINK_NAME=eth0 LINK_IFINDEX=2 LINK_FAMILY=unspec LINK_TYPE=ether ... I wouldn't duplicate it for iproute, but rather complete the libnl support (I think some object types are still missing ENV dump format support) and tell people to use that for scripting. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-21 11:50 ` Patrick McHardy @ 2008-04-21 13:07 ` jamal 2008-04-21 13:39 ` Patrick McHardy 2008-04-28 11:44 ` Thomas Graf 1 sibling, 1 reply; 19+ messages in thread From: jamal @ 2008-04-21 13:07 UTC (permalink / raw) To: Patrick McHardy; +Cc: Stephen Hemminger, netdev, Thomas Graf On Mon, 2008-21-04 at 13:50 +0200, Patrick McHardy wrote: > I just noticed the libnl example code already supports this: > > $ ./nl-link-dump env dev eth0 > LINK_NAME=eth0 > LINK_IFINDEX=2 > LINK_FAMILY=unspec > LINK_TYPE=ether > ... > > I wouldn't duplicate it for iproute, but rather complete the > libnl support (I think some object types are still missing > ENV dump format support) and tell people to use that for > scripting. Sounds sensible. It would be useful to probably port iproute2 to use libnl. Or something new that provides iproute2 input/output. on libnl (CC Thomas): I havent looked at libnl in a long time; it is certainly the right direction forward - my main contention with it (which i mentioned to Thomas) is it has too many knobs/hooks. Last conversation we had he told me it is optional for me to use all those knobs. For a geek that may not be sufficient answer: if you give me a swiss army knife i need to know what everything does ;-> Once you go that path network code that provides callbacks in more than send/recv as well as statefulness (like caching runtime objects which libnl did when i looked) then you no longer pass the smell-test for "library" - you are into "framework" domain[1] - which requires more steep knowledge of the framework to bypass mechanisms provided to you that you dont like. I tried to port some app back then from libnetlink to libnl and found it to be extra curve-climbing and abandoned it; i will revisit at some point. cheers, jamal [1] Python twisted for example falls under "framework" ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-21 13:07 ` jamal @ 2008-04-21 13:39 ` Patrick McHardy 2008-04-21 14:21 ` jamal 0 siblings, 1 reply; 19+ messages in thread From: Patrick McHardy @ 2008-04-21 13:39 UTC (permalink / raw) To: hadi; +Cc: Stephen Hemminger, netdev, Thomas Graf jamal wrote: > On Mon, 2008-21-04 at 13:50 +0200, Patrick McHardy wrote: > > >> I just noticed the libnl example code already supports this: >> >> $ ./nl-link-dump env dev eth0 >> LINK_NAME=eth0 >> LINK_IFINDEX=2 >> LINK_FAMILY=unspec >> LINK_TYPE=ether >> ... >> >> I wouldn't duplicate it for iproute, but rather complete the >> libnl support (I think some object types are still missing >> ENV dump format support) and tell people to use that for >> scripting. > > Sounds sensible. > It would be useful to probably port iproute2 to use libnl. Or something > new that provides iproute2 input/output. Yes, that would be nice, the iproute netlink infrastructure is really lagging behind. I'm not sure which way would be preferrable, build something new on top of libnl without disturbing existing users or gradually port iproute on top of libnl, probably starting with the netlink infrastructure. > on libnl (CC Thomas): > I havent looked at libnl in a long time; it is certainly the right > direction forward - my main contention with it (which i mentioned to > Thomas) is it has too many knobs/hooks. Last conversation we had he told > me it is optional for me to use all those knobs. For a geek that may not > be sufficient answer: if you give me a swiss army knife i need to know > what everything does ;-> > > Once you go that path network code that provides callbacks in more than > send/recv as well as statefulness (like caching runtime objects which > libnl did when i looked) then you no longer pass the smell-test for > "library" - you are into "framework" domain[1] - which requires more > steep knowledge of the framework to bypass mechanisms provided to you > that you dont like. I tried to port some app back then from libnetlink > to libnl and found it to be extra curve-climbing and abandoned it; i > will revisit at some point. Yes, its a bit overwhelming at the beginning because of all those knobs, but the simple things are actually real easy :) ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-21 13:39 ` Patrick McHardy @ 2008-04-21 14:21 ` jamal 2008-04-28 11:52 ` Thomas Graf 0 siblings, 1 reply; 19+ messages in thread From: jamal @ 2008-04-21 14:21 UTC (permalink / raw) To: Patrick McHardy; +Cc: Stephen Hemminger, netdev, Thomas Graf On Mon, 2008-21-04 at 15:39 +0200, Patrick McHardy wrote: > > Yes, that would be nice, the iproute netlink infrastructure is really > lagging behind. Agreed. > I'm not sure which way would be preferrable, build > something new on top of libnl without disturbing existing users or > gradually port iproute on top of libnl, probably starting with the > netlink infrastructure. I would say build something new would be the proper way to go. Maintain output of ip/tc/ifconfig/route and phase them out slowly. > Yes, its a bit overwhelming at the beginning because of all > those knobs, but the simple things are actually real easy :) The majority of new users out there may not have the same challenges i had: I wanted to do some simple things in a short period; i knew how to use libnetlink - i thought the mapping would be easy to follow from libnetlink to libnl; after a few hours, rather than investing more time i found it easier to update things on top of libnetlink. People who are totaly starting may find it easier to learn libnl first. I certainly do plan to poke fingers at libnl - i just happen to have something that works. cheers, jamal ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-21 14:21 ` jamal @ 2008-04-28 11:52 ` Thomas Graf 0 siblings, 0 replies; 19+ messages in thread From: Thomas Graf @ 2008-04-28 11:52 UTC (permalink / raw) To: jamal; +Cc: Patrick McHardy, Stephen Hemminger, netdev * jamal <hadi@cyberus.ca> 2008-04-21 10:21 > On Mon, 2008-21-04 at 15:39 +0200, Patrick McHardy wrote: > > > > > Yes, that would be nice, the iproute netlink infrastructure is really > > lagging behind. > > Agreed. > > > I'm not sure which way would be preferrable, build > > something new on top of libnl without disturbing existing users or > > gradually port iproute on top of libnl, probably starting with the > > netlink infrastructure. > > I would say build something new would be the proper way to go. Maintain > output of ip/tc/ifconfig/route and phase them out slowly. Personally I'm in favour of having many small tools like git, i.e. rtnl-link-add, rtnl-link-list, etc. Tools like NetworkManager are already using or currently being ported to libnl and will hide almost all trivial networking configuration tasks behind a nice gui. Alternatively there can be an advanced configuration tool with a focus on Linux being used as a router. > The majority of new users out there may not have the same challenges i > had: > I wanted to do some simple things in a short period; i knew how to use > libnetlink - i thought the mapping would be easy to follow from > libnetlink to libnl; after a few hours, rather than investing more time > i found it easier to update things on top of libnetlink. > People who are totaly starting may find it easier to learn libnl first. > I certainly do plan to poke fingers at libnl - i just happen to have > something that works. I'm not going to argue with you Jamal :-) In fact I'm pretty sure that most of the basic tasks are really trivial with libnl and many common tasks are now accessible via clean interfaces. I agree though that the number of functions makes it difficult to find the proper interfaces. That's why I'm thinking about splitting things up in components like libnl, libnl-link, libnl-tc, etc. to separate the actual netlink library from netlink family implementations. Won't happen before 2.0 though. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: PATCH WAS( Re: [ANNOUNCE] iproute2 v2.6.25 2008-04-21 11:50 ` Patrick McHardy 2008-04-21 13:07 ` jamal @ 2008-04-28 11:44 ` Thomas Graf 1 sibling, 0 replies; 19+ messages in thread From: Thomas Graf @ 2008-04-28 11:44 UTC (permalink / raw) To: Patrick McHardy; +Cc: hadi, Stephen Hemminger, netdev * Patrick McHardy <kaber@trash.net> 2008-04-21 13:50 > jamal wrote: > >On Sat, 2008-19-04 at 18:45 +0200, Patrick McHardy wrote: > > > >>I imagine something like this: > >> > >># nl-link-dump env eth0 > >> > >>LINK_NAME=eth0 > >>LINK_IFINDEX=2 > >>LINK_LLADDR=..... > >>LINK_OPERSTATE=... > >> > >>and so on. You could then do something like this: > >> > >>export $(nl-link-dump env eth0) > >> > >>and use $LINK_... in your scripts. > >> > > > >Clever. That would certainly help in portability; i will take a closer > >look on what you did for libnl and see how well it applies for iproute2. > > I just noticed the libnl example code already supports this: > > $ ./nl-link-dump env dev eth0 > LINK_NAME=eth0 > LINK_IFINDEX=2 > LINK_FAMILY=unspec > LINK_TYPE=ether > ... > > I wouldn't duplicate it for iproute, but rather complete the > libnl support (I think some object types are still missing > ENV dump format support) and tell people to use that for > scripting. The framework is there (dump objects via NL_DUMP_ENV) but not all objects output all attributes yet. It's a low priority item for me though but I'm happy to accept patches. ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2008-04-28 11:51 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-04-17 17:38 [ANNOUNCE] iproute2 v2.6.25 Stephen Hemminger 2008-04-17 20:35 ` PATCH WAS( " jamal 2008-04-17 20:46 ` Stephen Hemminger 2008-04-17 20:59 ` jamal 2008-04-17 21:08 ` Stephen Hemminger 2008-04-17 21:24 ` jamal 2008-04-18 12:45 ` jamal 2008-04-18 14:22 ` Patrick McHardy 2008-04-19 0:08 ` jamal 2008-04-19 0:59 ` Stephen Hemminger 2008-04-19 1:34 ` jamal 2008-04-19 16:45 ` Patrick McHardy 2008-04-20 11:48 ` jamal 2008-04-21 11:50 ` Patrick McHardy 2008-04-21 13:07 ` jamal 2008-04-21 13:39 ` Patrick McHardy 2008-04-21 14:21 ` jamal 2008-04-28 11:52 ` Thomas Graf 2008-04-28 11:44 ` Thomas Graf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).