Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!munnari.oz.au!brahma!summer From: summer@brahma.trl.oz.au (Mark Summerfield - Switching) Newsgroups: comp.realtime Subject: VxWorks ethernet output Message-ID: <7152@munnari.oz.au> Date: 25 Mar 91 05:13:51 GMT Sender: news@cs.mu.oz.au Reply-To: m.summerfield@trl.oz.au Organization: Telecom Research Laboratories, Melbourne, Australia Lines: 27 I have an annoying problem with VxWorks' etherOutput() function (VxWorks running on a Motorola MVME-147S CPU board). As part of a LAN bridging system, I need to transmit packets with arbitrary source addresses. If I use etherOutput() to do this, the interface's output routine (I assume) replaces the contents of the source address field with the address of the CPU board that VxWorks is running on. I have a workaround, which involves adding an output hook routine (with etherOutputHookAdd()) which inserts the desired source address (it seems that the hook routine is called after the replacement, directly before the packet is transmitted). This wastes time, space (admittedly not much) and requires a really shabby trick of storing a pointer in the destination address field so that the correct packet header can be found by the hook routine. In short, I don't like it, and hope that there's a better way! The situation is possibly complicated by the fact that I want the VxWorks network interface to continue to function normally as well. Has anybody successfully tackled this problem before? Thanks in advance for any help, Mark. ------------------------------------------------+-----------------------------+ Mark Summerfield, Telecom Research Laboratories | "A witty saying proves | ACSnet[AARN/Internet]: m.summerfield@trl.oz[.au]| nothing." -- Voltaire | Snail: PO Box 249, Clayton, Vic., 3168 +-----------------------------+