Commit Graph

1201 Commits

Author SHA1 Message Date
Stephen Hemminger
ab4c2f14fb Add xt_tcpudp.h
Needed for cross/backwards compiles.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-16 11:47:42 -07:00
Stephen Hemminger
891514473b Revert "Increase internal clock resolution to nsec"
This reverts fd784ccaf6 commit.

Thanks Stephen, but actually I think the last patch (increase clock
resolution) shouldn't go in yet. I'm not done yet looking at all
the compatibility issues and it does change the range of valid
values for everything dealing with times. Most places I looked
at still accept reasonable ranges, but I would feel more comfortable
to make sure everything is fine first.
2007-03-14 10:14:07 -07:00
Stephen Hemminger
7081c45d97 Iproute2 v2.6.20-070313
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:50:56 -07:00
jamal
9aa446896e Old bug on tc
> It is in current git tree.

A small fix attached after some testing.
Please dont forget to apply my other patches. When you have them let me
know so i can do some more testing.

cheers,
jamal

[TC] Get iptables path selection to set correct path

A small tweak on top of Stephens patch

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:43:24 -07:00
Patrick McHardy
fd784ccaf6 Increase internal clock resolution to nsec
[IPROUTE]: Increase internal clock resolution to nsec

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:42:20 -07:00
Patrick McHardy
147e1d4b5a Handle different kernel clock resolutions
[IPROUTE]: Handle different kernel clock resolutions

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:42:19 -07:00
Patrick McHardy
bd29e35d9d Add sprint_ticks() function and use in CBQ
[IPROUTE]: Add sprint_ticks() function and use in CBQ

Add helper function to print ticks to avoid assumptions about clock
resolution in CBQ.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:42:18 -07:00
Patrick McHardy
8f34caafbd Replace "usec" by "time" in function names
[IPROUTE]: Replace "usec" by "time" in function names

Rename functions containing "usec" since they don't necessarily return
usec units anymore.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:42:17 -07:00
Patrick McHardy
f0bda7e5a5 Introduce TIME_UNITS_PER_SEC to represent internal clock resolution
[IPROUTE]: Introduce TIME_UNITS_PER_SEC to represent internal clock resolution

Introduce TIME_UNITS_PER_SEC and conversion functions between internal
resolution and resolution expected by the kernel (currently implemented as
NOPs, only needed by HFSC, which currently always uses microseconds).

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:42:16 -07:00
Patrick McHardy
76dc0aa28f Introduce tc_calc_xmitsize and use where appropriate
[IPROUTE]: Introduce tc_calc_xmitsize and use where appropriate

Add tc_calc_xmitsize() as complement to tc_calc_xmittime(), which calculates
the size that can be transmitted at a given rate during a given time.

Replace all expressions of the form "size = rate*tc_core_tick2usec(time))/1000000"
by tc_calc_xmitsize() calls.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:42:15 -07:00
Patrick McHardy
476daa7278 Use tc_calc_xmittime() where appropriate
[IPROUTE]: Use tc_calc_xmittime() where appropriate

Replace expressions of the form "tc_core_usec2tick(1000000 * size/rate)"
by tc_calc_xmittime().

The CBQ case deserves an extra comment: when called with bnwd=rate,
tc_cbq_calc_maxidle() behaves identical to tc_calc_xmittime():

unsigned tc_cbq_calc_maxidle(...)
{
	double g = 1.0 - 1.0/(1<<ewma_log);
	double xmt = (double)avpkt/bndw;

	maxidle = xmt*(1-g);
	if (bndw != rate && maxburst) {
		...
	}
	return tc_core_usec2tick(maxidle*(1<<ewma_log)*1000000);
}

which comes down to:

