Go to file
Andreas Henriksson 9dca899b2d bridge: Make filter_index match in signedness
Michael Tautschnig wrote:

During a rebuild [...]. Please note that we use our research
compiler tool-chain (using tools from the cbmc package), which permits extended
reporting on type inconsistencies at link time.

[...]
gcc   bridge.o fdb.o monitor.o link.o mdb.o vlan.o ../lib/libnetlink.a ../lib/libutil.a  ../lib/libnetlink.a ../lib/libutil.a -o bridge
file link.c line 18: error: conflicting types for variable "filter_index"
old definition in module fdb file fdb.c line 29
signed int
new definition in module link file link.c line 18
unsigned int
<builtin>: recipe for target 'bridge' failed
make[3]: *** [bridge] Error 64
make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-iproute2/iproute2-3.14.0/bridge'
Makefile:45: recipe for target 'all' failed

While practical constraints may limit the value of filter_index to remain within
the bounds of a positive signed int, there is certainly no such guarantee here.
Also, a plain majority vote suggests that this really just a wrong declaration
in link.c as several declarations of filter_index as signed int exist.

[...]

My followup on this was:

I think the majority is wrong.

filter_index is assigned exclusively from if_nametoindex or ll_name_to_index
which both return unsigned int.

Changing it to unsigned everywhere seems better.

This has been minimally tested by using the bridge tool
to add vids and showing available vids on different devices.

Reported-by: Michael Tautschnig <mt@debian.org>
Signed-off-by: Andreas Henriksson <andreas@fatal.se>
2014-06-09 12:40:45 -07:00
bridge bridge: Make filter_index match in signedness 2014-06-09 12:40:45 -07:00
doc ip: Add label option to ip monitor 2013-08-19 08:57:24 -07:00
etc/iproute2 tc: add canid ematch to ematch_map 2012-11-30 08:27:58 -08:00
examples Fix FSF address in file headers 2013-12-06 15:05:07 -08:00
genl genl: fix a typo in help message of ctrl 2014-02-10 14:41:25 -08:00
include Update to 3.15-rc2 headers 2014-04-21 08:26:44 -07:00
ip do not exit silently when link is not found 2014-06-09 12:38:32 -07:00
lib iproute2: use named constants instead of number literals to fill rtnl_rttable_hash 2014-03-10 13:16:08 -07:00
man bridge: Add learning and flood support 2014-05-28 17:10:45 -07:00
misc ss: display pacing_rate/max_pacing_rate 2014-06-09 12:36:49 -07:00
netem netem: fix installs of dist files 2010-07-31 19:31:04 -07:00
tc Fixed 'tc qdisc show' for tbf when latency<0 2014-05-28 17:08:16 -07:00
testsuite Fix modes of test files 2007-09-05 12:00:01 +01:00
.gitignore Don't put configure files in /tmp 2012-02-15 10:03:39 -08:00
COPYING Update address of FSF in license 2008-03-08 13:31:03 -08:00
Makefile fix format warnings 2014-05-29 10:31:30 -07:00
README README: update mail address and download location 2013-01-18 09:54:58 -08:00
README.decnet Decnet documentation update 2005-06-13 18:47:56 +00:00
README.devel iproute2: fix minor typo in comments 2011-07-11 10:11:09 -07:00
README.distribution README cleanup's 2012-01-03 15:04:55 -08:00
README.iproute2+tc README cleanup's 2012-01-03 15:04:55 -08:00
README.lnstat Rename: misc/README.lnstat -> README.lnstat 2004-10-19 20:24:47 +00:00
configure ss: Add support for retrieving SELinux contexts 2014-03-10 13:20:49 -07:00

README

This is a set of utilities for Linux networking.

Information:
    http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2

Download:
    http://www.kernel.org/pub/linux/utils/net/iproute2/

Repository:
    git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git

How to compile this.
--------------------
1. libdbm

arpd needs to have the db4 development libraries. For Debian
users this is the package with a name like libdb4.x-dev.
DBM_INCLUDE points to the directory with db_185.h which
is the include file used by arpd to get to the old format Berkeley
database routines.  Often this is in the db-devel package.

2. make

The makefile will automatically build a Config file which
contains whether or not ATM is available, etc.

3. To make documentation, cd to doc/ directory , then
   look at start of Makefile and set correct values for
   PAGESIZE=a4		, ie: a4 , letter ...	(string)
   PAGESPERPAGE=2	, ie: 1 , 2 ...		(numeric)
   and make there. It assumes, that latex, dvips and psnup
   are in your path.

4. This package includes matching sanitized kernel headers because
   the build environment may not have up to date versions. See Makefile
   if you have special requirements and need to point at different
   kernel include files.

Stephen Hemminger
stephen@networkplumber.org

Alexey Kuznetsov
kuznet@ms2.inr.ac.ru