Merge branch 'ipv4-ipv6-mcast-align'
authorDavid S. Miller <davem@davemloft.net>
Thu, 1 Mar 2018 18:13:24 +0000 (13:13 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Mar 2018 18:13:24 +0000 (13:13 -0500)
commit3c5aa0bc9c0063b4c462cce4d07f88aa3fbeaea3
tree9cde582f7276b75ffb8ea39e0c1b8cd07218a85b
parenta25724b05af0e38232764fc0d0f984254e4b5c41
parent7b0db85737db3f4d76b2a412e4f19eae59b8b494
Merge branch 'ipv4-ipv6-mcast-align'

Yuval Mintz says:

====================
ipmr, ip6mr: Align multicast routing for IPv4 & IPv6

Historically ip6mr was based [cut-n-paste] on ipmr and the two have not
diverged too much. Apparently as ipv4 multicast routing is more common
than its ipv6 brethren modifications since then are mostly one-way,
affecting ipmr while leaving ip6mr unchanged.

This series is meant to re-factor both ipmr and ip6mr into having common
structures [and some functionality], adding 2 new common files -
mroute_base.h and ipmr_base.c.

The series begins by bringing ip6mr up to speed to some of the changes
applied in the past to ipmr [#2, #3].
It is then possible to re-factor a lot of the common structures -
vif devices [#1], mr_table [#4] mfc_cache [#6], and use the common
structures in both ipmr and ip6mr.

The rest of the patches re-factor some choice flows used by both ipmr
and ip6mr and eliminates duplicity.

This series would later allow for easy extension of ipmr offloading
to support ip6mr offloading as well, as almost all structures
related to the offloading would be shared between the two protocols.

Changes from previous versions
------------------------------
v2:
  - #6 Corrected reporting logic when hitting an unresolved cache
  - #7 Addressed kernel doc style [Thanks Nikolay]

RFC -> v1:
  - Corrected support for CONFIG_IP{,V6}_MROUTE_MULTIPLE_TABLES
  - Addressed a couple of kbuild test robot issues
====================

Signed-off-by: David S. Miller <davem@davemloft.net>