RE: Linux ABI no longer supports staroffice
> Up until this weekend, I was able to use the staroffice52 port with > little problem (I had installed it earlier without benefit of the port > and it worked fine.) I did a 5.0-current kernel rebuild on > Thursday with > sources current on that day and things were fine. When I rebuilt my > kernel yesterday afternoon with sources from Saturday > morning, the port > stopped working. I get the following error messages > > I18N: X Window System doesn't support locale "C" > _X11TransSocketOpen: socket() failed for local > _X11TransSocketOpenCOTSClient: Unable to open socket for local > _X11TransOpen: transport open failed for local/dinolt1.bingdrive:0 > setup.bin: cannot open display ":0.0" > Please check your "DISPLAY" environment variable, as well as the > permissions to access that display (See "man X" resp. "man xhost" for > details) same here :( i got original Sun CD with StartOffice 5.1a and tried to install it. it failed. i used # make WITH_CDROM=yes USE_CDROM=yes install and everything was fine, but then i got exactly the same error. XFree86-3.3.6 and XFree86-contrib-3.3.6 both working just fine. ``xhost +'' did not resolve the problem. thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: possible NETGRAPH/NG_ETHER bug
[...] > From: Archie Cobbs [mailto:[EMAIL PROTECTED]] > Julian Elischer writes: > > > i was working on integration of Ethernet TAP driver and NETGRAPH > > > and found strange thing. the problem is that NG_ETHER nodes do not > > > detach correctly when interface is gone. i was taking a very quick > > > look at it, and, it seems to me that we are missing one reference > > > to a node. i think it is ng_name_node/ng_unname pair. > > > > This is quite possible because until recently interfaces could never > > be removed. Therefore the act of removing a node was really > > just a case of RESETTING the node. It was not removed. > > Here's some more info that may be helpful. [...] the problem still exists :( i tried to collect some information that, i think, could be helpful. first, my system fly# uname -a FreeBSD fly.private.org 5.0-CURRENT FreeBSD 5.0-CURRENT #2: Tue Jul 18 20:21:57 EST 2000 [EMAIL PROTECTED]:/usr/src/sys/compile/FLY i386 now modules and interfaces fly# kldstat Id Refs AddressSize Name 13 0xc010 1cd99c kernel 21 0xc0974000 4000 logo_saver.ko fly# ifconfig -a lo0: flags=8049 mtu 16384 inet 127.0.0.1 netmask 0xff00 now i will load if_tap module and create virtual interface fly# kldload -v ./if_tap.ko Loaded ./if_tap.ko, id=3 fly# cat /dev/tap0 ^C fly# ifconfig -a lo0: flags=8049 mtu 16384 inet 127.0.0.1 netmask 0xff00 tap0: flags=8802 mtu 1500 ether 00:bd:dd:25:00:00 now i will load ng_ether and check NETGRAPH nodes fly# kldload -v ng_ether Loaded ng_ether, id=4 fly# ngctl list There are 2 total nodes: Name: ngctl183Type: socket ID: 0002 Num hooks: 0 Name: tap0Type: ether ID: 0001 Num hooks: 0 fly# ngctl types There are 2 total types: Type name Number of living nodes - -- socket 1 ether 1 so far so good :) now i will unload if_tap module fly# kldunload if_tap fly# ifconfig -a lo0: flags=8049 mtu 16384 inet 127.0.0.1 netmask 0xff00 fly# cat /dev/tap0 cat: /dev/tap0: Device not configured ok, both device and interface are gone, what about NETGRAPH nodes fly# ngctl list There are 1 total nodes: Name: ngctl210Type: socket ID: 0004 Num hooks: 0 fly# ngctl types There are 2 total types: Type name Number of living nodes - -- socket 1 ether 1 fly# kldunload ng_ether kldunload: can't unload file: Device busy ooops :( there is still 1 ``ether'' node :( i did put some debug printf in ng_base and ng_ether. here is an output ng_ether_detach: start node->refs = 2 --- ng_ether_detach() ng_unref: node->refs = 3 --- ng_unfer(). ng_rmnode() it will add one extra reference ng_ether_detach: before final ng_unref() node->refs = 2 --- ng_ether_detach() just before last ng_unref() ng_unref: node->refs = 2 --- ng_unref() so i think that shows that last ng_unref() was called with node->refs equal to 2, and, i think, that is not correct :( again, here is one of the millions of possible patches that works for me :) *** ng_ether.c.old Tue Jul 18 21:17:54 2000 --- ng_ether.c Tue Jul 18 21:48:46 2000 *** *** 293,298 --- 293,299 bzero(priv, sizeof(*priv)); FREE(priv, M_NETGRAPH); node->private = NULL; + ng_unname(node);/* remove node name */ ng_unref(node); /* free node itself */ } if_tap module sources can be found at http://home.earthlink.net/~evmax/tap-fbsd5b1.tar.gz sorry for long letter :) hope that helps :) thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
kerneld for -current
Hello All, long time back there was a discussion about kerneld for FreeBSD. some people have found it useless, but some not :) anyway, alpha version of code can be found at sourceforge.net. http://sourceforge.net/projects/kerneld/ changes: - minor bug fixes - kd device improvements (now support select) - kerneld now has access control list to accept/deny request from users/group (thanks to Someone from the list for the idea, sorry don't remember The Name :) everyone, who's interested, is invited :) thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: possible NETGRAPH/NG_ETHER bug
> I object to these patches. > the idea is good but these patches are misguided.. ok :) i did not say that is an ultimate solution :) i did not even say that they are good :) the only idea behind these patches is to show that there is a _possible_ node reference problem :) that's it :) [...] > Ok, so the idea is that the actual underlying interface > is going away, and that you want the node to go away too. > The correct way is to signal to ng_ether_rmnode() that > it SHOULD remove the node. may be it will be good to have destructor for node as well as shutdown? since we know that node is doomed ng_rmnode will call destructor. shutdown will do just preparation, i.e. cut links etc. in this case it will be possibe to shutdown node without deletion. and if node should gone destructor will call shoudown and then remove node. > At present this code assumes that the ethernet interface > is permenent, and that the ng_ether node should thus also > be persistant. What you need is a way for it to distinguish > between the case where it should not remove the node, and the case > where the interface is doomed, and it should remove the node. > A flag somewhere would suffice. yes, it will work. i can flag node as doomed before calling ng_ether_detach. but anyway i need to remove extra reference in ng_name_node/ng_unname, otherwise ng_unfer won't destroy node :( there will be a lot of them. ng_ctl shows them perfectly. [...] > Archie's changes (when he applies them) > will give a clearer picture at to how this should be done. > I suggest that you hold off until his patches are added because > it will have an effect. It should be done any day now. i will :) thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
possible NETGRAPH/NG_ETHER bug
Hello All, i was working on integration of Ethernet TAP driver and NETGRAPH and found strange thing. the problem is that NG_ETHER nodes do not detach correctly when interface is gone. i was taking a very quick look at it, and, it seems to me that we are missing one reference to a node. i think it is ng_name_node/ng_unname pair. quick patch (works for NG_ETHER, but i did not have time to look at all NG_ modules) available at http://home.earthlink.net/~evmax/ng_ether-diffs.tar.gz this problem could, possibly, affect other modules. after patch i was able to: - load Ethernet TAP driver - create several virtual Ethernet interfaces - load NG_ETHER module (and check nodes via ngctl) - unload Ethernet TAP driver (all virtual Ethernet interfaces are gone) - check that all NG_ETHER nodes are gone (via ngctl) - unload NG_ETHER module Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: NETGRAPH changes
> Which changes in particular are you asking about? the attach/detach ``ng_ether'' nodes thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
NETGRAPH changes
Hello All, Does anybody knows when -current NETGRAPH changes will be back ported to 4.X branch (if they ever will)? Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: New version of TAP driver for FreeBSD -current
Jordan, > I've looked at this driver and think it looks useful, though I'm a > little concerned about the handling of bridge support. We don't > really encourage users to edit module Makefiles just to enable a given > feature in the compiled module [...] i think that whole ``#ifdef BRIDGE'' section can be removed from the code. ``ether_input'' seems to be take care of it. it also feeds frame to ``bpf'', so it also can be removed. thanks to Nick Sayer for the hint :) i just got e-mail that makes a good point about Ethernet bridging it seems freebsd 4.x bridgin code is somewhat broken.. (it initializes the tables of devices it can bridge at boot time).. thus tap0 isnt available yet.. so basically bridging doesnt work ;( ooops :) will check on it :) seems to me we need some interface to add/remove interfaces to/from bridge. Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
New version of TAP driver for FreeBSD -current
Hello All, The new version of TAP driver for FreeBSD -current is available at http://home.earthlink.net/~evmax/tap-fbsd5.tar.gz Changes: - small bug fixes, code improvements and cleanup - man page (derived from tun(4)) - if_tap module can be unloaded now (works for me, but please test it) - standalone Makefile (to build module outside of main source tree) Long time back i sent request to the list and asked about including this driver into the source tree. i still did not receive any reply. Some people seems to be using this driver for Ethernet tunneling (with VTUN software). Somebody even requested for OpenBSD port. So it would be really nice to hear from one of the commiters. Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: kerneld for -current
> > is there any interest in ``kerneld'' (a-la Linux) for > FreeBSD? i've got > > some working prototype > > Could you summerize what it offers and does? from RedHat documentation: Red Hat Linux includes kerneld, the Kernel Daemon, which automatically loads some software and hardware support into memory as it is needed, and unloads it when it is no longer being used. thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: stupid FS questions
i know that :) i guess my questions were 1) why the same piece of code duplicated in all ``mount_xxx'' utilities? 2) if we are loading fs kernel module from ``mount_xxx'' why we have to do it again in kernel? if i'm not missing anything, by the time we reach ``mount'' function, fs module will be in the memory and this code will never be executed. thanks, emax > I believe that it is used to dynamic load filesystem modules. > Please read > the following pages to understand what is a kernel module: > > http://thc.inferno.tusculum.edu/files/thc/bsdkern.html > > > i've been looking at ``mount_xxx'' code and have noticed > "strange" thing. > > all ``mount_xxx'' utilities have common part of code, like > > > > error = getvfsbyname("xxx", &vfc); > > if (error && vfsisloadable("xxx")) { > >if (vfsload("xxx")) > >err(EX_OSERR, "vfsload(xxx)"); > >endvfsent();/* flush cache */ > >error = getvfsbyname("xxx", &vfc); > > } > > if (error) > >errx(1, "xxx filesystem is not available"); > > > >if (mount(vfc.vfc_name, dir, mntflags, &args) < 0) > >err(1, NULL); > > > > 1) what is the reason for this? why can't move this code to > ``mount''? > > 2) what is the purpose of the following code in > > ``/sys/kern/vfs_syscalls.c''? > > > > ... > > for (vfsp = vfsconf; vfsp; vfsp = vfsp->vfc_next) > > if (!strcmp(vfsp->vfc_name, fstypename)) > > break; > > if (vfsp == NULL) { > > linker_file_t lf; > > > > /* Refuse to load modules if securelevel raised */ > > if (securelevel > 0) { > > vput(vp); > > return EPERM; > > } > > /* Only load modules for root (very important!) */ > > if ((error = suser(p)) != 0) { > > vput(vp); > > return error; > > } > > error = linker_load_file(fstypename, &lf); > > if (error || lf == NULL) { > > vput(vp); > > if (lf == NULL) > > error = ENODEV; > > return error; > > } > > ... > > > > from my understanding this is done to load FS module. > > or did i miss someting? To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
stupid FS questions
Hello All, i've been looking at ``mount_xxx'' code and have noticed "strange" thing. all ``mount_xxx'' utilities have common part of code, like error = getvfsbyname("xxx", &vfc); if (error && vfsisloadable("xxx")) { if (vfsload("xxx")) err(EX_OSERR, "vfsload(xxx)"); endvfsent();/* flush cache */ error = getvfsbyname("xxx", &vfc); } if (error) errx(1, "xxx filesystem is not available"); if (mount(vfc.vfc_name, dir, mntflags, &args) < 0) err(1, NULL); 1) what is the reason for this? why can't move this code to ``mount''? 2) what is the purpose of the following code in ``/sys/kern/vfs_syscalls.c''? ... for (vfsp = vfsconf; vfsp; vfsp = vfsp->vfc_next) if (!strcmp(vfsp->vfc_name, fstypename)) break; if (vfsp == NULL) { linker_file_t lf; /* Refuse to load modules if securelevel raised */ if (securelevel > 0) { vput(vp); return EPERM; } /* Only load modules for root (very important!) */ if ((error = suser(p)) != 0) { vput(vp); return error; } error = linker_load_file(fstypename, &lf); if (error || lf == NULL) { vput(vp); if (lf == NULL) error = ENODEV; return error; } ... from my understanding this is done to load FS module. or did i miss someting? thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
kerneld for -current
Hello All, is there any interest in ``kerneld'' (a-la Linux) for FreeBSD? i've got some working prototype at http://home.earthlink.net/~evmax/kerneld.tar.gz so far, i've got it working on -current for char devices and network interfaces. file systems are currently in progress. if there is no interest - i'll paint it in green and throw it away :) thanks, emax p.s. yes, i do know that ifconfig is able to load modules and file system modules can be loaded by kernel. but may be better to have one interface? To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: NETGRAPH (proposal. FINAL)
[...] > > This is good in theory, however the intel 82586 ethernet chip > > (and 596 in 586 mode) will overwrite anything you put there anyhow > > as it treats the header specially and fabricates it. > > (unless you are running in some mode that is not usually used). > > I don't know how many other chips do this but it may be misleading > > for the user who sets this on such a chip because the source > > address he sets will not be put on the wire. > > > > The idea is however useful and I guess we'll try add it in > > in the near future... > > What do you think Archie? > > Are we still in code freeze? (I think so). > > Yes, I was going to take a look at this after 4.0-REL and then > commit something hopefully soon thereafter.. > > By the way, if the ethernet chip doesn't support manual source > address then BPF has the same problem that we do.. IMHO, we should > just punt and return an error in this case.. i think we still have this problem in BPF. as far as i know ``bpfwrite'' calls ``if_output'' which is ``ether_output''. in the same time ``ether_output'' updates ``ether_shost''. so, as far as i know, it's imposible to send frame with custom ``ether_shost''. please correct me if i wrong. thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
NETGRAPH (proposal. FINAL)
hello all, here is url: http://home.earthlink.net/~evmax/ng.tar.gz these are final patches for NETGRAPH. new features: - new hook ``divertin'' allows to put frame back to kernel stack. - new control message allows to set raw mode on ``divert'' hook. raw mode assumes that we have fully prepared frame and we do not have to update ``ether_shost'' field. thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: NETGRAPH patches (proposal)
> From: Archie Cobbs [mailto:[EMAIL PROTECTED]] > Julian Elischer writes: > > > > > It's because all packets sent by this node should > have the node's > > > > > address. If you don't have it then PPPoE cannot send > a packet "FROM" > > > > > thia node, as it has no idea of what this node's address is. > > > > > > > > So.. we can have two hooks, one that sets the host address and > > > > one that doesn't.. :-) > > > > > > In that case can we have one that also sets the > destination address > > > via arp? > > > > Now I think you are talking a separate node that implements > > such a protocol. > > Right.. ARP is an IP-specific protocol. Ethernet nodes should have > no specific knowledge of ARP. > [...] > This brings up another point.. to really do this correctly we would > also need a 802.3/802.2 node type that decoded Ethertypes and SNAP > headers. It would have a "downstream" hook that connected to the > Ethernet node and also hooks for "ip", "arp", "appletalk", "aarp" > (AppleTalk's ARP), "ipx", "ipv6", etc. Also, it could suport > generic Ethertype hooks having names of the form "0x". > > Probably the raw Ethernet node type should not even know about 802.3 > (the standard 14 byte Ethernet header and the 60 byte minimum packet > length).. i think that ethernet driver should be just raw ethernet node. it should not have any specific knowledge about upper levels. these raw nodes connected to another node that will perform the same functionality as ``ether_input'' does. i.e. it will decode type and send data to the appropriate hook. if the hook is connected - fine, we got data and put it to the protocol stack. if not - just drop. so we are really control the system. if we need specific protocol in the stack just load specific node and connect it to the hook. we can use simple name convention for the hooks (like "ether_0xNNN" where NNN is type) and in this case we do not have to change ``ether_input'' node. this looks more and more like STREAMS :). but NETGRAPH do not put data in the ``envelope'' like STREAMS does. the only thing that bothers me... how we can marry existing functionality and NETGRAPH? i vote for NETGRAPH :) it is c00l :) i just like the idea of connecting raw ethernet device driver with tty level :) thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: NETGRAPH patches (proposal) CONT.
> On Tue, Feb 22, 2000 at 09:02:43PM -0800, Archie Cobbs wrote: > > > > It's because all packets sent by this node should have the node's > > > address. If you don't have it then PPPoE cannot send a > packet "FROM" > > > thia node, as it has no idea of what this node's address is. > > > > So.. we can have two hooks, one that sets the host address and > > one that doesn't.. :-) > > In that case can we have one that also sets the destination address > via arp? > i added new control message for ``ngether_node''. i called it NGEF_RAW_MODE. now you can set it to on/off by using NgSendMsg. ``ngether_rcvdata'' will not update ``ether_shost'' if it set to on. otherwise it will. patches available at http://home.earthlink.net/~evmax/ng.tar.gz these are against -current cvsup'ed this sunday around 8:30pm EST. it also includes small test program based ion ``nghook''. Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: NETGRAPH patches (proposal)
> > Here is the description. ng_ether node has two hooks ``divert'' and > > ``orphan''. > > It is possible to connect to the one of the hooks and > intercept row Ethernet > > frames. But there is no clean way to intercept frame, do > something and > > return it back to kernel. > > > > This patch provides additional hook ``divertin'' (mmm... > name is not good, > > i think) for each ng_ether node. > > > > Implementation issues > > > > This will not work for ``orphan'' frames. Since kernel > drops it anyway, i > > decided to leave it as it is. But is is possible to > intercept ``orphan'' > > packets, change it, and write back to ``divertin''. > > The "divertin" hook is a useful idea.. after 4.0-REL we can check > something in based on your patches... > ok. i just have a dumb question. what is the big deal with updating ether_shost in ethernet header in ngether_rcvdata. since we are passing raw ethernet frame, why should we update ether_shost? wouldn't it be nice to make it optional? just another control message? Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
raw socket, bpf, netgraph, etc
Hello All, Is it possible to get access to link layer (AF_LINK) via raw socket? kind of Linux SOCK_PACKET. It seems to me that it is not. (hope I wrong :) I can access raw IP via socket(AF_INET, SOCK_RAW, IPPROTO_RAW) and event get access to IP header with setsockopt. But not AF_LINK :( On the other hand is bpf. but here is the small problem. i have interface with bpf attached to it. when i write to /dev/bpf i got the same packet back. kind of loop. the only solution is to filter these packets. but there is no way to find out which packet i wrote, and which is received from outside. i was thinking about netgraph. would't it be nice to have netgraph interface in each network driver? Any ideas? Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: BPF bug or not?
Bruce, [...] > > I've just found that read from /dev/bpfX never return > EAGAIN/EWOULDBLOCK. > > It means that when you do a non blocking read and there is > no data you will > > always get 0. > > > > Does it suppose work this way? > > I think it is a bug. Perhaps applications depend on it. > > Untested fix: [ untested fix removed :) ] Yes, it works. But it returns EAGAIN for both O_RDONLY|O_NONBLOCK and O_RDWR|O_NONBLOCK open modes. In the same time pipe returns 0 for O_RDONLY|O_NONBLOCK mode and EAGAIN for O_RDWR|O_NONBLOCK. It there any specs for "read" system call? I have small problem with blocking read in pthreads under 3.X. Since blocking read implemented as non-blocking inside pthread (libc_r to be honest), returning 0 instead of EAGAIN from read confuses libc_r. It expects EAGAIN. BTW such "blocking" read inside thread gives almost 100% CPU utilization :( thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
BPF bug or not?
All, I've just found that read from /dev/bpfX never return EAGAIN/EWOULDBLOCK. It means that when you do a non blocking read and there is no data you will always get 0. Does it suppose work this way? A non blocking read from pipe return EAGAIN/EWOULDBLOCK if there is no data and pipe was opened as O_RDWR, and 0 when pipe was opened as O_RDONLY. Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
new device drivers
Hello All, I've written a couple of drivers and would like to include them in current. What the procedure to add new device driver to current? Who is the point of contact? I think, I could not commit it to the cvs tree or can I? Thanks, emax To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message