Received: with ECARTIS (v1.0.0; list netdev); Thu, 30 Dec 2004 00:47:50 -0800 (PST) Received: from smtp.knology.net (smtp.knology.net [24.214.63.101]) by oss.sgi.com (8.13.0/8.13.0) with SMTP id iBU8kMZO024559 for ; Thu, 30 Dec 2004 00:46:43 -0800 Received: (qmail 23985 invoked by uid 0); 30 Dec 2004 08:47:24 -0000 Received: from user-69-1-45-93.knology.net (HELO ori.thedillows.org) (69.1.45.93) by smtp1.knology.net with SMTP; 30 Dec 2004 08:47:24 -0000 Received: from ori.thedillows.org (localhost [127.0.0.1]) by ori.thedillows.org (8.13.1/8.13.1) with ESMTP id iBU8mYPD009763; Thu, 30 Dec 2004 03:48:34 -0500 Received: (from root@localhost) by ori.thedillows.org (8.13.1/8.13.1/Submit) id iBU8mYE2009762; Thu, 30 Dec 2004 03:48:34 -0500 Date: Thu, 30 Dec 2004 03:48:34 -0500 To: netdev@oss.sgi.com Cc: linux-kernel@vger.kernel.org, dave@thedillows.org From: David Dillow Subject: [RFC 2.6.10 2/22] xfrm: Add xfrm offload management calls to struct netdevice Message-Id: <20041230035000.11@ori.thedillows.org> References: <20041230035000.10@ori.thedillows.org> X-Virus-Scanned: ClamAV 0.80/638/Tue Dec 21 14:41:34 2004 clamav-milter version 0.80j on 127.0.0.1 X-Virus-Status: Clean X-archive-position: 13216 X-ecartis-version: Ecartis v1.0.0 Sender: netdev-bounce@oss.sgi.com Errors-to: netdev-bounce@oss.sgi.com X-original-sender: dave@thedillows.org Precedence: bulk X-list: netdev # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/12/30 00:28:25-05:00 dave@thedillows.org # Add the xfrm offload management calls to struct netdevice. # # xfrm_state_add() is called for inbound xfrm states # xfrm_bundle_add() is called for outbound xfrm bundles # xfrm_state_del() is called for all offloaded xfrms, # inbound or outbound. # # If a driver adds NETIF_F_IPSEC to its features, it must # provide all three callbacks. # # Signed-off-by: David Dillow # # include/linux/netdevice.h # 2004/12/30 00:28:07-05:00 dave@thedillows.org +11 -0 # Add the xfrm offload management calls to struct netdevice. # # xfrm_state_add() is called for inbound xfrm states # xfrm_bundle_add() is called for outbound xfrm bundles # xfrm_state_del() is called for all offloaded xfrms, # inbound or outbound. # # If a driver adds NETIF_F_IPSEC to its features, it must # provide all three callbacks. # # Signed-off-by: David Dillow # diff -Nru a/include/linux/netdevice.h b/include/linux/netdevice.h --- a/include/linux/netdevice.h 2004-12-30 01:11:56 -05:00 +++ b/include/linux/netdevice.h 2004-12-30 01:11:56 -05:00 @@ -250,6 +250,9 @@ }; #define NETDEV_BOOT_SETUP_MAX 8 +struct xfrm_state; +struct xfrm_offload; +struct xfrm_bundle_list; /* * The DEVICE structure. @@ -415,6 +418,7 @@ #define NETIF_F_VLAN_CHALLENGED 1024 /* Device cannot handle VLAN packets */ #define NETIF_F_TSO 2048 /* Can offload TCP/IP segmentation */ #define NETIF_F_LLTX 4096 /* LockLess TX */ +#define NETIF_F_IPSEC 8192 /* Can offload IPSEC crypto */ /* Called after device is detached from network. */ void (*uninit)(struct net_device *dev); @@ -464,6 +468,13 @@ unsigned short vid); void (*vlan_rx_kill_vid)(struct net_device *dev, unsigned short vid); + + void (*xfrm_state_add)(struct net_device *dev, + struct xfrm_state *x); + void (*xfrm_bundle_add)(struct net_device *dev, + struct xfrm_bundle_list *bl); + void (*xfrm_state_del)(struct net_device *dev, + struct xfrm_offload *xol); int (*hard_header_parse)(struct sk_buff *skb, unsigned char *haddr);