]> git.proxmox.com Git - mirror_iproute2.git/log
mirror_iproute2.git
9 years agoip{,6}tunnel: put spaces around non-unary operators
Phil Sutter [Fri, 13 Nov 2015 17:09:05 +0000 (18:09 +0100)]
ip{,6}tunnel: put spaces around non-unary operators

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoiptunnel: sanitize copying tunnel name
Phil Sutter [Fri, 13 Nov 2015 17:09:04 +0000 (18:09 +0100)]
iptunnel: sanitize copying tunnel name

Since p->name is only IFNAMSIZ bytes, do not copy more than IFNAMSIZ - 1
bytes into it so there remains at least a single null byte in the end.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoiptunnel: share common code when determining the default interface name
Phil Sutter [Fri, 13 Nov 2015 17:09:03 +0000 (18:09 +0100)]
iptunnel: share common code when determining the default interface name

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoiptunnel: simplify parsing TTL, allow 'hlim' as identifier
Phil Sutter [Fri, 13 Nov 2015 17:09:02 +0000 (18:09 +0100)]
iptunnel: simplify parsing TTL, allow 'hlim' as identifier

Instead of parsing an unsigned integer and checking boundaries, simply
parse u8. This and the added ttl alias 'hlim' provide consistency with
ip6tunnel.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoiptunnel: share common code when setting tunnel mode
Phil Sutter [Fri, 13 Nov 2015 17:09:01 +0000 (18:09 +0100)]
iptunnel: share common code when setting tunnel mode

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip6tunnel: fix coding style: no newline between brace and else
Phil Sutter [Fri, 13 Nov 2015 17:09:00 +0000 (18:09 +0100)]
ip6tunnel: fix coding style: no newline between brace and else

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip6tunnel: print local/remote addresses like iptunnel does
Phil Sutter [Fri, 13 Nov 2015 17:08:59 +0000 (18:08 +0100)]
ip6tunnel: print local/remote addresses like iptunnel does

This makes output consistent with iptunnel, also supporting reverse DNS
lookup for remote address if requested.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip{,6}tunnel: align do_tunnels_list() a bit
Phil Sutter [Fri, 13 Nov 2015 17:08:58 +0000 (18:08 +0100)]
ip{,6}tunnel: align do_tunnels_list() a bit

In iptunnel, declare loop variables inside the loop as done in
ip6tunnel.

Fix and simplify goto logic in ip6tunnel:
- Failure to read over header lines would have left fp opened.
- By returning directly upon fopen() failure, fp can be closed
  unconditionally in the end.

Use the same goto logic in iptunnel, as well.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoiptunnel: use ll_name_to_index() for physical interface lookup
Phil Sutter [Fri, 13 Nov 2015 17:08:57 +0000 (18:08 +0100)]
iptunnel: use ll_name_to_index() for physical interface lookup

Although the cache is only initialized in do_show(), this way it is at
least consistent with ip6tunnel.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip{, 6}tunnel: unify behaviour if physical device is not found
Phil Sutter [Fri, 13 Nov 2015 17:08:56 +0000 (18:08 +0100)]
ip{, 6}tunnel: unify behaviour if physical device is not found

Make ip6tunnel print an error message as well. While there, get rid of
unnecessary line breaking.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip/tunnel: introduce tnl_parse_key()
Phil Sutter [Fri, 13 Nov 2015 17:08:55 +0000 (18:08 +0100)]
ip/tunnel: introduce tnl_parse_key()

Instead of duplicating the same code six times (key, ikey and okey in
iptunnel and ip6tunnel), have a common parsing routine. This has the
added benefit of having the same verbose error message in ip6tunnel as
well as iptunnel.

I'm not sure if parsing an IPv4 address as key makes sense for
ip6tunnel, but the code was there before so this patch at least doesn't
make it worse.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip{, 6}tunnel: get rid of extraneous whitespace when printing
Phil Sutter [Fri, 13 Nov 2015 17:08:54 +0000 (18:08 +0100)]
ip{, 6}tunnel: get rid of extraneous whitespace when printing

Put whitespace in the beginning of optional parts, not as suffix
anywhere. Also drop double whitespaces in between words.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agomisc/Makefile: use PKG_CONFIG
Aaro Koskinen [Tue, 17 Nov 2015 14:08:00 +0000 (16:08 +0200)]
misc/Makefile: use PKG_CONFIG

Use PKG_CONFIG from Config - it works better when cross-compiling.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Wed, 4 Nov 2015 00:38:15 +0000 (16:38 -0800)]
Merge branch 'master' into net-next

