<feed xmlns='http://www.w3.org/2005/Atom'>
<title>teythoon/hurd.git/pfinet/linux-src/net/core, branch master</title>
<subtitle>Personal Hurd development repository</subtitle>
<id>https://darnassus.sceen.net/cgit/teythoon/hurd.git/atom?h=master</id>
<link rel='self' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/'/>
<updated>2013-11-09T13:47:24Z</updated>
<entry>
<title>Normalize whitespace at the end of each file to '\n'</title>
<updated>2013-11-09T13:47:24Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2013-11-08T10:26:42Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=057c04d1157322c235872e412bcc22487858c5af'/>
<id>urn:sha1:057c04d1157322c235872e412bcc22487858c5af</id>
<content type='text'>
Some files were not normalized. In console/motd.UTF8 the additional
newline is intentional. Empty files were excluded as well.
</content>
</entry>
<entry>
<title>Fix tunnel and dummy interfaces</title>
<updated>2013-03-26T00:01:04Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2013-03-26T00:01:04Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=0992a61cafb0f3def3b6997f7c3670a4474f479b'/>
<id>urn:sha1:0992a61cafb0f3def3b6997f7c3670a4474f479b</id>
<content type='text'>
* pfinet/linux-src/include/linux/netdevice.h (netdevice): Add `change_flags'
field.
* pfinet/ethernet.c (ethernet_change_flags): Make function static.
(setup_ethernet_device): Set `change_flags' field of `dev' to
ethernet_change_flags.
* pfinet/linux-src/net/core/dev.c (dev_change_flags): Call `change_flags'
field of `dev' if non-nul, instead of calling ethernet_change_flags.
* pfinet/pfinet.h (ethernet_change_flags): Remove function prototype.
</content>
</entry>
<entry>
<title>Always set flags on ethernet interface</title>
<updated>2013-02-24T00:11:55Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2013-02-24T00:11:55Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=25b928645df760156a58aa707da56eae66a4ae77'/>
<id>urn:sha1:25b928645df760156a58aa707da56eae66a4ae77</id>
<content type='text'>
* pfinet/linux-src/net/core/dev.c (dev_change_flags): Call
ethernet_change_flags.
* pfinet/iioctl-ops.c (S_iioctl_siocsifflags): Do not call
ethernet_change_flags after calling dev_change_flags.
</content>
</entry>
<entry>
<title>fix common misspellings</title>
<updated>2011-08-20T16:36:33Z</updated>
<author>
<name>Jonathan Neuschäfer</name>
<email>j.neuschaefer@gmx.net</email>
</author>
<published>2011-08-15T20:10:09Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=c0eaf0fad88f15c843098a43ca2cadbf009ce094'/>
<id>urn:sha1:c0eaf0fad88f15c843098a43ca2cadbf009ce094</id>
<content type='text'>
 * Fix spelling with codespell[1] and manually review it.

