public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: ecos-bugs@ecos.sourceware.org
Subject: [Bug 1001508] New: Add freebsd CDL option to allow broadcast packets to be sent to 255.255.255.255
Date: Fri, 02 Mar 2012 21:23:00 -0000	[thread overview]
Message-ID: <bug-1001508-13@http.bugs.ecos.sourceware.org/> (raw)

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001508

           Summary: Add freebsd CDL option to allow broadcast packets to
                    be sent to 255.255.255.255
           Product: eCos
           Version: CVS
          Platform: All
        OS/Version: Other
            Status: NEW
          Severity: enhancement
          Priority: low
         Component: TCP/IP
        AssignedTo: unassigned@bugs.ecos.sourceware.org
        ReportedBy: grant.b.edwards@gmail.com
                CC: ecos-bugs@ecos.sourceware.org
             Class: Advice Request


For reasons I've never understood, the BSD network stack has
historically coerced broadcast packets sent to 255.255.255.255 so that
they go out the door destined for the interface's local network
broadcast address instead of the specified global broadcast address.
IOW, if your network interface is configured as 192.168.100.33/24 and
you send a UDP broadcast packet to 255.255.255.255, it will actually be
sent with a destination IP of 192.168.100.255.

People in the BSD world have been complaining about (and working
around) this for ages.

The Linux network stack takes the simpler and more useful approach of
sending the packet to the destination as specified -- if you send
broadcast packet to 255.255.255.255, it goes out to 255.255.255.255,
and if you want to send a broadcast packet to 192.100.100.255, then
you send it to 192.168.100.255.

Several of our eCos based products must implement application protocols
that require UDP packets be sent to 255.255.255.255.  To accomplish
this, I've been using a locally-modified bsd_tcpip stack with a CDL
option that allows you to choose either the (IMO broken) BSD behavior
or the Linux behavior.  It defaults to the BSD behavior for the sake
of backwards-compatible brokenness.

Anyhow, here's a patch that adds the CDL option

   CYGOPT_NET_FREEBSD_FORCE_DIRECTED_BROADCAST

It defaults to 1 which results in the traditional BSD behavior.

Setting it to 0 allows you to send packets to 255.255.255.255 by
specifying a destination address of 255.255.255.255.

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


             reply	other threads:[~2012-03-02 21:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-02 21:23 bugzilla-daemon [this message]
2012-03-02 21:26 ` [Bug 1001508] " bugzilla-daemon
2012-03-02 21:29 ` bugzilla-daemon
2012-03-03  4:12 ` bugzilla-daemon
2012-03-06 19:15 ` bugzilla-daemon
2012-03-02 21:23 [Bug 1001508] New: " bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-1001508-13@http.bugs.ecos.sourceware.org/ \
    --to=bugzilla-daemon@bugs.ecos.sourceware.org \
    --cc=ecos-bugs@ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).