9 years agov4.3.0
Stephen Hemminger [Wed, 4 Nov 2015 00:34:46 +0000 (16:34 -0800)]
v4.3.0

9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Wed, 4 Nov 2015 00:31:57 +0000 (16:31 -0800)]
Merge branch 'master' into net-next

9 years agolib/utils: improve error messages of get_addr() and get_prefix()
Phil Sutter [Thu, 29 Oct 2015 16:20:56 +0000 (17:20 +0100)]
lib/utils: improve error messages of get_addr() and get_prefix()

Instead of statically complaining about illegal inet address, use
get_family() to get the address family right.

Based on a patch by Hangbin Liu to print "inet6" for AF_INET6 made more
generic by me.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agobridge: fdb: minor syntax fix in help text
Phil Sutter [Thu, 29 Oct 2015 09:55:24 +0000 (10:55 +0100)]
bridge: fdb: minor syntax fix in help text

9 years agoifstat: add manpage
Phil Sutter [Thu, 29 Oct 2015 09:55:23 +0000 (10:55 +0100)]
ifstat: add manpage

9 years agogenl: add manpage
Phil Sutter [Thu, 29 Oct 2015 09:55:22 +0000 (10:55 +0100)]
genl: add manpage

9 years agoifcfg: add manpage
Phil Sutter [Thu, 29 Oct 2015 09:55:21 +0000 (10:55 +0100)]
ifcfg: add manpage

9 years agoadd new IFLA_VF_TRUST netlink attribute
Stephen Hemminger [Fri, 23 Oct 2015 22:47:07 +0000 (15:47 -0700)]
add new IFLA_VF_TRUST netlink attribute

9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Fri, 23 Oct 2015 22:46:08 +0000 (15:46 -0700)]
Merge branch 'master' into net-next

9 years agomisc: cleanup extra whitespace
Stephen Hemminger [Fri, 23 Oct 2015 22:44:30 +0000 (15:44 -0700)]
misc: cleanup extra whitespace

No blank lines at end of file

9 years agotc: remove extra whitespace
Stephen Hemminger [Fri, 23 Oct 2015 22:43:28 +0000 (15:43 -0700)]
tc: remove extra whitespace

No blank lines at EOF, or trailing whitespace.

9 years agoip: remove extra newlines at end-of-file
Stephen Hemminger [Fri, 23 Oct 2015 22:41:58 +0000 (15:41 -0700)]
ip: remove extra newlines at end-of-file

Shouldn't have extra blank lines.

9 years agotc: ship filter man pages and refer to them in tc.8
Phil Sutter [Fri, 23 Oct 2015 17:47:16 +0000 (19:47 +0200)]
tc: ship filter man pages and refer to them in tc.8

Cc: Thomas Graf <tgraf@suug.ch>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Werner Almesberger <werner@almesberger.net>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: add a man page for u32 filter
Phil Sutter [Fri, 23 Oct 2015 17:47:15 +0000 (19:47 +0200)]
tc: add a man page for u32 filter

Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: add a man page for tcindex filter
Phil Sutter [Fri, 23 Oct 2015 17:47:14 +0000 (19:47 +0200)]
tc: add a man page for tcindex filter

Cc: Werner Almesberger <werner@almesberger.net>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: add a man page for route filter
Phil Sutter [Fri, 23 Oct 2015 17:47:13 +0000 (19:47 +0200)]
tc: add a man page for route filter

Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: add a man page for fw filter
Phil Sutter [Fri, 23 Oct 2015 17:47:12 +0000 (19:47 +0200)]
tc: add a man page for fw filter

Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: add a man page for flower filter
Phil Sutter [Fri, 23 Oct 2015 17:47:11 +0000 (19:47 +0200)]
tc: add a man page for flower filter

Cc: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: add a man page for flow filter
Phil Sutter [Fri, 23 Oct 2015 17:47:10 +0000 (19:47 +0200)]
tc: add a man page for flow filter

Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: add a man page for cgroup filter
Phil Sutter [Fri, 23 Oct 2015 17:47:09 +0000 (19:47 +0200)]
tc: add a man page for cgroup filter

Cc: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: add a man page for basic filter
Phil Sutter [Fri, 23 Oct 2015 17:47:08 +0000 (19:47 +0200)]
tc: add a man page for basic filter

Cc: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: u32 filter coding style cleanup
Phil Sutter [Fri, 23 Oct 2015 17:21:23 +0000 (19:21 +0200)]
tc: u32 filter coding style cleanup