maxidle	= xmt * (1 - g)
	= xmt * (1 - (1.0 - 1.0/(1 << ewma_log))
	= xmt * (1.0/(1 << ewma_log))

so:

maxidle * (1 << ewma_log) * 1000000
	= xmt * (1.0/(1 << ewma_log)) * (1 << ewma_log) * 1000000
	= xmt * 1000000
	= avpkt/bndw * 1000000

Which means tc_core_usec2tick(maxidle*(1<<ewma_log)*1000000) is identical
to tc_calc_xmittime(bndw, avpkt). Use it directly since its a lot easier
to understand its limits.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:42:14 -07:00
Patrick McHardy
7b77c0caa6 tbf: fix latency printing
[IPROUTE]: tbf: fix latency printing

The calculated latency is already in usecs, the additional tick2usec
conversion breaks the calculation with jiffies or tsc clock source.

Example:

# tc qdisc add dev dummy0 root tbf latency 20ms burst 10k rate 50mbit
# tc qdisc show dev dummy0
qdisc tbf 8002: rate 50000Kbit burst 10Kb lat 15.4ms

Fixed:

# tc qdisc show dev dummy0
qdisc tbf 8002: rate 50000Kbit burst 10Kb lat 20ms

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:42:13 -07:00
jamal
56b9406191 nl_mgrp to crap if base multicast groups exceeded
cheers,
jamal

[GENERAL] nl_mgrp to crap if base multicast groups exceeded

The old scheme of bitmasks works only for the first 32 groups.
Above that the setsockopt scheme must be used.

Signed-off-by: J Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:39:37 -07:00
jamal
b64f58b013 update rest to use nl_mgrp
cheers,
jamal

[ALL] update rest to use nl_mgrp

Signed-off-by: J Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:39:05 -07:00
Stephen Hemminger
e309c5fa6a Use kernel headers from 2.6.20.y
Update kernel headers to be versions from 2.6.20.y
Solve cross compile build problems with x_tables and netfilter.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-13 14:37:11 -07:00
Noriaki TAKAMIYA
bac735c53a enabled to manipulate the flags of IFA_F_HOMEADDRESS or IFA_F_NODAD from ip.
Hi,

  This patch enables ip command to add IFA_F_HOMEADDRESS and
  IFA_F_NODAD flags while adding the IPv6 address.

Signed-off-by: Noriaki TAKAMIYA<takamiya@po.ntts.co.jp>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
2007-03-07 14:18:53 -08:00
Stephen Hemminger
09bba68c74 TC bfifo man page
Add back missing man page.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-07 14:18:43 -08:00
Stephen Hemminger
de539ecf6c iptables library fix
Don't hard code iptables library path. Allow use of environment variable.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-03-06 13:03:19 -08:00
Mike Frysinger
95dd595049 do not ignore build failures in subdirs of iproute2
if a file fails to compile in a subdir of iproute2 fails (say "tunnel.c" in
the "ip" dir), the top level makefile does not abort:
 all: Config
    @for i in $(SUBDIRS); \
    do $(MAKE) $(MFLAGS) -C $$i; done

the attached patch inserts a 'set -e' so that if the $(MAKE) fails, the all
target fails as well
-mike
2007-03-05 17:50:49 -08:00
Thomas Hisch
892db6942a Fixes use of uninitialized string
store can be used uninitialized in generic_proc_open
if getenv(env) != NULL

Signed-off-by: Thomas Hisch <t.hisch@gmail.com>
2007-03-05 17:35:06 -08:00
Stephen Hemminger
09614f3025 fix tc-pfifo and tc-bfifo man pages
Move tc-pbfifo to tc-bfifo and make tc-pfifo a sym link

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-02-20 11:35:13 -08:00
Stephen Hemminger
40076f622e netem parameters to change command
When using tc to change netem attributes, only those values
on the command line should be passed down, others should
remain unchanged.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2007-01-09 15:46:55 -08:00
Stephen Hemminger
02e9f72fd9 snapshot update 2006-12-14 15:04:12 -08:00
Hasso Tepper
e5d179d815 Fixes for tc help commands
* "tc [class|qdisc|filter] get" doesn't exist, remove it from inline help.

* Add "replace" to "tc [class|filter] get" inline help.

* Fix "tc [class|qdisc|filter] help" output:

  ~$ tc class help
  [snip]
  Command "help" is unknown, try "tc class help".
  ~$

with my best wishes,

--
Hasso Tepper
Elion Enterprises Ltd. [AS3249]
Data Communication Network Administrator

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-14 15:01:30 -08:00
Stephen Hemminger
81c61790d5 Eliminate trailing whitespace
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-13 17:05:50 -08:00
jamal
7b8225122d update xfrm monitoring to use nl_mgrp
Stephen,
I will wait until you sync all these patches ive sent; then send a
couple more then i will be done.

cheers,
jamal

[XFRM] update xfrm monitoring to use nl_mgrp

Signed-off-by: J Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-13 17:04:27 -08:00
jamal
8cd09e61e3 make muticast group to bitmask conversion generic
[utils] make muticast group to bitmask conversion generic

Signed-off-by: J Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-13 17:04:26 -08:00
jamal
c9fd974bd8 update xfrm async events
[XFRM] update xfrm async events

Report abbreviated async xfrm aevents.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-13 17:04:22 -08:00
jamal
a377edc0e3 Mention need for db dev package
[README] Mention need for db dev package
This has always been an annoyance for me whenever i moved to a new
machine. Just mention it in the readme hoping it will save someone
some cycles

Signed-off-by: J Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-13 17:01:42 -08:00
jamal
dcf1349722 Fix missing class/flowid oddity
[U32] Fix missing class/flowid oddity
When an action or policer is specified but not a classid/flowid, the
syntax accepts it but the kernel never really hits it.
This has been a long standing problem, but thanks to the persistence
of Marco Berizzi <pupilla@hotmail.com> I broke down and fixed it.

Signed-off-by: J Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-13 17:00:46 -08:00
Patrick McHardy
be7f286e83 [IPROUTE]: Add support for routing rule fwmark masks
Needs kernel >= 2.6.19.

Signed-off-by: Patrick McHardy <kaber@trash.net>
2006-12-13 16:58:32 -08:00
Stephen Hemminger
5a8ba22862 Change to post 2.6.19 sanitized headers
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-13 16:56:40 -08:00
jamal
a3572a76a7 clarify "ok" and "pass"
a small one.
I have a few more but just run out of cycles for now;
if you dont mind holding before releasing for a short while so i can
get them out I will appreciate it.

cheers,
jamal

[DOC]: clarify "ok" and "pass"

A small fixup to elucidate the mysteries of accepting ..

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-06 11:32:16 -08:00
jamal
26328fc393 Add controller support for new features exposed
Ok, heres hopefully the last one in this series for generic netlink ..

cheers,
jamal

[GENL]: Add controller support for new features exposed

Update the controller to spit out the new features being exposed
from the kernel

Signed-off-by: J Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-06 11:32:12 -08:00
jamal
7c9e557ee4 Update generic netlink header
Stepehen,

Didnt hear back from you, please apply this one; needed for the next
patches.

cheers,
jamal

[GENL]  Update generic netlink header

The header file needs to be uptodate with recent changes to allow
for forward compatibility

Signed-off-by: J Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-06 11:31:19 -08:00
jamal
83ef226b42 Multicast computation off by one
A small typo fixup
BTW, how do you like the subject to look like?

cheers,
jamal

[GENL] Multicast computation off by one

When using the first 32 groups, the multicast group to bit mapping
was off by one.

Signed-off-by: Jamal Hadi Salim
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-06 11:31:13 -08:00
Stephen Hemminger
ae665a522b Remove trailing whitespace
Go through source files and remove all trailing whitespace

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-05 10:10:22 -08:00
Masahide NAKAMURA
0bf0fbc47e XFRM: Mobility header support.
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-05 10:03:41 -08:00
Masahide NAKAMURA
c54f31eeb3 XFRM: support report message by monitor.
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-05 10:03:34 -08:00
Masahide NAKAMURA
7ea4f5d33d XFRM: Mobile IPv6 route optimization support.
To support Mobile IPv6 RO, the following extension is included:
o Use XFRM_MODE_XXX macro instead of magic number
o New attribute option for all state: source address for
  deleting or getting message
o New attribute options for RO: care-of address, last-used timestamp
  and wild-receive flag

Note:
Flush command like `ip xfrm state flush` is to remove all XFRM state.
It has been effected for IPsec SAD but with this patch it flushes both
IPsec SAD and Mobile IPv6 RO states.
To make only IPsec SA flush, it is recommanded to specify each XFRM
protocol like below:
 `ip x s f proto esp ; ip x s f proto ah ; ip x s f proto comp`

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-05 10:03:32 -08:00
Masahide NAKAMURA
972938e9e6 XFRM: sub policy support.
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-05 10:03:23 -08:00
Stephen Hemminger
9626dfd54c Add more includes
Add more sanitized headers to make build work,
and get rid of warning

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-05 09:59:59 -08:00
Stephen Hemminger
ead2ba7008 Update to 2.6.19 headers
Headers extracted from early 2.6.20 development process

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-12-05 09:54:48 -08:00
Boian Bonev
887a5d0091 Display local route table name correctly in output of:
ip ru
2006-11-27 14:12:31 -08:00
Masahide NAKAMURA
288384f22f TUNNEL: IPv6-over-IPv6 tunnel support.
Fix ip6tunnel.c to be fit with current ip command style.
Unlike other modules currently iptunnel (and ip6tunnel) is not
designed as protocol-independent because of unarranged structure
between IPv4 and IPv6.

Usage: ip -f inet6 tunnel { add | change | del | show } [ NAME ]
          [ remote ADDR local ADDR ] [ dev PHYS_DEV ]
          [ encaplimit ELIM ]
          [ hoplimit HLIM ] [ tc TC ] [ fl FL ]
          [ dscp inherit ]

Where: NAME := STRING
       ADDR := IPV6_ADDRESS
       ELIM := { none | 0..255 }(default=4)
       HLIM := 0..255 (default=64)
       TC   := { 0x0..0xff | inherit }
       FL   := { 0x0..0xfffff | inherit }

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-11-27 08:41:26 -08:00
Masahide NAKAMURA
9447a0d344 TUNNEL: Import ip6tunnel.c.
This file (ip6tunnel.c) is renamed from ipv6tunnel.c which is imported
from usagi cvs tree. It is originally ported by MIPL to work on their
2.4 kernel patch (MIPL1).

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-11-27 08:41:23 -08:00
Masahide NAKAMURA
d9bd1bd945 TUNNEL: Split common functions to export them.
Split common functions like ioctl to export them.
This is a preparation to support to configure IPv6-over-IPv6 tunnel.
This patch also includes minor improvemen:
 o to stop to include unused headers
 o to change function static if it is not needed to be exported

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-11-27 08:41:10 -08:00
Masahide NAKAMURA
141bb60640 ADDR: Define 0xFFFFFFFFU as INFINITY_LIFE_TIME regarding to the kernel.
Signed-off-by: TAKAMIYA Noriaki <takamiya@po.ntts.co.jp>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-11-27 08:41:07 -08:00
Noriaki TAKAMIYA
0aef366b48 ADDR: Add the 'change' and 'replace' commands to the IPv6 address manipulation context.
Signed-off-by: TAKAMIYA Noriaki <takamiya@po.ntts.co.jp>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-11-27 08:40:56 -08:00
Masahide NAKAMURA
35546df7d5 ADDR: Enable to add IPv6 address with valid/preferred lifetime.
Signed-off-by: TAKAMIYA Noriaki <takamiya@po.ntts.co.jp>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-11-27 08:40:36 -08:00