Subject: pull request [net]: batman-adv 2013-12-28

From: Antonio Quartulli <[email-masked]>
Date: Sat, 28 Dec 2013 17:05:53 +0100

Hello David,

this is our "fixed" pull request intended for net/linux-3.13.

Here you have the same patches as before except for the netfilter patch that is
now using nf_reset() (as you suggested) and for a new patch that fixes the
access to the vlan_hdr in the rx path while reading the VID.

Short summary:

Patches from 1 to 5 take care of reshaping the packet layout a little bit to
make sure that all the structures we use for sending messages have size multiple
of 4 (or 2 when pack(2) is used).
This solves the problem raised by Russel King about the static checks in
batman-adv failing when compiling the module on the ARM architecture.

Patch 6 is adding the nf_reset() (as you suggested) after having removed the
batman-adv encapsulation header from a packet. This patch fixes the behaviour of
netfilter in case the skb enters two bridges during its life: once with the
batman-adv header and once without.
==> Please, enqueue this patch (number 6) for stable.

Patch 7 fixes a wrong access to the inner vlan_eth header when trying to read
the VID in the rx path.

Please pull or let me know of any problem.

Thank you,
	Antonio

The following changes since commit 6a9eadccff2926e392173a989042f14c867cffbf:

  ipv6: release dst properly in ipip6_tunnel_xmit (2013-12-27 13:14:40 -0500)

are available in the git repository at:

  git://git.open-mesh.org/linux-merge.git tags/batman-adv-fix-for-davem

for you to fetch changes up to 2b1e2cb3594df80446dc33bb8e12230da11f38ff:

  batman-adv: fix vlan header access (2013-12-28 14:48:40 +0100)

----------------------------------------------------------------
Included changes:

- reset netfilter-bridge state when removing the batman-adv
  header from an incoming packet. This prevents netfilter
  bridge from being fooled when the same packet enters a
  bridge twice (or more): the first time within the
  batman-adv header and the second time without.

- adjust the packet layout to prevent any architecture from
  adding padding bytes. All the structs sent over the wire
  now have size multiple of 4bytes (unless pack(2) is used).

- fix access to the inner vlan_eth header when reading the
  VID in the rx path.

----------------------------------------------------------------
Antonio Quartulli (4):
      batman-adv: fix size of batadv_icmp_header
      batman-adv: fix alignment for batadv_tvlv_tt_change
      batman-adv: clean nf state when removing protocol header
      batman-adv: fix vlan header access

Simon Wunderlich (3):
      batman-adv: fix alignment for batadv_coded_packet
      batman-adv: fix header alignment by unrolling batadv_header
      batman-adv: fix size of batadv_bla_claim_dst

 net/batman-adv/bat_iv_ogm.c            |  36 +++++-----
 net/batman-adv/distributed-arp-table.c |   6 +-
 net/batman-adv/fragmentation.c         |   8 +--
 net/batman-adv/icmp_socket.c           |   6 +-
 net/batman-adv/main.c                  |  16 ++---
 net/batman-adv/network-coding.c        |  22 +++---
 net/batman-adv/packet.h                | 124 +++++++++++++++++++++++++--------
 net/batman-adv/routing.c               |  30 ++++----
 net/batman-adv/send.c                  |  10 +--
 net/batman-adv/soft-interface.c        |  18 +++--
 net/batman-adv/translation-table.c     |   6 +-
 11 files changed, 177 insertions(+), 105 deletions(-)