Add missing spaces around operators to increase readability. Aside from
that, make "preference" match a real synonym for "tos" and "dsfield" as
it's effect was identical to them.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agotc: improve filter help texts a bit
Phil Sutter [Fri, 23 Oct 2015 17:21:17 +0000 (19:21 +0200)]
tc: improve filter help texts a bit

This fixes a few syntax errors and changes route filter help text to use
classid instead of flowid to be consistent with other filters' help
texts.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoupdate bpf kernel header
Stephen Hemminger [Fri, 23 Oct 2015 06:43:35 +0000 (23:43 -0700)]
update bpf kernel header

9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Fri, 23 Oct 2015 06:42:37 +0000 (23:42 -0700)]
Merge branch 'master' into net-next

9 years agoip, realms: also allow to pass in raw realms value
Daniel Borkmann [Thu, 8 Oct 2015 10:22:39 +0000 (12:22 +0200)]
ip, realms: also allow to pass in raw realms value

If get_rt_realms() fails, try to get a possible raw u32 realms
value for the u32 RTA_FLOW/FRA_FLOW attribute, as it might be
useful to directly configure the hex value itself. And only if
that fails, then bail out.

The source realm is provided in the upper u16 (mask: 0xffff0000)
and the destination realm through the lower u16 part (mask:
0x0000ffff). This can be useful for tc's bpf realm matcher, but
also a full hex/mask param can be provided already for matching
through iptables' --realm cmdline option, for example.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
9 years agoupdate kernel headers
Stephen Hemminger [Fri, 23 Oct 2015 06:36:49 +0000 (23:36 -0700)]
update kernel headers

Track upstream

9 years agoAdd ip rule save/restore
Kirill Tkhai [Tue, 20 Oct 2015 10:41:48 +0000 (13:41 +0300)]
Add ip rule save/restore

This patch adds save and restore commands to "ip rule"
similar the same is made in commit f4ff11e3e298 for "ip route".

The feature is useful in checkpoint/restore for container
migration, also it may be helpful in some normal situations.

Signed-off-by: Kirill Tkhai <ktkhai@odin.com>
9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Mon, 19 Oct 2015 04:58:29 +0000 (21:58 -0700)]
Merge branch 'master' into net-next

9 years agoip route get: change exit to return to support batch commands
Roopa Prabhu [Thu, 15 Oct 2015 22:23:50 +0000 (15:23 -0700)]
ip route get: change exit to return to support batch commands

replace exit with return -2 on rtnl_talk failure

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
9 years agobridge: add calls to fflush in fdb and mdb print functions
Wilson Kok [Thu, 15 Oct 2015 21:53:17 +0000 (14:53 -0700)]
bridge: add calls to fflush in fdb and mdb print functions

This patch adds fflush in fdb and mdb print functions

Signed-off-by: Wilson Kok <wkok@cumulusnetworks.com>
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
9 years agoip-rule: neither prohibit nor reject or unreachable flags exist
Phil Sutter [Thu, 15 Oct 2015 20:32:17 +0000 (22:32 +0200)]
ip-rule: neither prohibit nor reject or unreachable flags exist

This has been inconsistent since the beginning of Git and seems to be
merely a documentation leftover, therefore just remove it from help
output and man page.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoss: return -1 if an unrecognized option was given
Phil Sutter [Thu, 15 Oct 2015 19:01:16 +0000 (21:01 +0200)]
ss: return -1 if an unrecognized option was given

When getopt_long encounters an option which has not been registered, it
returns '?'. React upon that and call usage() instead of help() so ss
returns with a non-zero exit status.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip-route man: add usage and description for lwtunnel encap attributes
Roopa Prabhu [Thu, 15 Oct 2015 11:13:40 +0000 (13:13 +0200)]
ip-route man: add usage and description for lwtunnel encap attributes

This patch updates ip-route man page with lwtunnel encap
usage and description, covering MPLS and IP encapsulation.

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Jiri Benc <jbenc@redhat.com>
9 years agolwtunnel: Add encapsulation support to ip route
Roopa Prabhu [Thu, 15 Oct 2015 11:13:39 +0000 (13:13 +0200)]
lwtunnel: Add encapsulation support to ip route

This patch adds support to parse and print lwtunnel
encapsulation attributes attached to routes for MPLS
and IP tunnels.

example:
Add ipv4 route with mpls encap attributes:

