Commit Graph

1115 Commits

Author SHA1 Message Date
Stephen Hemminger
a130b49b6c snapshot 100804 2010-08-04 10:45:59 -07:00
Stephen Hemminger
e3d153c1fb Fix byte order of ether address match for u32
The u32 key match was incorrect byte order when using ether source
or destination address matching.
2010-08-02 11:55:30 -07:00
Andreas Henriksson
02833d1b38 tc: make symbols loaded from tc action modules global.
Fixes problems with xtables based MARK target ("ipt" module).
When tc loads the "ipt" (xt) module it kept the symbols local,
this made loading of libxtables not find the required struct.

currently ipt/xt is the only tc action module.
iproute2 never seem to do dlclose.
hopefully the modules doesn't export more symbols then needed.

In this situation hopefully the RTLD_GLOBAL flag won't hurt us.

I've been using this patch in the Debian package of iproute for
the last 3 weeks and noone has complained.
( This fixes http://bugs.debian.org/584898 )

Signed-off-by: Andreas Henriksson <andreas@fatal.se>
2010-08-02 09:54:59 -07:00
Steve Fink
fbc0f876fa ss -p is much too slow
> On closer inspection, it appears that ss -p does a quadratic scan. It
> rescans every entry in /proc/*/fd/* repeatedly (once per listening
> port? per process? I don't remember what I figured out.)
>
> I humbly suggest that this is not a good idea.

Yep, this is junk.  Please give this patch a try:

ss: Avoid quadradic complexity with '-p'

Scan the process list of open sockets once, and store in a hash
table to be used by subsequent find_user() calls.

Reported-by: Steve Fink <sphink@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-07-31 19:31:12 -07:00
Mike Frysinger
1a7943bcf3 netem: fix installs of dist files
The tc program searches LIBDIR by default for the .dist files, and that
defaults to /usr/lib.  But the netem subdir has /lib/ hardcoded which
means the default build+install results in the files not being found.

Further, these are plain text files which are read at runtime, so it
doesn't make sense to give them executable bits.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-07-31 19:31:04 -07:00
Stephen Hemminger
4b45abd1f0 Fix NULL pointer reference when using basic match
If basic match has no tree of matches underneath
then print_ematch would core dump.
2010-07-29 18:03:35 -07:00
Stephen Hemminger
4dbda0f482 Update ARP header type table
Add all current values. Since if_arp.h is included, get rid
of ifdefs'. Make table constant.
2010-07-23 13:12:12 -07:00
Mike Frysinger
9ec0e899e1 dnet: fix strict aliasing warnings
Recent gcc doesn't like it when you cast char pointers to uint16_t
pointers and then dereference it.  So use memcpy() instead and let
gcc take care of optimizing things away (when appropriate).  This
should also fix alignment issues on arches where gcc packs the char
pointer tighter than 16bits.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-07-23 12:30:48 -07:00
Petr Lautrbach
0156412215 iproute: fix tc generating ipv6 priority filter
This patch adds ipv6 filter priority/traffic class function
static int parse_ip6_class(int *argc_p, char ***argv_p, struct tc_u32_sel *sel)
shifting filter value to 5th bit and ignoring "at" as header position
is exactly given.

Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
2010-07-23 12:29:35 -07:00
Mike Frysinger
bf512683e0 tc: revert "echo" in install target
The recent commit "iproute2: add option to build m_xt as a tc module"
(ab814d6355) looks like it wrongly included debug changes in the
install target.  So drop the `echo` so the tc binary actually gets
installed again.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-07-23 12:28:25 -07:00
Arnd Hannemann
dec01609dc iproute2: Add dsfield as alias for tos for ip rules
Get ip rule parsing of "dsfield" in sync with ip route parsing and manual page.

Signed-off-by: Arnd Hannemann <hannemann@nets.rwth-aachen.de>
2010-07-23 12:27:14 -07:00
Ben Greear
0d1c9b570a iproute2: Fix batch-mode for mrules.
The do_multirule logic was broken in batch mode because
it expected the preferred_family to be AF_INET or AF_INET6,
but it then assigned it to RTNL_FAMILY_IPMR or RTNL_FAMILY_IP6MR.
So, the next iteration of the batch processing, it failed
the check for AF_INET or AF_INET6.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2010-07-23 09:03:12 -07:00
Ulrich Weber
62011a0b31 iproute2: use int instead of long for RTAX_HOPLIMIT compare
otherwise "if ((int)val == -1)" will never match on 64 bit systems

Signed-off-by: Ulrich Weber <uweber@astaro.com>
2010-07-23 09:01:01 -07:00
Ulrich Weber
2eca8d3d3e iproute2: use get_user_hz() for IPv6 print_route
as already done in IPv4 and metrics code part

Signed-off-by: Ulrich Weber <uweber@astaro.com>
2010-07-23 09:01:01 -07:00
Ulrich Weber
447928279c iproute2: filter routing entries based on clone flag
Before IPv6 routing cache entries were always displayed
if additional tables beside MAIN and LOCAL are installed.

Signed-off-by: Ulrich Weber <uweber@astaro.com>
2010-07-23 09:01:01 -07:00
Patrick McHardy
b6c8e808fc ip: add support for multicast rules
commit 44a5293c1c47b8c32d9bb0756660ea5d4802acf2
Author: Patrick McHardy <kaber@trash.net>
Date:   Tue Apr 13 17:03:47 2010 +0200

    ip: add support for multicast rules

    Signed-off-by: Patrick McHardy <kaber@trash.net>
2010-06-09 08:49:24 -07:00
Jan Engelhardt
8864ac9dc5 Add IFLA_STATS64 support
`ip -s link` shows interface counters truncated to 32 bit. This is
because interface statistics are transported only in 32-bit quantity
to userspace. This commit adds recognition for the new IFLA_STATS64
attribute that exports them in full 64 bit.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
2010-05-19 09:06:03 -07:00
Stephen Hemminger
b4397f580e Update kernel derived headers
Version for 2.6.35 version on -next
2010-05-19 08:58:13 -07:00
Stephen Hemminger
d248a8fe23 v2.6.34 2010-05-19 08:32:43 -07:00
Stephen Hemminger
704f4df477 ip: add documentation for initrwnd
Cloned from ip-cref.tex
2010-05-19 08:30:09 -07:00
Brian Bloniarz
6299857dd5 ip: document initcwnd
Mention initcwnd in ip(8). Text taken from doc/ip-cref.tex.

Signed-off-by: Brian Bloniarz <bmb@athenacr.com>
2010-05-19 08:25:24 -07:00
Chris Wright
3fd8663087 iproute2: rework SR-IOV VF support
The kernel interface changed just before 2.6.34 was released.  This brings
iproute2 in line with the current changes.  The VF portion of setlink is
comprised of a set of nested attributes.

  IFLA_VFINFO_LIST (NESTED)
    IFLA_VF_INFO (NESTED)
      IFLA_VF_MAC
      IFLA_VF_VLAN
      IFLA_VF_TX_RATE

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
2010-05-18 08:12:31 -07:00
Stephen Hemminger
df33d7a489 Add documentation for ip link add/delete sub-commands
Add some missing pieces. Still need to add doucmentation for rest
of vlan arguments.
2010-05-17 09:50:17 -07:00
Stephen Hemminger
a171395410 Update kernel headers to 2.6.34 final version
Last minute IOV format change.
2010-05-17 08:57:24 -07:00
Florian Westphal
24abb62ee7 iproute2: fix addrlabel interface names handling
ip addrlabel outputs if%d names due to missing init call:
$ ip addrlabel s
prefix a::42/128 dev if4 label 1000

Also, ip did not accept "if%d" interfaces on input.

Signed-off-by: Florian Westphal <fw@strlen.de>
2010-05-13 09:23:46 -07:00
Bart Trojanowski
608a96c727 fix build issues with flex ver 2.5
When building on an old environment, the flex generated
tc/emp_ematch.lex.c file would not compile.  The error given was:

emp_ematch.lex.c:1686: error: expected ‘;’, ‘,’ or ‘)’ before numeric constant

The emp_ematch.l uses 'str' as a start symbol name, and  flex would create
a '#define str 1' statement.  This particular version of flex,
unfortunately, used 'str' as names of string variables in the generated
parser functions.  This is line 1686 in the generated file:

YY_BUFFER_STATE ematch__scan_string (yyconst char * str )

This patch just substitutes 'str' for 'lexstr' in emp_ematch.l to avoid
the collision.
2010-04-22 15:27:42 -07:00
Stephen Hemminger
4ec1933dfd Update ip.8 man page to describe route table id values
2.6 kernel allows 2^32 route tables, but documentation stated only
255 values were possible.
2010-04-22 15:24:37 -07:00
Alexandre Cassen
3979ef91de Detect 6rd kernel missing support / 6rd tunnel scope
This patch fix two issues:

* If kernel is not supporting 6rd then ioctl() call
  will return EINVAL, if so just skip perror call.

* 6rd scope is ipv6/ip tunnels. Dont try to fetch
  6rd tunnel parms if tunnel protocol != IPPROTO_IPV6.

Signed-off-by: Alexandre Cassen <acassen@freebox.fr>
2010-04-12 11:45:51 -07:00
Andreas Henriksson
ab814d6355 iproute2: add option to build m_xt as a tc module (v3)
This will build the xt module (action ipt) of tc as a
shared object that is linked at runtime by tc if used,
rather then built into tc.

This is similar to how the atm qdisc support
is handled (q_atm.so).

Signed-off-by: Andreas Henriksson <andreas@xxxxxxxx>
2010-04-12 11:40:29 -07:00
Stephen Hemminger
edaaa11e5a Workaround missing ALIGN() macro. 2010-03-29 17:37:49 -07:00
Stephen Hemminger
1b84ad557e Remove mirred debug message
Other commands are quiet if successful. mirred action had leftover
debug message.
2010-03-29 17:32:37 -07:00
Stephen Hemminger
609ceb807d Workaround missing ALIGN() macro
XT_ALIGN() calls ALIGN macro but ALIGN is in kernel source not userspace.
2010-03-29 15:17:48 -07:00
Stephen Hemminger
8881ece54f Update to 2.6.34-rc2 headers 2010-03-29 15:13:14 -07:00
Stephen Hemminger
f411a6289e Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/shemminger/iproute2 2010-03-29 15:11:24 -07:00
Andreas Henriksson
12ddfff76c iproute2: detect iptables modules dir in configure.
Try to automatically detect iptables modules directory.

Make the configure script look for iptables modules.
This also makes it possible to specify it on the
command line while building via "make IPT_LIB_DIR=/foo/bar".

Signed-off-by: Andreas Henriksson <andreas@fatal.se>
2010-03-29 15:10:20 -07:00
Jan Engelhardt
800b444016 ip: correctly report tunnel link type
Up until now, "tun" tunnels were displayed as link/[65534].

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
2010-03-29 15:03:19 -07:00
YOSHIFUJI Hideaki / 吉藤英明
697af1fcc6 gaiconf: /etc/gai.conf configuration helper.
This tool reads /etc/gai.conf, configuration for getaddrinfo(3), and
set up kernel parameter.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
2010-03-29 13:59:28 -07:00
Michele Petrazzo - Unipex
1db61e022d Continue after errors in -batch
Allow ip to process all the file passed with the -batch argument when
is passed also the -force switch

Signed-off-by: Michele Petrazzo <michele.petrazzo@unipex.it>
2010-03-09 07:50:19 -08:00
Stephen Hemminger
33ff9324de Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2 2010-03-04 08:31:13 -08:00
Wolfgang Grandegger
8a5179466a iproute2: netlink support for bus-error reporting and counters
This patch uses the new features of the kernel's netlink CAN interface
making the bus-error reporting configurable and allowing to retrieve
the CAN TX and RX bus error counters via netlink interface. Here is the
output of my test session showing how to use them:

# ip link set can0 up type can bitrate 500000 berr-reporting on
# ip -d -s link show can0
2: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN qlen 10
    link/can
    can <BERR-REPORTING> state ERROR-PASSIVE (berr-counter tx 128 rx 0) restart-ms 0
                              CAN bus error counter values ^^^^^^^^^^^
    bitrate 500000 sample-point 0.875
    tq 125 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
    sja1000: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
    clock 8000000
    re-started bus-errors arbit-lost error-warn error-pass bus-off
    0          54101      0          1          1          0
    RX: bytes  packets  errors  dropped overrun mcast
    432808     54101    54101   0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    0          0        0       0       0       0

# ifconfig can0 down
# ip link set can0 up type can berr-reporting off
# candump -t d any,0:0,#FFFFFFFF
 (0.000000)  can0  20000004  [8] 00 08 00 00 00 00 60 00   ERRORFRAME
 (0.000474)  can0  20000004  [8] 00 20 00 00 00 00 80 00   ERRORFRAME
                                                   ^^ ^^
						    \  \___ rxerr
						     \_____ txerr

Furthermore, the missing support for one-shot mode has been added.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
2010-03-03 16:45:10 -08:00
Jamal Hadi Salim
c90cda9400 xfrm: add support for SA by mark
Add support for SA manipulation by mark

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
2010-03-03 16:37:29 -08:00
Jamal Hadi Salim
f6fd52e626 xfrm: Introduce xfrm by mark
This patch carries basic infrastructure.
You need to make sure that the proper include/linux/xfrm.h is included
for it to compile.

Example:
2010-03-03 16:37:28 -08:00
Jamal Hadi Salim
ee675e8714 xfrm: policy by mark
Add support for SP manipulation by mark

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
2010-03-03 16:37:26 -08:00
jamal
e906975a53 skbedit: use get_u32 for parsing mark
parsing a mark as a classid allows for acceptance of strange
informal input.

cheers,
jamal
commit aad0da6507ff8a95a63ed8e529c05f52be5b0e75
Author: Jamal Hadi Salim <hadi@cyberus.ca>
Date:   Mon Feb 15 06:45:29 2010 -0500

    skbedit: use get_u32 for parsing mark

    get_u32 is the more appropriate parser for a mark.

    Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
2010-03-03 16:35:30 -08:00
Williams, Mitch A
6e46ec813b libnetlink: Modify the parser to track first duplicated attributes
Modify the parser to keep track of the first of any duplicated attributes,
instead of the last. This is required for VF configuration reporting, where
multiple attributes of the same type are added sequentially.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2010-03-03 16:33:28 -08:00
Williams, Mitch A
ae7229d5f9 ip: Add support for setting and showing SR-IOV virtual funtion link params
Add support to 'ip' for setting and showing SR-IOV virtual function
link parameters.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2010-03-03 16:33:26 -08:00
Williams, Mitch A
46dab6e925 Update man page to indicate current options
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2010-03-03 16:33:25 -08:00
Stephen Hemminger
3e4f6a380a Fix line numbering on batch commands
ip command should not keep track of lineno, that is done
in getcmdline().
2010-03-03 16:31:09 -08:00
Stephen Hemminger
8ecdcce083 Update headers for 2.6.33-net-next
Use santized headers from net-next tree.
2010-03-03 16:22:00 -08:00
laurent chavey
f5fd80039f Add initrwnd to iproute2
Add initrwnd option parsing to iproute. This option uses the new
rtnetlink init_rcvwnd to set the TCP initial receive window size
advertised by passive and active TCP connections.

Signed-off-by: Laurent Chavey <chavey@google.com>
2010-03-03 16:19:47 -08:00