summaryrefslogtreecommitdiff
path: root/net/llc
AgeCommit message (Collapse)Author
2005-03-26[NET] make all protos partially use sk_protArnaldo Carvalho de Melo
sk_alloc_slab becomes proto_register, that receives a struct proto not necessarily completely filled, but at least with the proto name, owner and obj_size (aka proto specific sock size), with this we can remove the struct sock sk_owner and sk_slab, using sk->sk_prot->{owner,slab} instead. This patch also makes sk_set_owner not necessary anymore, as at sk_alloc time we have now access to the struct proto onwer and slab members, so we can bump the module refcount exactly at sock allocation time. Another nice "side effect" is that this patch removes the generic sk_cachep slab cache, making the only last two protocols that used it use just kmalloc, informing a struct proto obj_size equal to sizeof(struct sock). Ah, almost forgot that with this patch it is very easy to use a slab cache, as it is now created at proto_register time, and all protocols need to use proto_register, so its just a matter of switching the second parameter of proto_register to '1', heck, this can be done even at module load time with some small additional patch. Another optimization that will be possible in the future is to move the sk_protocol and sk_type struct sock members to struct proto, but this has to wait for all protocols to move completely to sk_prot. This changeset also introduces /proc/net/protocols, that lists the registered protocols details, some may seem excessive, but I'd like to keep them while working on further struct sock hierarchy work and also to realize which protocols are old ones, i.e. that still use struct proto_ops, etc, yeah, this is a bit of an exaggeration, as all protos still use struct proto_ops, but in time the idea is to move all to use sk->sk_prot and make the proto_ops infrastructure be shared among all protos, reducing one level of indirection. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-03-16[NET] Convert sk_zapped into SOCK_ZAPPED flagThomas Graf
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-01-20[LLC] stop using sk_protinfoArnaldo Carvalho de Melo
Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-01-13[NET]: Lock initializer cleanup.Thomas Gleixner
Use the new lock initializers DEFINE_SPIN_LOCk and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2004-12-27[LLC]: llc_sap_list_lock really does need to be exported.David S. Miller
For the case where CONFIG_LLC2 is modular and thus llc_proc.c needs to get at this symbol. Signed-off-by: David S. Miller <davem@davemloft.net>
2004-12-27[LLC]: Staticize and remove unnecessary functions and exports.Adrian Bunk
The patch below contains the following possible cleanups: - make some needlessly global code static - remove the following unused global functions: - lc_c_ac.c: llc_conn_ac_report_status - lc_c_ac.c: llc_conn_ac_send_dm_rsp_f_set_f_flag - lc_c_ac.c: llc_conn_ac_resend_i_cmd_p_set_1 - lc_c_ac.c: llc_conn_ac_resend_i_cmd_p_set_1_or_send_rr - lc_c_ac.c: llc_conn_ac_send_ack_cmd_p_set_1 - lc_c_ac.c: llc_conn_ac_send_ua_rsp_f_set_f_flag - lc_c_ac.c: llc_conn_ac_set_f_flag_p - llc_c_ev.c: llc_conn_ev_conn_resp - llc_c_ev.c: llc_conn_ev_rst_resp - llc_c_ev.c: llc_conn_ev_rx_xxx_cmd_pbit_set_0 - llc_c_ev.c: llc_conn_ev_rx_xxx_yyy - llc_c_ev.c: llc_conn_ev_any_tmr_exp - llc_c_ev.c: llc_conn_ev_qlfy_init_p_f_cycle - llc_c_ev.c: llc_conn_ev_qlfy_set_status_impossible - llc_c_ev.c: llc_conn_ev_qlfy_set_status_received - llc_if.c: llc_build_and_send_reset_pkt - llc_pdu.c: llc_pdu_decode_cr_bit - remove the following unneeded EXPORT_SYMBOL: - llc_core.c: llc_sap_list_lock Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2004-10-06[LLC] set mac.raw if tr_source_route is calledArnaldo Carvalho de Melo
Thanks to Thomas Graf for spotting this. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@redhat.com>
2004-10-06[SKBUFF] introduce tr_hdr(skb)Arnaldo Carvalho de Melo
The token ring code in the kernel is bitrotting (no surprise :) ), it uses skb->data all around... I have an assortment of token ring cards but no MAU, can anybody send me one, please? I promise to make ssh work over LLC over Token Ring networks! Duh... :o) Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@redhat.com>
2004-10-06[SKBUFF] use eth_hdr(skb), skb->mac.raw casesArnaldo Carvalho de Melo
Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@redhat.com>
2004-09-21[SOCK] remove sk_pair, only really used by AF_UNIXArnaldo Carvalho de Melo
Added ->peer to struct unix_sock Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@redhat.com>
2004-05-30[PATCH] sparse: dev_ioctl() callersAlexander Viro
dev_ioctl() has a __user pointer argument; however, its declaration lacks that and callers are also wrong. Declaration fixed, callers updated.
2004-05-29[PATCH] sparse: ->[gs]etsockopt() annotationAlexander Viro
optval (and in case of getsockopt - optlen) made __user, changes percolated down into the instances.
2004-01-24[LLC]: Do not use lvalue in assignment.Andrew Morton
2004-01-08[LLC]: Use size_t for size in {send,recv}msg.Stephen Hemminger
2003-11-01[LLC]: fix client side after sockaddr_llc fixupArnaldo Carvalho de Melo
2003-11-01[LLC]: fix procfs reading when there are saps without socketsArnaldo Carvalho de Melo
2003-10-29[LLC]: Fix sockaddr, only need to provide one MAC address not three.Arnaldo Carvalho de Melo
2003-10-28[LLC]: when the user doesn't specifies a local address to connect, do an ↵Arnaldo Carvalho de Melo
autobind Other protocols do this as soon as they discover over what interface the packet will be routed, but LLC isn't routable, so, to provide similar semantics to the other protocols, I'm just binding it to the first interface of the type specified, perhaps we'll need a tunable for this or some sort of routing table done manually by the admin, later we'll see, for now this allows an application like openssh, with patched getaddrinfo/getnameinfo to use PF_LLC sockets with a very small patch.
2003-10-28[LLC]: set local mac addr at connect time when userland left it as zeroesArnaldo Carvalho de Melo
2003-10-28[LLC]: fix bug that prevented fcntl(O_NONBLOCK) from working with PF_LLC socketsArnaldo Carvalho de Melo
2003-10-28[LLC]: fix net_device refcounting bugArnaldo Carvalho de Melo
2003-10-28[LLC]: llc_lookup_listener has to consider the 'any' mac addressArnaldo Carvalho de Melo
2003-10-28[LLC]: Fix oops in procf handling.Arnaldo Carvalho de Melo
2003-10-27[LLC]: In llc_ui_connect(), return error properly when device not found.Arnaldo Carvalho de Melo
2003-10-27[LLC]: Fix array indexing in llc_add_pack().Arnaldo Carvalho de Melo
2003-10-20[LLC]: Make LLC2 compile with PROC_FS=nDavid S. Miller
2003-10-06[NET]: Delete support for old-style protocols, no longer necessary.David S. Miller
2003-09-24[NET]: Add and use PKT_CAN_SHARE_SKB instead of (void *) 1.Joe Perches
2003-09-23[LLC]: llc_output.c needs linux/trdevice.hStephen Hemminger
2003-09-21Merge bk://kernel.bkbits.net/acme/llc-2.6David S. Miller
into nuts.ninka.net:/disk1/davem/BK/net-2.5
2003-09-21o LLC: remove unneeded EXPORT_SYMBOLs from llc_sapArnaldo Carvalho de Melo
Now all is in llc2.ko, so no need for exporting those symbols. Also llc_build_and_send_ui_pkt is now in llc_output.c, where it is being exported.
2003-09-21[LLC]: llc_core.c needs linux/init.hDavid S. Miller
2003-09-20o LLC: use list_for_each_entry in llc_sap_findArnaldo Carvalho de Melo
2003-09-19o LLC: llc_station.h is not useful anymore, kill itArnaldo Carvalho de Melo
Some defines had no place in this header, moved to llc_conn.h, the struct llc_station, that probably will disappear in the near future, is used only in llc_station.c, so remove one more file from the include forest.
2003-09-19o LLC: consolidate the LLC station component into llc_station.cArnaldo Carvalho de Melo
Deleting llc_actn.[ch], llc_evnt.[ch] & llc_stat.[ch], now it is clearly separated from the rest and lots of previously externally visible thru headers stuff is nicely restrained in this file. Also remove the silly passing around of pointers to llc_main_station, use it directly.
2003-09-19o LLC: reorganize llc_station.c to kill useless static prototypesArnaldo Carvalho de Melo
2003-09-19o LLC: rename llc_main.[ch] to llc_station.[ch]Arnaldo Carvalho de Melo
First step at coalescing the station handling into just one file, killing some useless headers in the process.
2003-09-19o LLC: trim down llc_core to the very basic support needed by IPX et allArnaldo Carvalho de Melo
Renaming the basic support module to llc.ko and introducing llc_core.c, that has just the basic output path for llc_build_and_send_ui_pkt. Next step will be to rename llc_main.c to llc_station.c, then consolidate all the llc station code in this file, removing all the not needed llc_station parameters and killing struct llc_station altogether, no sense in having it as there is just one station, always. BTW in this changeset parts of llc_main_station was already moved to llc_core.c, namely the sap list and lock.
2003-09-19o LLC: rename llc_mac.c to llc_input.c, net/llc_mac.h to net/llc.hArnaldo Carvalho de Melo
Next step: to have llc_build_and_send_ui_pkt in llc_output.c, not using the silly sap state machinery.
2003-09-18o LLC: create a register interface for llc_station_rcvArnaldo Carvalho de Melo
2003-09-17o LLC: create llc_output and move lan_hdrs_init to itArnaldo Carvalho de Melo
Renaming lan_hdrs_init to llc_mac_hdr_init and making all places check if it fails.
2003-09-17o LLC: add some unlikely wrappings in llc_macArnaldo Carvalho de Melo
Also rename fix_up_incoming_skb to llc_fixup_skb, to be more namespace friendly. Ah, make it inline too.
2003-09-16o LLC: split llc into llc_core and llc2 modulesArnaldo Carvalho de Melo
For this some more functions had to be moved around, now one doesn't have to explicitely select LLC to have access in the menu to ipx, appletalk, token ring, etc. This is not yet as good as I want it to be, but at least makes it easier for the hordes of users to select stuff, making it look more like how it was in 2.4. In the next changesets I'll fix the fact that CONFIG_TR is a bool and makes psnap, p8022 and llc_core to be built statically even tho the token ring drivers are being build as modules.
2003-09-16o LLC: implement llc_add_pack/llc_remove_packArnaldo Carvalho de Melo
2003-09-16o LLC: move the pdu routines needed by the upcoming llc_core to llc_pdu.hArnaldo Carvalho de Melo
Making them inline, as they are small enough and some very seldomly used.
2003-09-16o LLC: move llc_lookup_dgram to llc_sapArnaldo Carvalho de Melo
Also move llc_save_primitive to llc_sap, almost untangling the LLC2 stack from the core.
2003-09-16o LLC: move llc_build_and_send_ui_pkt to llc_sapArnaldo Carvalho de Melo
2003-09-16o LLC: move the sockets release function outside of llc_sap_closeArnaldo Carvalho de Melo
2003-09-16o LLC: move sap functions to llc_sapArnaldo Carvalho de Melo
2003-09-16o LLC: move the connection related functions to llc_connArnaldo Carvalho de Melo