summaryrefslogtreecommitdiff
path: root/net/ipv4/af_inet.c
diff options
context:
space:
mode:
authorVlad Yasevich <vyasevic@redhat.com>2012-11-15 12:49:12 +0400
committerDavid S. Miller <davem@davemloft.net>2012-11-16 02:36:17 +0400
commitde27d001d187721de775ed9e0c485aa6f517c745 (patch)
tree08947ffb402922f7384e61563d201761171fdbb1 /net/ipv4/af_inet.c
parent22061d8014455b01eb018bd6c35a1b3040ccc230 (diff)
downloadlinux-de27d001d187721de775ed9e0c485aa6f517c745.tar.xz
net: Add net protocol offload registration infrustructure
Create a new data structure for IPv4 protocols that holds GRO/GSO callbacks and a new array to track the protocols that register GRO/GSO. Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/af_inet.c')
-rw-r--r--net/ipv4/af_inet.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 4c99c5fdba3f..3918d869d6d4 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1566,6 +1566,13 @@ static const struct net_protocol tcp_protocol = {
.netns_ok = 1,
};
+static const struct net_offload tcp_offload = {
+ .gso_send_check = tcp_v4_gso_send_check,
+ .gso_segment = tcp_tso_segment,
+ .gro_receive = tcp4_gro_receive,
+ .gro_complete = tcp4_gro_complete,
+};
+
static const struct net_protocol udp_protocol = {
.handler = udp_rcv,
.err_handler = udp_err,
@@ -1575,6 +1582,11 @@ static const struct net_protocol udp_protocol = {
.netns_ok = 1,
};
+static const struct net_offload udp_offload = {
+ .gso_send_check = udp4_ufo_send_check,
+ .gso_segment = udp4_ufo_fragment,
+};
+
static const struct net_protocol icmp_protocol = {
.handler = icmp_rcv,
.err_handler = ping_err,