[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1411573940-14079-1-git-send-email-ahmed@gandi.net>
Date: Wed, 24 Sep 2014 17:51:56 +0200
From: Ahmed Amamou <ahmed@...di.net>
To: netdev@...r.kernel.org
Cc: william@...di.net, f.cachereul@...halink.fr,
Ahmed Amamou <ahmed@...di.net>
Subject: [RFC PATCH 00/24] TRILL implementation
Hi,
We have been working on a TRILL implementation in the Linux kernel for some
months now. The code has been pushed here https://github.com/Gandi/ktrill.git
along the way. Attached a series of patch as a first proposition. The code is
not perfect and probably still lacks of improvements. It's a first request of
comment in order to get some feedbacks. This code has been tested for some
months now.
These patch tries to implement TRILL protocol RFC 6325. As a First
implementation, some RFC details are still not implemented.
We still need to fix these points:
- The use of rtnetlink instead of the actual netlink.
- BPDU handling
Also some parts may not be fully linux compliant, so we are waiting for
comments
In order to test theses patches please follow this small wiki download quagga
(userland) from here https://github.com/Gandi/quagga.git compile it using these
options ./bootstrap.sh && ./configure --localstatedir=/var/run/quagga
--enable-isisd --enable-trilld --disable-ipv6 --disable-ospfd
--disable-ospfclient --disable-ripd --disable-babeld --disable-bgpd && make &&
make install
start zebra and trilld $ zebra -f $ZEBRA_CONF -P 2121 -u quagga -d $ trilld -f
$TRILLD_CONF -P 2021 -u quagga -d
configuration sample can be found here
https://github.com/Gandi/quagga/blob/dev_trill/zebra/zebra.conf.sample and here
https://github.com/Gandi/quagga/blob/dev_trill/isisd/trilld.conf.sample
Finally you need to correctly configure bridge port
For access port (native frames) echo 4 >
/sys/class/net/<INTERFACE>/brport/trill_state For trunk port (trill frame and
control frames) echo 8 > /sys/class/net/<INTERFACE>/brport/trill_state
more detail can be found here: https://github.com/Gandi/ktrill/wiki NB: for port
state github version has different flags as we did not take into consideration
all port flag when implementing it
Ahmed Amamou (23):
net: rbridge: add trill frame description
net: rbridge: Add RBridge structure
net: rbridge: Add CONFIG_TRILL
net: rbridge: Adapt Bridge structure
net: rbridge: Enable/disable TRILL capability
net: rbridge: Add sysfs for trill_state
net: rbridge: Add Rbridge netlink message skeleton
net: rbridge: Get Rbridge nickname from daemon
net: rbridge: Add elected dtroot
net: rbridge: Add rbr_node management function
net: rbridge: Clean up rbr_node on rbridge stop
net: rbridge: Add set_node function
net: rbridge: Add get_node function
net: rbridge: Add basic trill frame handling function
net: rbridge: Update forwarding database
net: rbridge: Add test on trill flag before flood
net: rbridge: Add encapsulation process
net: rbridge: Add receive function
net: rbridge: Add multicast recv handling
net: rbridge: Add decapsulation function
net: rbridge: Add rbr_fwd
net: rbridge: Add rbr_multidest_fwd
net: rbridge: replace net_port rx_handler
François Cachereul (1):
net: rbridge: Add layer 2 IS-IS Ethertype
include/linux/etherdevice.h | 34 ++
include/linux/if_trill.h | 89 +++++
include/uapi/linux/if_ether.h | 2 +
net/bridge/Kconfig | 8 +
net/bridge/Makefile | 2 +
net/bridge/br.c | 6 +
net/bridge/br_fdb.c | 40 +++
net/bridge/br_forward.c | 38 ++
net/bridge/br_if.c | 4 +
net/bridge/br_private.h | 51 +++
net/bridge/br_sysfs_br.c | 38 ++
net/bridge/br_sysfs_if.c | 23 ++
net/bridge/rbridge/rbr.c | 723 +++++++++++++++++++++++++++++++++++++++
net/bridge/rbridge/rbr_netlink.c | 404 ++++++++++++++++++++++
net/bridge/rbridge/rbr_netlink.h | 62 ++++
net/bridge/rbridge/rbr_private.h | 86 +++++
16 files changed, 1610 insertions(+)
create mode 100644 include/linux/if_trill.h
create mode 100644 net/bridge/rbridge/rbr.c
create mode 100644 net/bridge/rbridge/rbr_netlink.c
create mode 100644 net/bridge/rbridge/rbr_netlink.h
create mode 100644 net/bridge/rbridge/rbr_private.h
--
Ahmed Amamou
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists