Commit Graph

83 Commits

Author SHA1 Message Date
Natanael Copa
dd9cc0ee81 iproute2: various header include fixes for compiling with musl libc
We need limits.h for LONG_MIN and LONG_MAX, sys/param.h for MIN and
sys/select for struct timeval.

This fixes the following compile errors with musl libc:

f_bpf.c: In function 'bpf_parse_opt':
f_bpf.c:181:12: error: 'LONG_MIN' undeclared (first use in this function)
   if (h == LONG_MIN || h == LONG_MAX) {
            ^
...

tc_util.o: In function `print_tcstats2_attr':
tc_util.c:(.text+0x13fe): undefined reference to `MIN'
tc_util.c:(.text+0x1465): undefined reference to `MIN'
tc_util.c:(.text+0x14ce): undefined reference to `MIN'
tc_util.c:(.text+0x154c): undefined reference to `MIN'
tc_util.c:(.text+0x160a): undefined reference to `MIN'
tc_util.o:tc_util.c:(.text+0x174e): more undefined references to `MIN' follow
...

tc_stab.o: In function `print_size_table':
tc_stab.c:(.text+0x40f): undefined reference to `MIN'
...

fdb.c:247:30: error: 'ULONG_MAX' undeclared (first use in this function)
        (vni >> 24) || vni == ULONG_MAX)
                              ^

lnstat.h:28:17: error: field 'last_read' has incomplete type
  struct timeval last_read;  /* last time of read */
                 ^

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
2014-05-28 16:51:39 -07:00
Mike Rapoport
9e763fa5d3 bridge: fix reporting of IPv6 addresses
Signed-off-by: Mike Rapoport <mike.rapoport@ravellosystems.com>
2014-03-21 14:23:05 -07:00
Petr Písař
101847446e iproute2: bridge: Close file with bridge monitor file
The `bridge monitor file FILENAME' reads dumped netlink messages from
a file. But it forgot to close the file after using it. This patch
fixes it.

Signed-off-by: Petr Písař <ppisar@redhat.com>
2013-09-30 21:00:06 -07:00
Thomas Richter
5464049b47 iproute vxlan add support for fdb replace command
Add support for the bridge fdb replace command to replace an
existing entry in the vxlan device driver forwarding data base.
The entry is identified with its unicast mac address and its
corresponding remote destination information is updated.

This is useful for virtual machine migration and replaces the
bridge fdb del and bridge fdb add commands.

It follows the same interface as ip neigh replace commands.

Signed-off-by: Thomas Richter <tmricht@linux.vnet.ibm.com>
2013-08-04 11:56:54 -07:00
Thomas Richter
7578ae8807 iproute2 vxlan documentation update for bridge command
The bridge fdb command line help and the bridge.8
man page are outdated in regards to the vxlan support.
The patch updates both the command line help for the
bridge command and its man page.

Signed-off-by: Thomas Richter <tmricht@linux.vnet.ibm.com>
2013-07-09 09:38:36 -07:00
John Fastabend
a40d0827a5 iproute2: bridge: fix 'bridge link' setlink/getlink parsing
Use IFLA_AF_SPEC nested attributes to lookup bridge mode and when
doing strcmp() check for equality.

These appear to be typos from the original commit,

commit 64108901b7
Author: Vlad Yasevich <vyasevic@redhat.com>
Date:   Fri Mar 15 10:01:28 2013 -0700

    bridge: Add support for setting bridge port attributes

Also set flags to BRIDGE_FLAGS_SELF instead of using OR operation.
This allows setting the bridge mode when not being used with a
master device.

To allow setting both master and self devices simultaneously we
will need to add a {self|master} field similar to fdb commands.
For now the command sets are mutually exclusive as noted in the
original commit.

With this patch 'bridge link set' works now,

# ./bridge/bridge link set dev veth1 cost 3
# ./bridge/bridge link show
10: veth1 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state forwarding priority 3 cost 3

CC: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
2013-06-03 19:55:32 -07:00
David L Stevens
5b8a1d4a03 iproute2: support NTF_ROUTER flag in VXLAN fdb entries
This patch allows setting the "NTF_ROUTER" flag in VXLAN forwarding table
entries to enable L3 switching for router destinations while still allowing
L2 redirection appliances for non-router MAC destinations.

Signed-Off-By: David L Stevens <dlstevens@us.ibm.com>
2013-05-06 07:54:44 -07:00
David Stevens
5f409678eb iproute2: generalize VXLAN forwarding tables
iproute2 patch to generalize VXLAN forwarding tables

This is the iproute2 support allowing an administrator to specify alternate
ports, vnis and outgoing interfaces for VXLAN device forwarding tables.

Changes since v3: changed NDA_PORT to be 16-bit network byte order to match
	changed byte-order/size in the VXLAN driver.

Signed-Off-By: David L Stevens <dlstevens@us.ibm.com>
2013-05-03 13:20:34 -07:00
Stephen Hemminger
4cd20da16f bridge: add oneline option
Split output of 'bridge link' across multiple lines,
only show the flags if -d is set, and add --oneline option
like ip command.
2013-03-16 10:18:50 -07:00
Vlad Yasevich
b1b7ce0f0d bridge: Add support for printing bridge port attributes
Output new nested bridge port attributes.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
2013-03-16 10:02:18 -07:00
Vlad Yasevich
64108901b7 bridge: Add support for setting bridge port attributes
Add netlink support bridge port attributes such as cost, priority, state
and flags.  This also adds support for HW mode such as VEPA or VEB.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
2013-03-16 10:01:53 -07:00
Stephen Hemminger
8ae660941f bridge: cleanup usage message
Fdb usage message got too long.
2013-03-06 11:04:29 -08:00
Vlad Yasevich
9eff0e5cc4 bridge: Add vlan configuration support
Recent kernel patches added support for VLAN filtering on the bridge.
This functionality allows one to turn a basic bridge into a VLAN bridge,
where VLANs dicatate packet forwarding and header transformation.

To configure the VLANs on the bridge and its ports a new command is
added to the 'bridge' utility.

   # bridge vlan add dev eth0 vid 10 pvid untagged brdev
   # bridge vlan add
   # bridge vlan delete dev eth0 vid 10
   # bridge vlan show

This command supports the following flags:
   master - peform the operation on the software bridge device.  This is
	    the default behavior.
   self  -  perform the operation on the hardware associated with the port.
            This flag is required when the device is the bridge device and
	    the configuration is desired on the bridge device itself (not
	    one of the ports).
   pvid  -  Set the PVID (port vlan id) for a given port.  Any untagged
            frames arriving on the port will be assigned to this vlan.
   untagged - Sets the egress policy of for a given vlan.  Default port
            egress policy is tagged.  Set this flag if you wish traffic
            associated with this VLAN to exit the port untagged.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
2013-03-06 11:03:08 -08:00
Vlad Yasevich
fd08839c73 bridge: Add vlan support to fdb entries
Provide the ability to set and show vlans on FDB entries.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
2013-03-06 11:03:05 -08:00
Stephen Hemminger
c6ff4b8344 Revert "generalize VXLAN forwarding tables"
This reverts commit 90ad5ae77e.
2013-03-06 11:02:46 -08:00
David Stevens
90ad5ae77e generalize VXLAN forwarding tables
This is the iproute2 support allowing an administrator to specify alternate
ports, vnis and outgoing interfaces for VXLAN device forwarding tables.

Signed-Off-By: David L Stevens <dlstevens@us.ibm.com>
2013-03-06 10:48:38 -08:00
Stephen Hemminger
d1f28cf181 ip: make local functions static 2013-02-12 11:38:35 -08:00
Cong Wang
e29d8cc616 bridge: update help
Signed-off-by: Cong Wang <amwang@redhat.com>
2012-12-20 10:56:06 -08:00
Cong Wang
0ff8f578ed bridge: make bridge mdb output consistent with input
bridge -> dev
group -> grp

Signed-off-by: Cong Wang <amwang@redhat.com>
2012-12-20 10:55:55 -08:00
Cong Wang
d8b75d1ad2 bridge: distinguish permanent and temporary mdb entries
This patch adds a flag to mdb entries so that we can distinguish
permanent entries with temporary ones.

Signed-off-by: Cong Wang <amwang@redhat.com>
2012-12-20 10:54:19 -08:00
Cong Wang
176659e38e iproute2: update usage info of bridge monitor
Cc: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Cong Wang <amwang@redhat.com>
2012-12-14 09:11:15 -08:00
Cong Wang
4a4ee61699 iproute2: add support to monitor mdb entries too
This patch implements `bridge monitor mdb`.

Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Cong Wang <amwang@redhat.com>
2012-12-12 10:27:46 -08:00
Cong Wang
9dca676721 iproute2: implement add/del mdb entry
This patch implements:

	bridge mdb { add | del } dev DEV port PORT grp GROUP

Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Cong Wang <amwang@redhat.com>
2012-12-12 10:27:46 -08:00
Cong Wang
e06c7f7e2e iproute2: add mdb sub-command to bridge
Sample output:

	# ./bridge/bridge mdb show dev br0
	bridge br0 port eth1 group 224.8.8.9
	bridge br0 port eth0 group 224.8.8.8

	# ./bridge/bridge -d mdb show dev br0
	bridge br0 port eth1 group 224.8.8.9
	bridge br0 port eth0 group 224.8.8.8
	router ports on br0: eth0

Signed-off-by: Cong Wang <amwang@redhat.com>
2012-12-11 16:46:22 -08:00
Stephen Hemminger
1465db1a14 bridge: use rta_getattr_xxx wrappers
Don't peek at RTA_DATA() directly.
2012-10-29 17:54:09 -07:00
Stephen Hemminger
38df7ac95d bridge: remove trailing whitespace 2012-10-29 17:48:55 -07:00
Stephen Hemminger
0849e60a10 bridge: manage VXLAN based forwarding tables
Allow extending bridge forwarding table to handle VXLAN as well.
Change format of output to be close to 'ip neighbour'
2012-10-01 13:58:01 -07:00
John Fastabend
57b9785de3 iproute2: bridge: remove replace and change options
Replace and change are not supported by bridge netlink so remove it
from bridge tool options.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
2012-08-27 11:24:03 -07:00
John Fastabend
dc6a6a2553 iproute2: Add FDB print and update cmds for self and master
Add command to update and print FDB entries with NTF_SELF and
NTF_MASTER set.

Example usages illustrating use of 'self' to program embedded
forwarding table and 'master' to configure the forwarding table
of the bridge. Also shows 'master self' used to update both in
the same command.

#./br/br fdb add 00:1b:21:55:23:60 dev eth3 self
#./br/br fdb add 00:1b:21:55:23:60 dev eth3 master
#./br/br fdb add 00:1b:21:55:23:61 dev eth3 self master
#./br/br fdb add 00:1b:21:55:23:62 dev eth3
#./br/br fdb show
eth3    00:1b:21:55:23:60       local self
eth3    00:1b:21:55:23:61       local self
eth3    33:33:00:00:00:01       local self
eth3    01:00:5e:00:00:01       local self
eth3    33:33:ff:55:23:59       local self
eth3    01:00:5e:00:00:fb       local self
eth33   33:33:00:00:00:01       local self
eth34   33:33:00:00:00:01       local self
eth3    00:1b:21:55:23:59       local master
eth3    00:1b:21:55:23:60       static master
eth3    00:1b:21:55:23:62       static master
eth3    00:1b:21:55:23:61       static master

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
2012-08-24 17:11:01 -07:00
Li Wei
083b46bbe9 iproute2: fix typo in help message.
Signed-off-by: Li Wei <lw@cn.fujitsu.com>
2012-08-20 09:00:16 -07:00
Chris Webb
9069817033 Correct the bridge command name in help messages
The bridge command used to be called br but was renamed bridge. Correct
the outdated references to the br name in the help messages, together with a
typo of '-help' for 'help'.

Signed-off-by: Chris Webb <chris@arachsys.com>
2012-08-16 14:02:46 -07:00
Xose Vazquez Perez
6d10827c79 Fix Makefile's
Missing space in man8 Makefile and install bridge command with
correct name
2012-08-13 08:06:21 -07:00
Stephen Hemminger
d04bc300c3 Add bridge command
New tool to allow manipulating forwarding entries and monitoring
bridge events.
2012-08-01 15:23:49 -07:00