netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC v2 0/12] vti6: prepare namespace and interfamily support.
@ 2014-03-05 12:41 Steffen Klassert
  2014-03-05 12:41 ` [PATCH RFC v2 01/12] xfrm: Introduce xfrm_input_afinfo to access the the callbacks properly Steffen Klassert
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Steffen Klassert @ 2014-03-05 12:41 UTC (permalink / raw)
  To: netdev; +Cc: Steffen Klassert, Christophe Gouault

This patchset prepares vti6 for proper namespace and interfamily support.

With this patchset vti6 uses the new IPsec protocol multiplexer to
register it's own receive side hooks for ESP, AH and IPCOMP exactly
like the ipv4 side does that now.

Vti6 does the following on receive side:

1. Do an input policy check for the IPsec packet we received.
   This is required because this packet could be already
   processed by IPsec (tunnel in tunnel or a block policy
   is present), so an inbound policy check is needed.

2. Mark the packet with the i_key. The policy and the state
   must match this key now. Policy and state belong to the vti
   namespace and policy enforcement is done at the further layers.

3. Call the generic xfrm layer to do decryption and decapsulation.

4. Wait for a callback from the xfrm layer to do an inbound policy check
   on the vti policy, properly clean the skb to not leak informations on
   namespace transitions and to update the device statistics.

On transmit side:

1. Mark the packet with the o_key. The policy and the state
   must match this key now.

2. Do a xfrm_lookup on the original packet with the mark applied.

3. Check if we got an IPsec route.

4. Clean the skb to not leak informations on namespace
   transitions.

5. Attach the dst_enty we got from the xfrm_lookup to the skb.

6. Call dst_output to do the IPsec processing.

7. Do the device statistics.

Changes from v1:

- Incorporated feedback from David and Nicolas.
- Codingstyle cleanups.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2014-03-14  9:54 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-05 12:41 [PATCH RFC v2 0/12] vti6: prepare namespace and interfamily support Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 01/12] xfrm: Introduce xfrm_input_afinfo to access the the callbacks properly Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 02/12] xfrm6: Add IPsec protocol multiplexer Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 03/12] esp6: Use the IPsec protocol multiplexer API Steffen Klassert
2014-03-05 14:52   ` Sergei Shtylyov
2014-03-05 12:41 ` [PATCH RFC v2 04/12] ah6: " Steffen Klassert
2014-03-05 14:54   ` Sergei Shtylyov
2014-03-05 12:41 ` [PATCH RFC v2 05/12] ipcomp6: " Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 06/12] vti6: Remove dst_entry caching Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 07/12] vti6: Remove caching of flow informations Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 08/12] vti6: Update the ipv6 side to use its own receive hook Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 09/12] xfrm6: Remove xfrm_tunnel_notifier Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 10/12] vti6: Support inter address family tunneling Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 11/12] vti6: Check the tunnel endpoints of the xfrm state and the vti interface Steffen Klassert
2014-03-05 12:41 ` [PATCH RFC v2 12/12] vti6: Enable namespace changing Steffen Klassert
2014-03-14  9:54 ` [PATCH RFC v2 0/12] vti6: prepare namespace and interfamily support Steffen Klassert

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).