Examples:

  MPLS:
  $ ip route add 40.1.2.0/30 encap mpls 200 via inet 40.1.1.1 dev eth3
  $ ip route show
  40.1.2.0/30  encap mpls 200 via 40.1.1.1 dev eth3

  Add ipv4 multipath route with mpls encap attributes:
  $ ip route add 10.1.1.0/30 nexthop encap mpls 200 via 10.1.1.1 dev eth0 \
    nexthop encap mpls 700 via  40.1.1.2 dev eth3
  $ ip route show
  10.1.1.0/30
    nexthop encap mpls 200  via 10.1.1.1  dev eth0 weight 1
    nexthop encap mpls 700  via 40.1.1.2  dev eth3 weight 1

  IP:
  $ ip route add 10.1.1.1/24 encap ip id 200 dst 20.1.1.1 dev vxlan0

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Jiri Benc <jbenc@redhat.com>
9 years agoadd tunnel header files from net-next uapi
Stephen Hemminger [Fri, 16 Oct 2015 23:07:03 +0000 (16:07 -0700)]
add tunnel header files from net-next uapi

Files needed for new lwtunnel code.

9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Fri, 16 Oct 2015 23:03:32 +0000 (16:03 -0700)]
Merge branch 'master' into net-next

9 years agoip-address: fix oneline mode for interfaces with VF
Phil Sutter [Fri, 16 Oct 2015 10:38:33 +0000 (12:38 +0200)]
ip-address: fix oneline mode for interfaces with VF

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip monitor neigh: Change 'delete' to 'Deleted' to be consistent with ip route
Roopa Prabhu [Thu, 15 Oct 2015 18:47:43 +0000 (11:47 -0700)]
ip monitor neigh: Change 'delete' to 'Deleted' to be consistent with ip route

It helps to grep for one string "Deleted" when monitoring all events.

Fixes: 6ea3ebafe077 ("iproute2: inform user when a neighbor is removed")
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
9 years agolibnetlink: introduce rta_nest and u8, u16, u64 helpers for nesting within rtattr
Roopa Prabhu [Thu, 15 Oct 2015 11:13:38 +0000 (13:13 +0200)]
libnetlink: introduce rta_nest and u8, u16, u64 helpers for nesting within rtattr

This patch introduces two new api's rta_nest and rta_nest_end to
nest attributes inside a rta attribute represented by 'struct rtattr'
as required to construct a nexthop. Also adds rta_addattr* variants
for u8, u16 and u64 as needed to support encapsulation.

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Jiri Benc <jbenc@redhat.com>
9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Mon, 12 Oct 2015 16:50:46 +0000 (09:50 -0700)]
Merge branch 'master' into net-next

9 years agofix "ss -p" segfaults
willy tarreau [Tue, 6 Oct 2015 10:09:33 +0000 (12:09 +0200)]
fix "ss -p" segfaults

I've updated Jose's patch to make it slightly simpler (eg: calloc instead
of malloc+memset), and ported it to 4.2.0 which requires it as well, and
attached it to this e-mail.

I can confirm that with this patch 4.1.1 doesn't segfault on me anymore.
The commit message should be reworked I guess though everything's in it
and I didn't want to modify his description.

Can it be merged as-is or should I reword the commit message and reference
Jose as the fix reporter ? We should not let this bug live forever.

From: "j.ps@openmailbox.org" <j.ps@openmailbox.org>

Essentially all that is needed to get rid of this issue is the
addition of:

    memset(u, 0, sizeof(*u));

after:

    if (!(u = malloc(sizeof(*u))))
            break;

Also patched some other situations (strcpy and sprintf uses) that
potentially produce the same results.

