diff options
author | Vlad Yasevich <vyasevic@redhat.com> | 2012-11-15 03:49:12 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-15 17:36:17 -0500 |
commit | de27d001d187721de775ed9e0c485aa6f517c745 (patch) | |
tree | 08947ffb402922f7384e61563d201761171fdbb1 /net/ipv4/af_inet.c | |
parent | 22061d8014455b01eb018bd6c35a1b3040ccc230 (diff) |
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.c | 12 |
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 = { | |||
1566 | .netns_ok = 1, | 1566 | .netns_ok = 1, |
1567 | }; | 1567 | }; |
1568 | 1568 | ||
1569 | static const struct net_offload tcp_offload = { | ||
1570 | .gso_send_check = tcp_v4_gso_send_check, | ||
1571 | .gso_segment = tcp_tso_segment, | ||
1572 | .gro_receive = tcp4_gro_receive, | ||
1573 | .gro_complete = tcp4_gro_complete, | ||
1574 | }; | ||
1575 | |||
1569 | static const struct net_protocol udp_protocol = { | 1576 | static const struct net_protocol udp_protocol = { |
1570 | .handler = udp_rcv, | 1577 | .handler = udp_rcv, |
1571 | .err_handler = udp_err, | 1578 | .err_handler = udp_err, |
@@ -1575,6 +1582,11 @@ static const struct net_protocol udp_protocol = { | |||
1575 | .netns_ok = 1, | 1582 | .netns_ok = 1, |
1576 | }; | 1583 | }; |
1577 | 1584 | ||
1585 | static const struct net_offload udp_offload = { | ||
1586 | .gso_send_check = udp4_ufo_send_check, | ||
1587 | .gso_segment = udp4_ufo_fragment, | ||
1588 | }; | ||
1589 | |||
1578 | static const struct net_protocol icmp_protocol = { | 1590 | static const struct net_protocol icmp_protocol = { |
1579 | .handler = icmp_rcv, | 1591 | .handler = icmp_rcv, |
1580 | .err_handler = ping_err, | 1592 | .err_handler = ping_err, |