[2694] in Kerberos_V5_Development
Re: More Unicos porting hell (struct inaddr)
daemon@ATHENA.MIT.EDU (John Hawkinson)
Sat Nov 1 16:56:42 1997
Date: Sat, 1 Nov 1997 16:56:19 -0500
To: "Theodore Y. Ts'o" <tytso@MIT.EDU>
Cc: krbdev@MIT.EDU
In-Reply-To: "[2691] in Kerberos_V5_Development"
From: John Hawkinson <jhawk@MIT.EDU>
| (Part of the problem here is that the BSD Networking API isn't formally
| specified *anywhere*, so what BSD and what other OS vendors might decide
| to change is never really completely clear, sigh.)
If the concern is IPv6-related, Gilligan et al attempt to define a
specification for the sockets API, at least as it extends to IPv6, in
RFC2133. Abstract below.
Also relevent is draft-stevens-advanced-api-04.txt.
--jhawk
Network Working Group R. Gilligan
Request for Comments: 2133 Freegate
Category: Informational S. Thomson
Bellcore
J. Bound
Digital
W. Stevens
Consultant
April 1997
Basic Socket Interface Extensions for IPv6
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
Abstract
The de facto standard application program interface (API) for TCP/IP
applications is the "sockets" interface. Although this API was
developed for Unix in the early 1980s it has also been implemented on
a wide variety of non-Unix systems. TCP/IP applications written
using the sockets API have in the past enjoyed a high degree of
portability and we would like the same portability with IPv6
applications. But changes are required to the sockets API to support
IPv6 and this memo describes these changes. These include a new
socket address structure to carry IPv6 addresses, new address
conversion functions, and some new socket options. These extensions
are designed to provide access to the basic IPv6 features required by
TCP and UDP applications, including multicasting, while introducing a
minimum of change into the system and providing complete
compatibility for existing IPv4 applications. Additional extensions
for advanced IPv6 features (raw sockets and access to the IPv6
extension headers) are defined in another document [5].
-------------------------------------------------------------------------------
INTERNET-DRAFT W. Richard Stevens (Consultant)
Expires: January 21, 1998 Matt Thomas (AltaVista)
July 21, 1997
Advanced Sockets API for IPv6
<draft-stevens-advanced-api-04.txt>
Abstract
Specifications are in progress for changes to the sockets API to
support IP version 6 [RFC-2133]. These changes are for TCP and UDP-
based applications and will support most end-user applications in use
today: Telnet and FTP clients and servers, HTTP clients and servers,
and the like.
But another class of applications exists that will also be run under
IPv6. We call these "advanced" applications and today this includes
programs such as Ping, Traceroute, routing daemons, multicast routing
daemons, router discovery daemons, and the like. The API feature
typically used by these programs that make them "advanced" is a raw
socket to access ICMPv4, IGMPv4, or IPv4, along with some knowledge
of the packet header formats used by these protocols. To provide
portability for applications that use raw sockets under IPv6, some
standardization is needed for the advanced API features.
There are other features of IPv6 that some applications will need to
access: interface identification (specifying the outgoing interface
and determining the incoming interface) and IPv6 extension headers
that are not addressed in [RFC-2133]: Hop-by-Hop options, Destination
options, and the Routing header (source routing). This document
provides API access to these features too.
Status of this Memo
This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.
Internet Drafts are draft documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet
Drafts as reference material or to cite them other than as a "working
draft" or "work in progress".
To learn the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in the internet-drafts Shadow
Directories on: ftp.is.co.za (Africa), nic.nordu.net (Europe),
ds.internic.net (US East Coast), ftp.isi.edu (US West Coast), and
munnari.oz.au (Pacific Rim).