Yes, you can assign a zone to each netdev. macvlan will also work.
Using a netfilter target for the raw table might be a better choice
on second thought though, it provides more flexibility and avoids
the netfilter-specific device setting. I'll probably change that.
The selectors include an ifindex, which could be used to
distinguish both based on the interface.
In case of IPsec the outer addresses are different, its only the
selectors which will have similar addresses. A keying deamon should
have no trouble with this. The ifindex would be needed in the
selectors though to make sure each policy is used for the correct
traffic.
A routing daemon is unrealistic to be used in this scenario, at
least a single one for all the overlapping networks.
Yes, that might be useful in any case. But I don't think it would
even work for iproute or other standalone programs, a process can't
associate to an existing namespace except through clone(). So it
needs to run as child of a process already associated with the
namespace.
See above.
No, to give some correct number. Assuming a conntrack table of
10MB (large, but reasonable depending on the number of connections)
we get an overhead of:
namespaces: 150 * 10MB memory use
"zones": 152 bytes increased code size
Both approaches additionally need one extra connection tracking
entry of ~300 bytes per connection that is actually handled twice.
That will go away once I add a target for classification. I completely
agree that its undesirable to add this in more spots, but this is meant
purely for being able to pass traffic through conntrack/NAT more than
once.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html