Commit Graph

201 Commits

Author SHA1 Message Date
Gregoire Baron 3822cc986c tc: add ACT_CSUM action support (csum)
Add the iproute2 support for the ACT_CSUM action. Can be used as
following, certainly in conjunction with the ACT_PEDIT action (pedit):

 # In order to DNAT (stateless) IPv4 packet from 192.168.1.100 to
 #  0x12345678 (18.52.86.120), and update the IPv4 header checksum and
 #  the UDP checksum (the last one, only if the packet is UDP).
tc filter add eth0 prio 1 protocol ip parent ffff: \
  u32 match ip src 192.168.1.100/32 flowid :1 \
    action pedit munge offset 16 u32 set 0x12345678 \
      pipe csum ip and udp

 # In order to alter destination address of IPv6 TCP packets from fc00::1
 #  and correct the TCP checksum (nothing happened? except maybe for
 #  checksums in the TCP payload ...).
tc filter add eth0 prio 1 protocol ipv6 parent ffff: \
  u32 match ip6 src fc00::1/128 match ip6 protocol 0x06 0xff flowid :1 \
    action pedit munge offset 24 u32 set 0x12345678 \
      pipe csum tcp
2010-12-01 11:17:46 -08:00
Ben Greear 64c7956061 Allow 'ip addr flush' to loop more than 10 times
The default remains at 10 for backwards compatibility.

For instance:
 # ip addr flush dev eth2
 *** Flush remains incomplete after 10 rounds. ***
 # ip -l 20 addr flush dev eth2
 *** Flush remains incomplete after 20 rounds. ***
 # ip -loops 0 addr flush dev eth2
 #

This is useful for getting rid of large numbers of IP
addresses in scripts.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2010-12-01 11:13:51 -08:00
Changli Gao 7162c92148 iproute2: tc: f_flow: add key rxhash
We can use rxhash to classify the traffic into flows. As rxhash maybe
supplied by NIC or RPS, it is cheaper.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Acked-by: Jamal Hadi Salim <hadi@cyberus.ca>
2010-11-30 09:57:36 -08:00
Stephen Hemminger 3f5c1a01e6 Update to 2.6.36 headers
Use santized headers from 2.6.36 release
2010-10-20 17:38:04 -07:00
Stephen Hemminger 04a9fc0a50 Update kernel headers to 2.6.36-rc2 2010-08-23 08:35:08 -07:00
Stephen Hemminger daa10c8af6 Snapshot for 2.6.35.1 2010-08-23 08:14:38 -07:00
Stephen Hemminger a130b49b6c snapshot 100804 2010-08-04 10:45:59 -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 a171395410 Update kernel headers to 2.6.34 final version
Last minute IOV format change.
2010-05-17 08:57:24 -07:00
Stephen Hemminger 8881ece54f Update to 2.6.34-rc2 headers 2010-03-29 15:13:14 -07: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
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
Stephen Hemminger 7cd96eee69 iproute2-10224
Final 2.6.33 version
2010-02-24 19:56:50 -08:00
Stephen Hemminger a982e10a52 iproute2-100205 2010-02-05 12:02:38 -08:00
Stephen Hemminger ab32267329 Update exported kernel headers
These corespond with 2.6.33-rc2
2009-12-26 11:02:25 -08:00
Stephen Hemminger abdd9bf7c4 iproute2-091226 2009-12-26 10:26:44 -08:00
Simon Horman b49240ec7e flush secondary addresses before primary ones
Unless promote_secondaries has been active deleting the primary address of
an interface will automatically delete all the secondary addresses.

In the case where ip flush requests the primary then secondary addresses to
be removed - which is the order the addresses are returned by the kernel -
this will cause an error as by the time the request to remove a secondary
address is made it will be missing as it will have been deleted in the
course of deleting the primary address.

This approach to solving this problem orders requests for the
deletion of secondary addresses before primary ones providing
rtnl_dump_filter_l(), a version of rtnl_dump_filter() that
iterates over a list of filters. And by providing two specialised
filters print_addrinfo_secondary() and print_addrinfo_primary().