[1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
</content>
</entry>
<entry>
<title>hurd/</title>
<updated>2001-01-11T22:28:29Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>marcus@gnu.org</email>
</author>
<published>2001-01-11T22:28:29Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=2a0220f19b262f122bc8dc7b68e6f4c0a5a16cae'/>
<id>urn:sha1:2a0220f19b262f122bc8dc7b68e6f4c0a5a16cae</id>
<content type='text'>
2001-01-07  Marcus Brinkmann  &lt;marcus@gnu.org&gt;

	* ioctl_types.h: Include &lt;net/if.h&gt;, define types sockaddr_t and
	ifname_t for iioctl.defs.
	* iioctl.defs: New file for network interface ioctls.
	* pfinet.defs: Remove old RPCs, fix subsystem number, add RPC for
	SIOCGIFCONF.

pfinet/
2001-01-07  Marcus Brinkmann  &lt;marcus@gnu.org&gt;

	* pfinet-ops.c: New file to implement hurd/pfinet.defs.

	* iioctl-ops.c: New file to implement iioctl.defs.
	* linux-src/net/core/dev.c: If _HURD_, don't define netdev_chain as
	static.

	* glue-include/linux/if.h: New file, to avoid conflict between
	&lt;net/if.h&gt; (imported by iioctl.defs) and linux version of it.

	* main.c (pfinet_demuxer): Prototype pfinet_server and
	iioctl_server, use them.

	* pfinet.h: New global variables pfinetctl, pfinet_owner
	and pfinet_group.
	* main.c (main): New variable ST. Request pfinetctl from
	trivfs_startup. Use it to determine the owner and group
	of the underlying node.
	* io-ops.c (S_io_reauthenticate): New index variable j. Set
	newuser-&gt;isroot also for owners of the underlying file and
	group owners.
	(S_io_restrict_auth): Likewise.
	* socket-ops.c: Include &lt;sys/stat.h&gt; and &lt;hurd/fshelp.h&gt;.
	(S_socket_create): New variable isroot. If master-&gt;isroot is
	not set, use fshelp_isowner to check ownership and if to set it.
	Pass isroot to make_sock_user instead master-&gt;isroot.

	* linux-src/net/ipv4/devinet.c (configure_device): Accept new parameter
	BROADCAST, set ifa_broadcast if this is not INADDR_NONE.
	(inquire_device): Accept new parameter broadcast, set it.
	* main.c: Add new paramter to prototype of configure_device.
	(main): Add new parameter to call to configure_device.
	* options.c: Add new parameters to prototypes of configure_device
	and inquire_device.
	(trivfs_append_args): Define new variable BROAD, use its address
	as the new parameter for inquire_device.

	* linux-src/net/core/dev.c (dev_ifconf): Don't declare static
	if _HURD_.
	* linux-src/net/ipv4/devinet.c (inet_gifconf): If _HURD_, set
	sin_len member.

	* Makefile (MIGSRCS): Add pfinetServer.c and iioctlServer.c.
	(SRCS): Add pfinet-ops.c, iioctl-ops.c.
</content>
</entry>
<entry>
<title>* linux-src/net/core/dev.c (net_bh) [_HURD_]: Leave out the code</title>
<updated>2000-07-26T17:47:20Z</updated>
<author>
<name>Mark Kettenis</name>
<email>kettenis@gnu.org</email>
</author>
<published>2000-07-26T17:47:20Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=c402dc0d3e123f784d01888d89f20e57da8bc53d'/>
<id>urn:sha1:c402dc0d3e123f784d01888d89f20e57da8bc53d</id>
<content type='text'>
that gives other bottom halves a chance to run; the network bottom
half is the only one present in pfinet.
</content>
</entry>
<entry>
<title>Merge Linux_2_2_13 -&gt; Linux_2_2_14 changes</title>
<updated>2000-02-05T12:24:31Z</updated>
<author>
<name>Roland McGrath</name>
<email>roland@gnu.org</email>
</author>
<published>2000-02-05T12:24:31Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=9f3e44843d354432de49e01a1c954d556c678e20'/>
<id>urn:sha1:9f3e44843d354432de49e01a1c954d556c678e20</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge Linux_2_2_12 -&gt; Linux_2_2_13 changes</title>
<updated>2000-02-05T12:16:04Z</updated>
<author>
<name>Roland McGrath</name>
<email>roland@gnu.org</email>
</author>
<published>2000-02-05T12:16:04Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=a60df9686250648ac13f559e98ebdc1422146494'/>
<id>urn:sha1:a60df9686250648ac13f559e98ebdc1422146494</id>
<content type='text'>
</content>
</entry>
<entry>
<title>2000-02-03  Roland McGrath  &lt;roland@baalperazim.frob.com&gt;</title>
<updated>2000-02-04T06:32:39Z</updated>
<author>
<name>Roland McGrath</name>
<email>roland@gnu.org</email>
</author>
<published>2000-02-04T06:32:39Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=db9a26cbd125ec106e040ea6084911f9bc0c0198'/>
<id>urn:sha1:db9a26cbd125ec106e040ea6084911f9bc0c0198</id>
<content type='text'>
	Complete overhaul of pfinet based on the IPv4 networking code from the
	Linux 2.2.12 kernel sources.  This page describes a single unified set
	of interdependent changes, but there are so many changes that I have
	broken up the log entry into paragraphs based on rough topical
	divisions of the work involved.

	Subset of verbatim Linux 2.2.12 sources imported on a vendor branch.
	* linux-src: New directory, see README for details.
	* README: New file, describes linux-src layout and procedures for
	tracking Linux source updates.

	Light modifications to linux-src files to avoid really bending over
	backwards with the glue macros.  All modifications to files in
	linux-src are conditionalized by #ifdef _HURD_.
	* linux-src/include/linux/net.h [_HURD_] (struct socket): New members
	refcnt and identity; elide members fasync_list, file.
	* linux-src/include/linux/rtnetlink.h [! CONFIG_RTNETLINK]
	(rtnl_shlock, rtnl_shunlock) [! _HURD_]: Conditionalize contents on
	this, making these no-ops #ifdef _HURD_.
	* linux-src/net/core/dev.c [_HURD_] (dev_ioctl): Don't define the
	function, instead #define it to 0.
	* linux-src/net/ipv4/af_inet.c [_HURD_] (inet_ioctl): Likewise.
	* linux-src/net/ipv4/arp.c [_HURD_] (arp_ioctl): Likewise.
	* linux-src/net/ipv4/udp.c [_HURD_] (udp_ioctl): Likewise.
	* linux-src/net/ipv4/tcp.c [_HURD_] (tcp_ioctl): Likewise.
	[_HURD_] (tcp_tiocinq): New function, TIOCINQ code from tcp_ioctl.
	* linux-src/net/ipv4/devinet.c [_HURD_] (devinet_ioctl): Don't define
	the function, instead #define it to 0.
	[_HURD_] (configure_device): New function, cobbled from SIOCSIFADDR
	and SIOCSIFNETMASK code from devinet_ioctl.

	* glue-include/asm, glue-include/linux: New directories.
	These contain glue kludge headers that replace all of the
	Linux &lt;asm/*.h&gt; headers except checksum.h, and several of
	the Linux &lt;linux/*.h&gt; headers (the remainder come from
	linux-src/include/linux and are mostly unmodified).
	* glue-include/asm/atomic.h: New file, glue replacement header.
	* glue-include/asm/bitops.h: New file, glue replacement header.
	* glue-include/asm/byteorder.h: New file, glue replacement header.
	* glue-include/asm/checksum.h: New file, glue replacement header.
	* glue-include/asm/errno.h: New file, glue replacement header.
	* glue-include/asm/hardirq.h: New file, glue replacement header.
	* glue-include/asm/init.h: New file, glue replacement header.
	* glue-include/asm/segment.h: New file, glue replacement header.
	* glue-include/asm/spinlock.h: New file, glue replacement header.
	* glue-include/asm/system.h: New file, glue replacement header.
	* glue-include/asm/types.h: New file, glue replacement header.
	* glue-include/asm/uaccess.h: New file, glue replacement header.
	* glue-include/linux/autoconf.h: New file, glue replacement header.
	* glue-include/linux/binfmts.h: New file, glue replacement header.
	* glue-include/linux/config.h: New file, glue replacement header.
	* glue-include/linux/errno.h: New file, glue replacement header.
	* glue-include/linux/fcntl.h: New file, glue replacement header.
	* glue-include/linux/fs.h: New file, glue replacement header.
	* glue-include/linux/in.h: New file, glue replacement header.
	* glue-include/linux/in6.h: New file, glue replacement header.
	* glue-include/linux/interrupt.h: New file, glue replacement header.
	* glue-include/linux/ioctl.h: New file, glue replacement header.
	* glue-include/linux/ipv6.h: New file, glue replacement header.
	* glue-include/linux/kernel.h: New file, glue replacement header.
	* glue-include/linux/limits.h: New file, glue replacement header.
	* glue-include/linux/major.h: New file, glue replacement header.
	* glue-include/linux/malloc.h: New file, glue replacement header.
	* glue-include/linux/mm.h: New file, glue replacement header.
	* glue-include/linux/param.h: New file, glue replacement header.
	* glue-include/linux/personality.h: New file, glue replacement header.
	* glue-include/linux/poll.h: New file, glue replacement header.
	* glue-include/linux/proc_fs.h: New file, glue replacement header.
	* glue-include/linux/sched.h: New file, glue replacement header.
	* glue-include/linux/slab.h: New file, glue replacement header.
	* glue-include/linux/socket.h: New file, glue replacement header.
	* glue-include/linux/sockios.h: New file, glue replacement header.
	* glue-include/linux/stat.h: New file, glue replacement header.
	* glue-include/linux/string.h: New file, glue replacement header.
	* glue-include/linux/termios.h: New file, glue replacement header.
	* glue-include/linux/time.h: New file, glue replacement header.
	* glue-include/linux/timer.h: New file, glue replacement header.
	* glue-include/linux/timex.h: New file, glue replacement header.
	* glue-include/linux/types.h: New file, glue replacement header.
	* glue-include/linux/un.h: New file, glue replacement header.
	* glue-include/linux/version.h: New file, glue replacement header.
	* glue-include/linux/wait.h: New file, glue replacement header.

	* kmem_cache.c: New file.  Glue code replaces Linux kmem_cache_t et al.
	* stubs.c: New file.  No-op functions and stub variables for a few
	things the Linux networking code needs to link.

	* Makefile (core-srcs, arch-lib-srcs, ethernet-srcs, ipv4-srcs): New
	variables, listing sources used from linux-src subdirectories.
	(LINUXSRCS): Define using those.
	(SRCS): Remove devices.c; add kmem_cache.c, stubs.c.
	(UNUSEDSRC): Variable removed.
	(vpath %.c): Remove vpath for $(srcdir)/linux-inet directory.
	Add vpaths for $(srcdir)/linux-src subdirectories.
	(CPPFLAGS): Add -D_HURD_SYSTYPE defining it to $(asm_syntax) as a
	double-quoted string.  Add -I's for glue-include and linux-src/include.

	* pfinet.h: Include &lt;sys/socket.h&gt;, and not &lt;linux/netdevice.h&gt;.
	(master_device): Remove decl.
	(global_lock, packet_queue_lock): Remove common defns.
	(global_lock, net_bh_lock): Declare them as externs.
	(struct sockaddr): Remove len member, make address member just a
	struct sockaddr rather than a 0-length array.
	(setup_loopback_device, become_task_protid, become_task): Remove decls.
	(ethernet_initialize): Declare it.
	(input_work_thread): Remove decl.
	(net_bh_thread): Declare it.
	(tcp_readable): Remove decl.
	(tcp_tiocinq): Declare it.

	* config.h: Rewritten based on Linux 2.2.12 set of CONFIG_* options.
	(CONFIG_NET, CONFIG_INET, CONFIG_SKB_LARGE): These are the only
	Linux config options we set.
	(CONFIG_IP_NOSIOCRT): New macro (not a proper config option, but
	used conveniently in the code).
	* ethernet.c (ethernet_set_multi): Take only one parameter.
	Remove assert, since we always get passed IGMP_ALL_HOSTS.
	(ethernet_thread): Make static.
	(ethernet_demuxer): Use __mutex_lock in place of mutex_lock, so as to
	get cthreads instead of linux/spinlock.h glue macros.  Lock
	net_bh_lock instead of global_lock.  Set SKB-&gt;protocol with
	eth_type_trans before calling netif_rx.
	(ethernet_initialize): New function, one-time initialization broken
	out of ethernet_open.
	(ethernet_open): Ports setup moved to ethernet_initialize.
	Don't use `errno' to avoid glue conflicts.
	Use get_privileged_ports here to get the master device port, and
	deallocate it after calling device_open.
	(ethernet_xmit): Use assert_perror.  Only one arg to dev_kfree_skb now.
	(setup_ethernet_device): Change initializations for structure changes.
	Call dev_init_buffers and register_netdevice on the device.
	* timer-emul.c (all functions): Use __mutex_lock instead of mutex_lock.
	Adjust for renaming of `prevp' member to `prev' in struct timer_list.
	(mod_timer): New function.
	* socket.c (proto_ops): Variable removed.
	(net_families): New variable replaces it.
	(sock_register): Rewritten for new calling convention, set
	net_families rather than proto_ops.
	(make_sock_user, clean_socketport, sock_alloc, sock_release):
	Functions moved here from misc.c.
	* sched.c (packet_queue_lock): Variable removed.
	(net_bh_lock, net_bh_wakeup): New variables.
	(current): Variable removed (now a macro in the glue headers).
	(interruptible_sleep_on, wake_up_interruptible): Functions removed.
	They are replaced by inlines in the glue headers.
	(become_task, become_task_protid): Functions removed; they are
	replaced by macros in glue-include/linux/sched.h.
	(net_bh_worker): New function.
	* loopback.c: Completely rewritten, mostly copied from linux-2.2.12's
	drivers/net/loopback.c source file.

	* io-ops.c (all functions): Use __mutex_lock in place of mutex_lock.
	(S_io_write): Call ops-&gt;sendmsg instead of ops-&gt;write,
	which no longer exists.  If O_NONBLOCK is set, set MSG_DONTWAIT in
	msg_flags.
	(S_io_read): Call ops-&gt;recvmsg instead of ops-&gt;read,
	which no longer exists  If O_NONBLOCK is set, pass MSG_DONTWAIT.
	(S_io_readable): Use USER-&gt;sock-&gt;data in place of USER-&gt;sock-&gt;sk.
	For SOCK_STREAM and SOCK_SEQPACKET types, call tcp_tiocinq.
	(S_io_set_all_openmodes, S_io_get_openmodes, S_io_set_some_openmodes,
	S_io_clear_some_openmodes): Member USER-&gt;sock-&gt;userflags is now
	renamed USER-&gt;sock-&gt;flags.
	(S_io_select): Completely rewritten using ops-&gt;poll.
	(select_wait): Function removed.
	(S_io_stat): Set st_mode to reflect S_IFSOCK.
	* socket-ops.c (all functions): Use __mutex_lock instead of mutex_lock.
	(S_socket_create): Don't set SOCK-&gt;ops or call SOCK-&gt;ops-&gt;create.
	Instead, call net_families[PF_INET]-&gt;create.
	(S_socket_listen): Remove extra checks; just call ops-&gt;listen.
	(S_socket_accept): Remove extra checks before ops-&gt;accept call.
	Avoid use of goto.
	(S_socket_connect): Remove extra checks; just call ops-&gt;connect.
	(S_socket_bind): Adjust for struct sock_addr changes.
	(S_socket_create_address): Likewise.
	(S_socket_whatis_address): Likewise.
	(S_socket_connect2): Don't diddle data structures after
	ops-&gt;socketpair call.
	(S_socket_getopt): Use sock_getsockopt if LEVEL is SOL_SOCKET.
	Accept any data size, not just sizeof (int).
	(S_socket_setopt): Use sock_setsockopt if LEVEL is SOL_SOCKET.
	(S_socket_send): Always use ops-&gt;sendmsg instead of ops-&gt;send or
	ops-&gt;sendto, which no longer exist.  If O_NONBLOCK is set, set
	MSG_DONTWAIT in msg_flags.
	(S_socket_recv): Always use ops-&gt;recvmsg instead of ops-&gt;recv, which
	no longer exists.  If O_NONBLOCK is set, set MSG_DONTWAIT in flags.
	Check for error from S_socket_create_address.

	* main.c (find_device): Don't try to set ether_dev.pa_mask (it's gone).
	(main): Don't call init_devices.  Call ethernet_initialize.
	Start net_bh_worker instead of input_work_thread.  Don't call
	setup_loopback_device.  Instead, take global_lock, do prepare_current,
	and then call sk_init, skb_init, inet_proto_init, and net_dev_init.
	Keep global_lock held while calling argp_parse.
	Call arrange_shutdown_notification only after all that.
	Fix error call for "contacting parent" to pass ERR instead of errno.
	* options.c (ADDR): #undef before defining macro.
	(parse_opt): #if 0 out EDESTADDRREQ check (I don't understand it).
	To apply settings, call configure_devices.
	(ADD_ADDR_OPT): #if 0 --address and --netmask options.  Needs fixed.
	* misc.c (make_sock_user, clean_socketport, sock_alloc, sock_release):
	Functions moved to socket.c.
	(sock_release_peer): Function removed.
	(make_sockaddr_port): Use struct sockaddr_storage to size buffer.
	Fix size calculation for new struct sock_addr layout.
	Initialize sa_family and sa_len of new struct sock_addr.

	Remove the old Linux (2.0.??) network stack and the glue code for it.
	* linux-inet, asm, linux: Directories and all files removed.
	Some of the new files in glue-include came from the old glue headers
	in the asm and linux directories, but most were substantially modified.
	* devices.c: File removed.  The equivalent glue is now elsewhere.
</content>
</entry>
<entry>
<title>Import of Linux 2.2.12 subset (ipv4 stack and related)</title>
<updated>2000-02-04T03:21:18Z</updated>
<author>
<name>Roland McGrath</name>
<email>roland@gnu.org</email>
</author>
<published>2000-02-04T03:21:18Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=9fd51e9b0ad33a89a83fdbbb66bd20d85f7893fb'/>
<id>urn:sha1:9fd51e9b0ad33a89a83fdbbb66bd20d85f7893fb</id>
<content type='text'>
</content>
</entry>
</feed>