Signed-off-by: Jose P Santos <j.ps@openmailbox.org>
[ wt: made Jose's patch slightly simpler, all credits to him for the diag ]
Signed-off-by: Willy Tarreau <w@1wt.eu>
9 years agoman: ip-link: document MACVLAN/MACVTAP interface types
Phil Sutter [Fri, 25 Sep 2015 12:09:51 +0000 (14:09 +0200)]
man: ip-link: document MACVLAN/MACVTAP interface types

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip: macvlan: support MACVLAN_FLAG_NOPROMISC flag
Phil Sutter [Fri, 25 Sep 2015 12:09:50 +0000 (14:09 +0200)]
ip: macvlan: support MACVLAN_FLAG_NOPROMISC flag

This flag is allowed for devices in passthru mode to prevent forcing the
underlying interface into promiscuous mode.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip: link: consolidate macvlan and macvtap
Phil Sutter [Fri, 25 Sep 2015 12:09:49 +0000 (14:09 +0200)]
ip: link: consolidate macvlan and macvtap

After eliminating the minor differences in both files which existed
solely because features/fixes were applied to only one of them and not
the other, the remaining differences were in function naming and error
messages. The latter is addressed by using the 'id' field of struct
link_util.

Fold both files into one in order to share common code and eliminate the
chance of having fixes/enhancements applied to only one of them.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agom_bpf: don't require default opcode on ebpf actions
Daniel Borkmann [Thu, 8 Oct 2015 13:22:05 +0000 (15:22 +0200)]
m_bpf: don't require default opcode on ebpf actions

After the patch, the most minimal command to load an eBPF action
for late binding with auto index selection through tc is:

  tc actions add action bpf obj prog.o

We already set TC_ACT_PIPE in tc as default opcode, so if nothing
further has been specified, just use it. Also, allow "ok" next to
"pass" for matching cmdline on TC_ACT_OK.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
9 years agoip neigh: Add ifindex to request when filtering dumps by device
David Ahern [Wed, 7 Oct 2015 17:23:24 +0000 (10:23 -0700)]
ip neigh: Add ifindex to request when filtering dumps by device

Add ifindex to dump request when filtering by device. If the kernel
supports it adding the index to the request limits the amount of data
the kernel pushes to userpsace.

The feature exists in userspace already, so no need to warn the user
if kernel side support does not exist. Using the kernel side filter
makes the request more efficient.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
9 years agof_bpf: allow for optional classid and add flags
Daniel Borkmann [Fri, 25 Sep 2015 10:32:41 +0000 (12:32 +0200)]
f_bpf: allow for optional classid and add flags

When having optional classid, most minimal command can be sth
like:

  tc filter add dev foo parent X: bpf obj prog.o

Therefore, adapt the code so that a next argument will not be
enforced as the case currently.

Also, minor cleanup on the classid, where we should rather
have used addattr32(), and add flags for exec configuration,
for example (using short notation):

  tc filter add dev foo parent X: bpf da obj prog.o

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
9 years agoip neigh: Add support for filtering dumps by master device
David Ahern [Fri, 2 Oct 2015 16:42:27 +0000 (09:42 -0700)]
ip neigh: Add support for filtering dumps by master device

Add support for filtering neighbor dumps by master device. Kernel side
support provided by commit 21fdd092acc7. Since the feature is not
available in older kernels the user is given a warning message if the
kernel does not support the request.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
9 years agoupdate kernel headers for net-next
Stephen Hemminger [Mon, 12 Oct 2015 16:32:44 +0000 (09:32 -0700)]
update kernel headers for net-next

9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Mon, 12 Oct 2015 16:32:14 +0000 (09:32 -0700)]
Merge branch 'master' into net-next

9 years agoip, bridge: document -timestamp option
Satish Ashok [Mon, 12 Oct 2015 16:28:55 +0000 (09:28 -0700)]
ip, bridge: document -timestamp option

This patch documents bridge and ip -timestamp option

Signed-off-by: Satish Ashok <sashok@cumulusnetworks.com>
9 years agobridge: add batch command support
Wilson Kok [Sun, 11 Oct 2015 21:03:03 +0000 (14:03 -0700)]
bridge: add batch command support

This patch adds support to batch bridge commands.
Follows ip batch code.

Signed-off-by: Wilson Kok <wkok@cumulusnetworks.com>
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Acked-by: Christophe Gouault <christophe.gouault@6wind.com>
9 years agoupdate kernel headers
Stephen Hemminger [Mon, 12 Oct 2015 16:22:29 +0000 (09:22 -0700)]
update kernel headers

9 years agobatch: support quoted strings
Christophe Gouault [Fri, 2 Oct 2015 09:59:37 +0000 (11:59 +0200)]
batch: support quoted strings

Support quoting strings with " or ' in an iproute2 batch file.

Enables to configure empty crypto keys (for ESP-null) or keys with
spaces:

    xfrm state add src 1.1.1.1 dst 2.2.2.2 proto ah spi 0x1 \
        mode tunnel auth hmac(sha1) "r4ezR/@kd6'749f2 6zf$"

    xfrm state add src 5.5.5.5 dst 2.2.2.2 proto esp spi 0x2 \
        mode tunnel enc cipher_null ""

Signed-off-by: Christophe Gouault <christophe.gouault@6wind.com>
9 years agoip: allow using a device "help" (or a prefix thereof)
Christoph Schulz [Fri, 25 Sep 2015 06:44:07 +0000 (08:44 +0200)]
ip: allow using a device "help" (or a prefix thereof)

Device names that match "help" or a prefix thereof should be allowed anywhere
a device name can be used. Note that a suitable keyword ("dev" or "name", the
latter for "ip tunnel") has to be used in these cases to resolve ambiguities.