rtnl_dump_filter_l() first iterates over all addresses using
print_addrinfo_secondary(), which appends secondary addresses to the
request buffer.  Then again using print_addrinfo_primary() which appends
primary addresses.

This approach should work regardless of it promote_secondaries is
active or not. And regardless of if any primary of secondary addresses
are present or not.

Signed-off-by: Simon Horman <horms@verge.net.au>
2009-12-26 10:11:02 -08:00
David Ward ee7ba9875d iproute2: Add ll_index_to_addr function
After calling ll_init_map, all of the information stored in the link-layer map
can be retrieved by function calls (ll_index_to_*), except for the link-layer
address. This patch fills the gap by adding a ll_index_to_addr function.
Changes welcome.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
2009-12-01 15:54:16 -08:00
Stephen Hemminger 5a326efed0 iproute2-091117 2009-11-17 10:04:57 -08:00
Mike Frysinger f2e27cfb01 support static-only systems
The iptables code supports a "no shared libs" mode where it can be used
without requiring dlfcn related functionality.  This adds similar support
to iproute2 so that it can easily be used on systems like nommu Linux (but
obviously with a few limitations -- no dynamic plugins).

Rather than modify every location that uses dlfcn.h, I hooked the dlfcn.h
header with stub functions when shared library support is disabled.  Then
symbol lookup is done via a local static lookup table (which is generated
automatically at build time) so that internal symbols can be found.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-11-10 10:44:20 -08:00
Patrick McHardy 7f03191fda iproute uses too small of a receive buffer
It uses 1MB as receive buf limit by default (without
increasing /proc/sys/net/core/rmem_max it will be limited by less
however) and allows to specify the size manually using "-rcvbuf X"
(-r is already used, so you need to specify at least -rc).

Additionally rtnl_listen() continues on ENOBUFS after printing the
error message.
2009-11-10 09:14:33 -08:00
Stephen Hemminger 8007bfb5ad Update to 2.6.32 kernel headers 2009-11-10 08:51:17 -08:00
David Woodhouse 580fbd88f7 Add 'ip tuntap' support.
This patch provides support for 'ip tuntap', allowing creation and
deletion of persistent tun/tap devices.
2009-09-19 12:49:41 -07:00
Stephen Hemminger f40554f687 Update kernel headers to 2.6.31
Final 2.6.31 released, so update sanitized headers.
2009-09-10 09:03:22 -07:00
Stephen Hemminger f0309aa493 add include/linux/if_arp.h 2009-08-26 09:41:02 -07:00
Stephen Hemminger c40bba6922 update kernel headers to 2.6.31-rc5 2009-08-06 14:38:13 -07:00
Wolfgang Grandegger 5a2044782b iproute2: Support for the CAN netlink
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
2009-05-26 15:22:44 -07:00
Stephen Hemminger a136af4ba6 Update snapshot 2009-03-24 15:15:14 -07:00
Stephen Hemminger 6788115142 Use sanatized headers from 2.6.29
Update to final 2.6.29 headers
2009-03-24 15:13:31 -07:00
Stephen Hemminger 1e659af3c0 Add DHCP as routing protocol 2009-03-18 13:33:12 -07:00
Jamal Hadi Salim 63c7d26f94 Breakage noticed when debian upgraded to xtables (iptables > 1.4.1)
Many thanks to Yevgeny Kosarzhevsky <yevg@pisem.net> for reporting
and a lot of testing

Thanks to Jan Engelhardt <jengelh@medozas.de> for a lot of advice
Thanks to Denys Fedoryschenko <denys@visp.net.lb> for some sample
code that he tried and thanks to Andreas Henriksson <andreas@fatal.se>
(who maintains iproute2 on debian) for the persistent followup.

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
2009-02-19 09:02:13 -08:00
Patrick McHardy c86f34942a iproute: add DRR support
add DRR support

This patch adds support for the DRR scheduler I just sent
to iproute.

Signed-off-by: Patrick McHardy <kaber@trash.net>
2009-01-27 16:11:39 -08:00
Stephen Hemminger a69293245f Update snapshot 2009-01-15 12:25:04 -08:00
Alexander Duyck f72a7aab0c add support for skbedit action
Provides ability to edit queue_mapping field
	Provides ability to edit priority field

