From: Antonio Quartulli <ordex@autistici.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, b.a.t.m.a.n@lists.open-mesh.org
Subject: [B.A.T.M.A.N.] pull request: batman-adv 2012-11-07
Date: Wed, 7 Nov 2012 20:11:30 +0100 [thread overview]
Message-ID: <1352315502-20324-1-git-send-email-ordex@autistici.org> (raw)
Hello David,
first of all thank you for having made us aware of the packet format problem in
batman-adv! The impact of __packed on performances was not entirely known to me,
in particular for what concerns the RISC arch.
We have to change a number of packet formats before we can remove __packed
everywhere which will obviously break compatibility.
However we already scheduled a compatibility break because we want to
heavily improve our packet formats and to provide a more flexible framework that
would allow us to add new types and features while reducing the probability of
breaking compatibility again and again as happened in the past (we are
implementing TypeLengthValue (TLV) containers among other things).
To avoid breaking compatibility (at least) twice we decided to fix now (in this
patchset) what is fixable with no consequences to compatibility while we would
ilike to defer the remaining changes for the scheduled compatibility break.
In this patchset you have the two new features intended for net-next/linux-3.8:
1) the new UNICAST_4ADDR packet type
2) the Distributed ARP Table (DAT) component
The new packet type has been reviewed to entirely address the alignment issue.
At the same time we also reviewed the other packet types but as I told you
before, we will send these changes later.
Other than that you have patch 02/12 that removes the __packed attribute from
the structures where it was not really needed.
Please, let me know if there is any problem.
Thank you very much,
Antonio
The following changes since commit 6f0a0986e328dd61610d898a09c9f4aa960ae64a:
usbnet: runtime wake up device before calling usbnet_{read|write}_cmd (2012-11-07 03:53:38 -0500)
are available in the git repository at:
git://git.open-mesh.org/linux-merge.git tags/batman-adv-for-davem
for you to fetch changes up to 9affec6be810d1d529cb9dc95126119451696ba6:
batman-adv: enable fast client detection using unicast_4addr packets (2012-11-07 20:00:24 +0100)
----------------------------------------------------------------
Included changes:
- minimal fixes to the packet layout to avoid the __packed attribute when not
needed
- new packet type called UNICAST_4ADDR: in this packet it is possible to find
both source and destination node (in the classic UNICAST header only the
destination field exists).
- a new feature: Distributed ARP Table (D.A.T.). It aims to reduce ARP lookups
latency by means of a simil-DHT approach.
----------------------------------------------------------------
Antonio Quartulli (9):
batman-adv: add UNICAST_4ADDR packet type
batman-adv: Distributed ARP Table - add a new debug log level
batman-adv: Distributed ARP Table - create DHT helper functions
batman-adv: Distributed ARP Table - implement local storage
batman-adv: Distributed ARP Table - add ARP parsing functions
batman-adv: Distributed ARP Table - add snooping functions for ARP messages
batman-adv: Distributed ARP Table - add compile option
batman-adv: Distributed ARP Table - add runtime switch
batman-adv: enable fast client detection using unicast_4addr packets
Martin Hundebøll (1):
batman-adv: Add get_ethtool_stats() support for DAT
Sven Eckelmann (2):
batman-adv: Reserve extra bytes in skb for better alignment
batman-adv: Mark correctly aligned headers not as __packed
Documentation/networking/batman-adv.txt | 3 +-
net/batman-adv/Kconfig | 10 +
net/batman-adv/Makefile | 1 +
net/batman-adv/bat_iv_ogm.c | 8 +-
net/batman-adv/debugfs.c | 20 +
net/batman-adv/distributed-arp-table.c | 1066 +++++++++++++++++++++++++++++++
net/batman-adv/distributed-arp-table.h | 167 +++++
net/batman-adv/hard-interface.c | 3 +
net/batman-adv/icmp_socket.c | 4 +-
net/batman-adv/main.c | 9 +
net/batman-adv/main.h | 13 +-
net/batman-adv/originator.c | 2 +
net/batman-adv/packet.h | 68 +-
net/batman-adv/routing.c | 51 +-
net/batman-adv/send.c | 4 +
net/batman-adv/soft-interface.c | 28 +-
net/batman-adv/sysfs.c | 7 +
net/batman-adv/translation-table.c | 20 +-
net/batman-adv/types.h | 73 +++
net/batman-adv/unicast.c | 135 +++-
net/batman-adv/unicast.h | 36 +-
net/batman-adv/vis.c | 9 +-
22 files changed, 1682 insertions(+), 55 deletions(-)
create mode 100644 net/batman-adv/distributed-arp-table.c
create mode 100644 net/batman-adv/distributed-arp-table.h
next reply other threads:[~2012-11-07 19:11 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-07 19:11 Antonio Quartulli [this message]
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 01/12] batman-adv: Reserve extra bytes in skb for better alignment Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 02/12] batman-adv: Mark correctly aligned headers not as __packed Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 03/12] batman-adv: add UNICAST_4ADDR packet type Antonio Quartulli
2012-11-07 19:17 ` Sven Eckelmann
2012-11-07 19:25 ` Sven Eckelmann
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 04/12] batman-adv: Distributed ARP Table - add a new debug log level Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 05/12] batman-adv: Distributed ARP Table - create DHT helper functions Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 06/12] batman-adv: Distributed ARP Table - implement local storage Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 07/12] batman-adv: Distributed ARP Table - add ARP parsing functions Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 08/12] batman-adv: Distributed ARP Table - add snooping functions for ARP messages Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 09/12] batman-adv: Distributed ARP Table - add compile option Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 10/12] batman-adv: Distributed ARP Table - add runtime switch Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 11/12] batman-adv: Add get_ethtool_stats() support for DAT Antonio Quartulli
2012-11-07 19:11 ` [B.A.T.M.A.N.] [PATCH 12/12] batman-adv: enable fast client detection using unicast_4addr packets Antonio Quartulli
2012-11-08 0:10 ` [B.A.T.M.A.N.] pull request: batman-adv 2012-11-07 David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1352315502-20324-1-git-send-email-ordex@autistici.org \
--to=ordex@autistici.org \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).