Signed-off-by: Christoph Schulz <develop@kristov.de>
Reported-by: Leonhard Preis <leonhard@pre.is>
Reported-by: Wilhelm Wijkander <lists@0x5e.se>
9 years agoadd tipc manpages to Makefile
Stephen Hemminger [Wed, 7 Oct 2015 09:33:39 +0000 (10:33 +0100)]
add tipc manpages to Makefile

9 years agotipc: add man pages
Richard Alpe [Fri, 2 Oct 2015 08:15:21 +0000 (10:15 +0200)]
tipc: add man pages

This patch adds man pages for the TIPC tool. There is one main page
and one page for each top level sub-command. These pages mainly aims
to help a user of the tipc tool. In addition to this they describe
a bit about what TIPC is and some of its features as a protocol.

Signed-off-by: Richard Alpe <richard.alpe@ericsson.com>
Reviewed-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
9 years agofq: fix whitespace
Stephen Hemminger [Fri, 25 Sep 2015 19:40:00 +0000 (12:40 -0700)]
fq: fix whitespace

9 years agotc: fq: allow setting and retrieving orphan_mask
Eric Dumazet [Thu, 24 Sep 2015 11:43:26 +0000 (04:43 -0700)]
tc: fq: allow setting and retrieving orphan_mask

linux-3.19 fq packet scheduler got a new attribute, controlling
number of 'flows' holding packets not attached to a socket
(forwarding usage)

kernel commit is 06eb395fa9856b5a87cf7d80baee2a0ed3cdb9d7
("pkt_sched: fq: better control of DDOS traffic")

This patch adds corresponding code to tc command.

tc qd replace dev eth0 root fq orphan_mask 511

Signed-off-by: Eric Dumazet <edumazet@google.com>
9 years agoss: fix file-based filtering segfault
Dan Webster [Thu, 24 Sep 2015 07:36:53 +0000 (09:36 +0200)]
ss: fix file-based filtering segfault

Commit 1527a17 introduced a change where the second of two ssfilter_parse()
calls in ss.c was moved outside of a conditional block (ss.c: ~3575). This
commit enabled the parsing of services, such as 'sport = :ssh', but
inadvertently broke the '-F' file-based filtering:

9 years agoman: tc: add man page for fq pacer
Florian Westphal [Thu, 24 Sep 2015 00:10:28 +0000 (02:10 +0200)]
man: tc: add man page for fq pacer

Partially based on kernel Kconfig help text, code comments and
git commit messages from Eric Dumazet.

Joint work with Phil Sutter.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Florian Westphal <fw@strlen.de>
9 years agotc : add timestamps to tc monitor
Eric Dumazet [Wed, 23 Sep 2015 23:40:04 +0000 (16:40 -0700)]
tc : add timestamps to tc monitor

Support -timestamp and -tshort options for tc monitor like ip monitor.

# tc -tshort monitor
[2015-09-23T16:39:11.260555] qdisc fq 8003: dev eth0 root refcnt 2 limit
10000p flow_limit 100p buckets 1024 quantum 3028 initial_quantum 15140
refill_delay 40.0ms

Signed-off-by: Eric Dumazet <edumazet@google.com>
9 years agoip: Add type and master filters to brief output
David Ahern [Wed, 23 Sep 2015 22:44:56 +0000 (16:44 -0600)]
ip: Add type and master filters to brief output

The brief format does not honer the master and type filters:

$ ip link show master vrf-mgmt
7: dummy0: <BROADCAST,NOARP,SLAVE> mtu 1500 qdisc noop master vrf-mgmt state DOWN mode DEFAULT group default qlen 1000
    link/ether 66:39:cc:2b:e9:bd brd ff:ff:ff:ff:ff:ff

$ ip -br link show master vrf-mgmt
lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
eth0             UP             08:00:27:de:14:c8 <BROADCAST,MULTICAST,UP,LOWER_UP>
eth1             UP             08:00:27:87:02:f1 <BROADCAST,MULTICAST,UP,LOWER_UP>
eth2             UP             08:00:27:61:1e:fd <BROADCAST,MULTICAST,UP,LOWER_UP>
vrf-blue         UNKNOWN        a6:3f:09:34:7e:74 <NOARP,MASTER,UP,LOWER_UP>
vrf-red          DOWN           fe:a2:2d:e1:bc:ac <NOARP,MASTER>
dummy0           DOWN           66:39:cc:2b:e9:bd <BROADCAST,NOARP,SLAVE>
dummy1           DOWN           4a:4f:13:91:64:b1 <BROADCAST,NOARP,SLAVE>
dummy2           DOWN           b2:4f:b6:cd:bd:a6 <BROADCAST,NOARP>
dummy3           DOWN           1e:06:3d:40:b8:c2 <BROADCAST,NOARP,SLAVE>
vrf-mgmt         DOWN           ce:b2:74:41:21:df <NOARP,MASTER>