usage: action skbedit [queue_mapping QUEUE_MAPPING] [priority PRIORITY]
	at least one option must be select, or both at the same time

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2009-01-06 19:27:03 -08:00
Olivier Fourdan 7f71c0cae2 ip maddr show” on an infiniband address causes a stack corruption
“ip maddr show” on an infiniband address causes a stack corruption
because the length of the address for Infiniband (20 bytes, as
described in kernel doc Documentation/infiniband/ipoib.txt) does not
fit on the 16 bytes of the field in which it gets stored.

The proposed patch increases the size of the hardware address from 4
__u32 to 8 and also adds a check to avoid overriding the available
size while parsing the hardware address.

This bug affects current upstream code AFAICT.

Hope this helps,
Cheers,
Olivier.

“ip maddr show ib0” causes a stack corruption because the length of the address
for Infiniband (20 see kernel doc Documentation/infiniband/ipoib.txt) does not
fit on the 16 bytes of the field in which it gets stored.

The proposed patch increases the size of the hardware address from 4 u32 to 8
and adds a check to avoid overriding the available size while parsing the
hardware address.
2009-01-06 18:56:03 -08:00
Stephen Hemminger 05bfd16595 Update headers to 2.6.28
Put in sanitized 2.6.28 headers
2009-01-06 15:03:26 -08:00
Stephen Hemminger 5a67f8f9d3 Update to 2.6.27 API
The one issue was the old multiqueue API, so that is handled
by tc_util.h
2008-09-15 12:05:11 -07:00
Stephen Hemminger 6420b62ec9 Update snapshot 2008-07-25 13:46:07 -07:00
Stephen Hemminger 01eb17a66d Update headers to 2.6.26
Copy santized version of headers from 2.6.26 final version.
2008-07-15 11:03:24 -07:00
Stephen Hemminger 3ea2fb985f Update to 2.6.26-rc6 headers
Copy sanitized headers from 2.6.26-rc6
2008-06-20 11:26:38 -07:00
Stephen Hemminger 727d468e54 Update version
Release new snapshot for 2.6.25
2008-04-17 10:12:54 -07:00
Jesper Dangaard Brouer 292f29b42c ATM cell alignment.
Introducing the function that does the ATM cell alignment, and
modifying tc_calc_rtable() to use this based upon a linklayer
parameter.

Modified from original to use constants from atm.h and
fix all the usages of rtable in same patch.

Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk>
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2008-04-17 10:04:31 -07:00
Stephen Hemminger 5344bb287c Update kernel headers to 2.6.25-rc7
Copy sanitized kernel headers from 2.6.25-rc7 to ensure proper
compatiability.
2008-04-01 11:37:35 -07:00
Stephen Hemminger ace7be7d3b add include/linux/hdlc/ioctl.h
Need to add include/linux/hdlc/ioctl.h because it is not present
in older releases.

Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
2008-02-13 12:32:49 -08:00
Stephen Hemminger 10bd7e8460 add support for matching AOE and CAN ether types
Update the protocol table to match current kernel support.
Why is the list not in an /etc file?
2008-02-07 19:24:31 -08:00
Stephen Hemminger e7305a84c6 reharmonize headers with pre-freeze 2.6.25
Some minor header file changes headed for 2.6.25
2008-02-07 19:22:42 -08:00
Patrick McHardy 66862d3cc7 cls_flow: add vlan-tag support
commit 94e9cba778cb97d77d9146dc3bd38ff195bc2c8a
Author: Patrick McHardy <kaber@trash.net>
Date:   Sat Feb 2 18:22:16 2008 +0100

    [IPROUTE]: cls_flow: add vlan-tag support

    Signed-off-by: Patrick McHardy <kaber@trash.net>

Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
2008-02-05 08:36:59 -08:00
Stephen Hemminger efc0ea56c8 harmonize headers with upcoming 2.6.25
Add stuff from early 2.6.25 merge.

Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
2008-01-31 22:41:18 -08:00
Patrick McHardy 9932abb498 Add flow classifier support
[IPROUTE]: Add flow classifier support

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
2008-01-31 22:28:11 -08:00