Pablo Neira Ayuso
065ff79f88
net: ipv4: split skbuff into fragments transformer
...
This patch exposes a new API to refragment a skbuff. This allows you to
split either a linear skbuff or to force the refragmentation of an
existing fraglist using a different mtu. The API consists of:
* ip_frag_init(), that initializes the internal state of the transformer.
* ip_frag_next(), that allows you to fetch the next fragment. This function
internally allocates the skbuff that represents the fragment, it pushes
the IPv4 header, and it also copies the payload for each fragment.
The ip_frag_state object stores the internal state of the splitter.
This code has been extracted from ip_do_fragment(). Symbols are also
exported to allow to reuse this iterator from the bridge codepath to
build its own refragmentation routine by reusing the existing codebase.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-05-30 14:18:17 -07:00
..
9p
9p: Add refcount to p9_req_t
2018-09-08 01:39:47 +09:00
bluetooth
Bluetooth: Ignore CC events not matching the last HCI command
2019-05-05 19:29:04 +02:00
caif
iucv
net/af_iucv: locate IUCV header via skb_network_header()
2018-09-26 09:56:07 -07:00
netfilter
netfilter: add API to manage NAT helpers.
2019-04-30 14:19:55 +02:00
netns
net: Initial nexthop code
2019-05-28 21:37:30 -07:00
nfc
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
phonet
phonet: fix building with clang
2019-02-21 16:23:56 -08:00
sctp
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-05-02 22:14:21 -04:00
tc_act
net: sched: Introduce act_ctinfo action
2019-05-29 21:43:54 -07:00
6lowpan.h
act_api.h
net/sched: let actions use RCU to access 'goto_chain'
2019-03-21 13:26:42 -07:00
addrconf.h
ipv6: Move ipv6 stubs to a separate header file
2019-03-29 10:53:45 -07:00
af_ieee802154.h
af_rxrpc.h
rxrpc: Allow the kernel to mark a call as being non-interruptible
2019-05-16 16:25:20 +01:00
af_unix.h
net: split out functions related to registering inflight socket files
2019-02-28 08:24:23 -07:00
af_vsock.h
ah.h
arp.h
ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled
2019-05-05 11:25:49 -07:00
atmclip.h
ax25.h
ax25: fix possible use-after-free
2019-01-23 11:18:00 -08:00
ax88796.h
bond_3ad.h
bonding: count master 3ad stats separately
2019-01-24 22:18:48 -08:00
bond_alb.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 5
2019-05-21 11:28:40 +02:00
bond_options.h
bonding.h
bonding: avoid possible dead-lock
2018-09-26 20:22:19 -07:00
bpf_sk_storage.h
bpf: Introduce bpf sk local storage
2019-04-27 09:07:04 -07:00
busy_poll.h
calipso.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
cfg80211-wext.h
cfg80211.h
Various updates, notably:
2019-04-26 16:05:52 -04:00
cfg802154.h
checksum.h
Remove 'type' argument from access_ok() function
2019-01-03 18:57:57 -08:00
cipso_ipv4.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
cls_cgroup.h
codel.h
codel_impl.h
codel_qdisc.h
compat.h
net: rework SIOCGSTAMP ioctl handling
2019-04-19 14:07:40 -07:00
datalink.h
dcbevent.h
dcbnl.h
devlink.h
devlink: add warning in case driver does not set port type
2019-05-23 09:18:43 -07:00
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24
2019-05-21 11:52:39 +02:00
dn_route.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24
2019-05-21 11:52:39 +02:00
dsa.h
net: phylink: Add struct phylink_config to PHYLINK API
2019-05-29 21:48:53 -07:00
dsfield.h
dst.h
net: dst: remove gc leftovers
2019-03-21 13:39:25 -07:00
dst_cache.h
dst_metadata.h
dst_ops.h
erspan.h
esp.h
ethoc.h
failover.h
fib_notifier.h
net: fib: drop include of module.h from fib_notifier.h
2019-04-22 21:50:53 -07:00
fib_rules.h
net: Set strict_start_type for routes and rules
2019-05-22 17:50:24 -07:00
firewire.h
flow.h
route: Add multipath_hash in flowi_common to make user-define hash
2019-02-27 12:50:17 -08:00
flow_dissector.h
flow_dissector: switch kernel context to struct bpf_flow_dissector
2019-04-23 18:36:33 +02:00
flow_offload.h
flow_offload: support CVLAN match
2019-05-16 12:02:42 -07:00
fou.h
fq.h
fq_impl.h
mac80211: calculate hash for fq without holding fq->lock in itxq enqueue
2019-04-26 13:02:11 +02:00
garp.h
gen_stats.h
net: align gnet_stats_basic_cpu struct
2018-11-17 21:37:29 -08:00
genetlink.h
genetlink: optionally validate strictly/dumps
2019-04-27 17:07:22 -04:00
geneve.h
net: Move the definition of the default Geneve udp port to public header file
2019-03-22 12:09:31 -07:00
gre.h
net: Add netif_is_gretap()/netif_is_ip6gretap()
2018-12-10 15:53:04 -08:00
gro_cells.h
gtp.h
gue.h
hwbm.h
icmp.h
net: Add __icmp_send helper.
2019-02-25 14:32:35 -08:00
ieee80211_radiotap.h
wireless-drivers-next patches for 5.1
2019-02-22 12:56:24 -08:00
ieee802154_netdev.h
if_inet6.h
net/ipv6: Add anycast addresses to a global hashtable
2018-11-02 23:54:56 -07:00
ife.h
net: ife: drop include of module.h from net/ife.h
2019-04-22 21:50:53 -07:00
ila.h
inet6_connection_sock.h
inet6_hashtables.h
net: allow binding socket in a VRF when there's an unbound socket
2018-11-07 16:12:38 -08:00
inet_common.h
net: use indirect call wrappers at GRO transport layer
2018-12-15 13:23:02 -08:00
inet_connection_sock.h
tcp: change pingpong threshold to 3
2019-01-27 13:29:43 -08:00
inet_ecn.h
inet: Refactor INET_ECN_decapsulate()
2018-10-17 17:45:07 -07:00
inet_frag.h
inet: frags: fix use-after-free read in inet_frag_destroy_rcu
2019-05-28 17:22:15 -07:00
inet_hashtables.h
net: dccp: fix kernel crash on module load
2018-12-24 15:27:56 -08:00
inet_sock.h
net: ensure unbound stream socket to be chosen when not in a VRF
2018-11-07 16:12:38 -08:00
inet_timewait_sock.h
inetpeer.h
net: ipv4: use a dedicated counter for icmp_v4 redirect packets
2019-02-08 21:50:15 -08:00
ip.h
net: ipv4: split skbuff into fragments transformer
2019-05-30 14:18:17 -07:00
ip6_checksum.h
ip6_fib.h
ipv6: Make fib6_nh optional at the end of fib6_info
2019-05-24 13:26:44 -07:00
ip6_route.h
ipv6: Make fib6_nh optional at the end of fib6_info
2019-05-24 13:26:44 -07:00
ip6_tunnel.h
udp: Support for error handlers of tunnels with arbitrary destination port
2018-11-08 17:13:08 -08:00
ip_fib.h
ipv4: Rename and export nh_update_mtu
2019-05-22 17:48:44 -07:00
ip_tunnels.h
route: Add multipath_hash in flowi_common to make user-define hash
2019-02-27 12:50:17 -08:00
ip_vs.h
ipvs: allow tunneling with gue encapsulation
2019-04-08 22:57:59 +02:00
ipcomp.h
ipconfig.h
ipv6.h
net: ipv6: add skbuff fraglist splitter
2019-05-30 14:18:17 -07:00
ipv6_frag.h
ip6: fix skb leak in ip6frag_expire_frag_queue()
2019-05-05 10:40:24 -07:00
ipv6_stubs.h
ipv6: export function to send route updates
2019-05-22 17:48:43 -07:00
ipx.h
iw_handler.h
kcm.h
l3mdev.h
ipvlan, l3mdev: fix broken l3s mode wrt local routes
2019-01-30 22:13:34 -08:00
lag.h
lapb.h
lib80211.h
llc.h
llc: avoid blocking in llc_sap_close()
2018-09-13 09:04:58 -07:00
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
lwtunnel.h
lwtunnel: Pass encap and encap type attributes to lwtunnel_fill_encap
2019-04-23 19:42:29 -07:00
mac80211.h
Various updates, notably:
2019-04-26 16:05:52 -04:00
mac802154.h
mip6.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
mld.h
mpls.h
mpls_iptunnel.h
mrp.h
ncsi.h
ndisc.h
ipv6: Add neighbor helpers that use the ipv6 stub
2019-04-08 15:22:40 -07:00
neighbour.h
net ipv6: Prevent neighbor add if protocol is disabled on device
2019-04-17 23:19:07 -07:00
net_failover.h
net_namespace.h
net: Initial nexthop code
2019-05-28 21:37:30 -07:00
net_ratelimit.h
netevent.h
netlabel.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
netlink.h
netlink: add validation of NLA_F_NESTED flag
2019-05-04 01:27:11 -04:00
netprio_cgroup.h
netrom.h
net: netrom: Fix error cleanup path of nr_proto_init
2019-04-11 13:59:49 -07:00
nexthop.h
nexthop: Add support for nexthop groups
2019-05-28 21:37:30 -07:00
nl802154.h
nsh.h
p8022.h
page_pool.h
ping.h
pkt_cls.h
net/sched: remove block pointer from common offload structure
2019-05-07 12:23:40 -07:00
pkt_sched.h
net: sched: extend Qdisc with rcu
2018-09-25 20:17:35 -07:00
pptp.h
protocol.h
net: Convert protocol error handlers from void to int
2018-11-08 17:13:08 -08:00
psample.h
net: psample: drop include of module.h from psample.h
2019-04-22 21:50:53 -07:00
psnap.h
raw.h
net: fix raw socket lookup device bind matching with VRFs
2018-11-07 16:12:39 -08:00
rawv6.h
red.h
regulatory.h
cfg80211: make wmm_rule part of the reg_rule structure
2018-08-28 11:11:47 +02:00
request_sock.h
tcp: free request sock directly upon TFO or syncookies error
2019-03-19 14:13:01 -07:00
rose.h
route.h
ipv4: Add helpers for neigh lookup for nexthop
2019-04-08 15:22:41 -07:00
rsi_91x.h
rtnetlink.h
net: Add extack argument to rtnl_create_link
2018-11-06 15:00:45 -08:00
rtnh.h
net: Rename net/nexthop.h net/rtnh.h
2019-04-22 21:47:25 -07:00
sch_generic.h
flow_dissector: switch kernel context to struct bpf_flow_dissector
2019-04-23 18:36:33 +02:00
scm.h
secure_seq.h
seg6.h
net: seg6.h: remove an unused #include
2018-12-20 16:56:04 -08:00
seg6_hmac.h
seg6_local.h
slhc_vj.h
smc.h
net/smc: add smcd support to the pnet table
2019-02-21 10:34:37 -08:00
snmp.h
sock.h
tcp: do not recycle cloned skbs
2019-05-15 09:22:41 -07:00
sock_reuseport.h
Space.h
stp.h
strparser.h
switchdev.h
switchdev: Remove unused transaction item queue
2019-03-01 21:35:19 -08:00
tcp.h
tcp: add backup TFO key infrastructure
2019-05-30 13:41:26 -07:00
tcp_states.h
timewait_sock.h
tipc.h
tls.h
net/tls: byte swap device req TCP seq no upon setting
2019-04-27 16:52:21 -04:00
transp_v6.h
tso.h
tun_proto.h
udp.h
datagram: remove rendundant 'peeked' argument
2019-04-08 09:51:54 -07:00
udp_tunnel.h
ipv6: Move ipv6 stubs to a separate header file
2019-03-29 10:53:45 -07:00
udplite.h
vsock_addr.h
vxlan.h
net: Add IANA_VXLAN_UDP_PORT definition to vxlan header file
2019-03-22 12:09:31 -07:00
wext.h
wimax.h
x25.h
x25device.h
xdp.h
xdp: export xdp_rxq_info_unreg_mem_model
2018-08-29 12:25:53 -07:00
xdp_sock.h
xsk: fix umem memory leak on cleanup
2019-03-16 01:27:51 +01:00
xfrm.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2019-05-07 22:03:58 -07:00