• Arnaldo Carvalho de Melo's avatar
    [LLC] use just one struct sock per connection · 269f04b7
    Arnaldo Carvalho de Melo authored
    With this PF_LLC is tightly integrated with the core and that is a
    good thing 8)
    
    . kill llc_ui_opt, the only non-duplicated bit is struct sockaddr_llc
      and this now lives in llc_opt
    . remove debug code from llc_sk_alloc/free (previously llc_sock_alloc/free)
    . the skbs allocated for event processing don't need to have any payload
      at all, just the skb->cb is enough, so remove the bogus 1 from alloc_skb
      calls
    . llc_conn_disc put on death row
    . llc_process_tmr_ev callers have to hold the socket lock
    . the request functions in llc_if.c doesn't hold the socket lock anymore
      its up to its callers on the socket layer (llc_sock.c)
    . llc_sk_alloc now receives a priority for sk_alloc call and is the
      only way to alloc a new sock (from llc_mac and llc_sock, bottom and top)
    . added the traditional struct sock REFCNT_DEBUG support for llc
    . llc_sock was simplified and is on the zen route to cleanliness, wait for
      the next patches, it'll shrink a lot when I zap all the crap (as in
      not needed) list handling, using the existing list maintained in
      struct llc_sap for that, probably splitting it in two, one for listening
      sockets and other for (being) established ones.  Ah, and the sap->ind
      and sap->req and friends will die.
    269f04b7
llc_sock.c 44.5 KB