With this patch the expected output is shown:

$ ip -br link show master vrf-mgmt
dummy0           DOWN           66:39:cc:2b:e9:bd <BROADCAST,NOARP,SLAVE>

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
9 years agoip route: Add RTM_F_LOOKUP_TABLE flag and show table id
David Ahern [Mon, 21 Sep 2015 18:19:48 +0000 (11:19 -0700)]
ip route: Add RTM_F_LOOKUP_TABLE flag and show table id

Currently 'ip route get' does not show the table the lookup result comes
from and prior to kernel commit c36ba6603a11 the response from the kernel
was hardcoded to the main table. From the discussion this appears to be
a leftover from the route cache where the cached entry lost the table id
and so the result was hardcoded to main table.

c36ba6603a11 added the RTM_F_LOOKUP_TABLE flag to maintain that behavior
but to allow new tools to ask for the actual table id for the lookup.
This patch adds that flag to ip route get request and if the result is
not the main table shows the table id.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
9 years agoupdate kernel headers to 4.3 net-next
Stephen Hemminger [Wed, 23 Sep 2015 23:18:34 +0000 (16:18 -0700)]
update kernel headers to 4.3 net-next

9 years agoroute: filter routes by family if it's specified
Andrew Vagin [Wed, 23 Sep 2015 11:43:46 +0000 (14:43 +0300)]
route: filter routes by family if it's specified

Currently when we specify AF_INET6 when it is disabled, we will get
all routes.

For example, we can boot kernel with ipv6.disable=1 and try to get ipv6
routes:
$ ip -6 route show
default via 192.168.122.1 dev eth0  proto static  metric 100
192.168.122.0/24 dev eth0  proto kernel  scope link  src 192.168.122.141  metric 100

Here are ipv4 routes and this is unexpected behaviour.

Signed-off-by: Andrew Vagin <avagin@openvz.org>
9 years agoman tc-htb: Fix HRB -> HTB typo
Vadim Kochan [Tue, 22 Sep 2015 17:01:13 +0000 (20:01 +0300)]
man tc-htb: Fix HRB -> HTB typo

Changed HRB -> HTB.

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
9 years agoman ip-link: Fix wording in VLAN reorder_hdr explanation
Vadim Kochan [Wed, 16 Sep 2015 16:55:19 +0000 (19:55 +0300)]
man ip-link: Fix wording in VLAN reorder_hdr explanation

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Acked-by: Jeremy Harris <jgh@redhat.com>
9 years agotc: fq: allow setting and retrieving flow refill delay
Phil Sutter [Thu, 10 Sep 2015 14:25:47 +0000 (16:25 +0200)]
tc: fq: allow setting and retrieving flow refill delay

Code to parse and export this tuneable via netlink is already present in
sched_fq.c of the kernel, so not making it accessible for users would be
a waste of resources.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoman: tc.8: mention available qdiscs
Phil Sutter [Tue, 22 Sep 2015 14:18:47 +0000 (16:18 +0200)]
man: tc.8: mention available qdiscs

Some qdiscs still lack a manpage, so listing them here is the only way
for a user to get to know them. For the others, this serves as an
overview of what is there.

Content was taken over from the dedicated manpage if available and
suitable, so there is definitely room for improvement at least by
adjusting it more to the context in which it is now. In case there
wasn't appropriate wording available, I tried to identify key aspects of
the given qdisc.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoip-link: do not support 'ip link add dev help'
Phil Sutter [Mon, 21 Sep 2015 19:33:01 +0000 (21:33 +0200)]
ip-link: do not support 'ip link add dev help'

Commit 0532555 ('Support "ip link add help" for rtnl_link API') added a
check for specified help parameter. Though due to the place where it has
been added to, it is not possible anymore to force a given parameter to
be interpreted as interface name by prefixing it with 'dev '. Fix this
by forcing whatever follows 'dev' to be presumed as interface name.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoman: rtpr: add minimal manpage
Phil Sutter [Fri, 18 Sep 2015 18:17:05 +0000 (20:17 +0200)]
man: rtpr: add minimal manpage

While there is not much to explain about this rather trivial shell
script, having a manpage for it serves as good point of reference for
users wondering what it might be for.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoman: lnstat: rewrite manpage
Phil Sutter [Fri, 18 Sep 2015 18:17:04 +0000 (20:17 +0200)]
man: lnstat: rewrite manpage

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoman: ip-address: document mngtmpaddr and noprefixroute flags
Phil Sutter [Fri, 18 Sep 2015 18:17:03 +0000 (20:17 +0200)]
man: ip-address: document mngtmpaddr and noprefixroute flags

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agocomment: Fix remaining listings of wrong FSF address
Phil Sutter [Fri, 18 Sep 2015 18:17:02 +0000 (20:17 +0200)]
comment: Fix remaining listings of wrong FSF address

This patch follows the changes of commit 4d98ab0 ("Fix FSF address in
file headers"), fixing file headers added after it.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoman: ip-address: align synopsis with help output
Phil Sutter [Fri, 18 Sep 2015 18:17:00 +0000 (20:17 +0200)]
man: ip-address: align synopsis with help output

When fixing the BNF syntax error, I overlooked that 'ip address help'
prints a more correct synopsis. This patch aligns them.

Fixes: 715296b ("ip-address.8.in: fix BNF syntax error")
Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoman: ip: add -h[uman-readable] option
Phil Sutter [Fri, 18 Sep 2015 18:17:01 +0000 (20:17 +0200)]
man: ip: add -h[uman-readable] option

Since 'ip help' lists it, it should be described in ip.8 as well.

Signed-off-by: Phil Sutter <phil@nwl.cc>
9 years agoconfigure: Check for Berkeley DB for arpd compilation
Vadim Kochan [Fri, 18 Sep 2015 16:17:13 +0000 (19:17 +0300)]
configure: Check for Berkeley DB for arpd compilation

Add check for Berkeley DB header & lib before compile arpd util.

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
9 years agoip link: missing options in bond usage
Arthur Gautier [Fri, 11 Sep 2015 12:48:28 +0000 (12:48 +0000)]
ip link: missing options in bond usage

Signed-off-by: Arthur Gautier <baloo@gandi.net>
9 years agol2tp: add missing newline on show output
Stephen Hemminger [Fri, 11 Sep 2015 22:26:58 +0000 (15:26 -0700)]
l2tp: add missing newline on show output

After cookie there was no newline.

9 years agoss format bug
Mike Saal [Wed, 26 Aug 2015 15:59:17 +0000 (11:59 -0400)]
ss format bug

Hi:

I found a formatting bug in the 4.1.1 ss command. The following line was
incorrectly output due to passing a negative length to printf() when
displaying the local address. In this instance hostapd does a "bind to
device" on cdreth0 and then does a udp "in address any" port 67 bind.
Please note the whitespace between the '*' and ' %cdreth0:67'

    'udp UNCONN 0 0 ** %cdreth0:67* *:* users:(("hostapd",pid=19241,fd=5))'

Attached is my patch for the bug fix, it might be prudent to add more
guard code looking for negative length format codes.

Sincerely, Mike

9 years agoiproute: print more verbose error on route cache flush
Denis Kirjanov [Sat, 5 Sep 2015 07:40:50 +0000 (10:40 +0300)]
iproute: print more verbose error on route cache flush

Before:
kda@vfirst ~/devel/iproute2 $ ./ip/ip route flush cache
Cannot open "/proc/sys/net/ipv4/route/flush"

After:
kda@vfirst ~/devel/iproute2/ip $ ./ip route flush cache
Cannot open "/proc/sys/net/ipv4/route/flush": Permission denied

Signed-off-by: Denis Kirjanov <kda@linux-powerpc.org>
9 years agoiplink: Add support for IFLA_BR_VLAN_PROTOCOL attribute
Toshiaki Makita [Mon, 31 Aug 2015 09:48:46 +0000 (18:48 +0900)]
iplink: Add support for IFLA_BR_VLAN_PROTOCOL attribute

This patch adds support for bridge vlan_protocol.

Example:
$ ip link set br0 type bridge vlan_protocol 802.1ad
$ ip -d link show br0
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
UP mode DEFAULT group default qlen 1000
    link/ether 44:37:e6:ab:cd:ef brd ff:ff:ff:ff:ff:ff promiscuity 0
    bridge forward_delay 0 hello_time 200 max_age 2000 ageing_time 30000
stp_state 0 priority 32768 vlan_filtering 0 vlan_protocol 802.1ad
addrgenmode eui64

Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
9 years agoupdate kernel headers to 4.2-net-next
Stephen Hemminger [Mon, 31 Aug 2015 23:35:00 +0000 (16:35 -0700)]
update kernel headers to 4.2-net-next

9 years agoMerge branch 'master' into net-next
Stephen Hemminger [Mon, 31 Aug 2015 23:32:10 +0000 (16:32 -0700)]
Merge branch 'master' into net-next