lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