• Pablo Neira Ayuso's avatar
    net: ipv4: add skbuff fraglist splitter · c8b17be0
    Pablo Neira Ayuso authored
    This patch adds the skbuff fraglist splitter. This API provides an
    iterator to transform the fraglist into single skbuff objects, it
    consists of:
    
    * ip_fraglist_init(), that initializes the internal state of the
      fraglist splitter.
    * ip_fraglist_prepare(), that restores the IPv4 header on the
      fragments.
    * ip_fraglist_next(), that retrieves the fragment from the fraglist and
      it updates the internal state of the splitter to point to the next
      fragment skbuff in the fraglist.
    
    The ip_fraglist_iter object stores the internal state of the iterator.
    
    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: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c8b17be0
ip_output.c 40.7 KB