ether_ifattach man page on NetBSD

Man page or keyword search:  
man Server   9087 pages
apropos Keyword Search (all sections)
Output format
NetBSD logo
[printable version]

ETHERSUBR(9)		 BSD Kernel Developer's Manual		  ETHERSUBR(9)

NAME
     ethersubr, ether_ifattach, ether_addmulti, ether_delmulti,
     ETHER_FIRST_MULTI, ETHER_NEXT_MULTI, ETHER_IS_MULTICAST, fddi_ifattach,
     fddi_addmulti, fddi_delmulti — Ethernet and FDDI driver support functions
     and macros

SYNOPSIS
     #include <net/if_ether.h>

     void
     ether_ifattach(struct ifnet *ifp, uint8_t *lla);

     int
     ether_addmulti(const struct sockaddr *sa, struct ethercom *ec);

     int
     ether_delmulti(const struct sockaddr *sa, struct ethercom *ec);

     void
     ETHER_FIRST_MULTI(struct ether_multistep step, struct ethercom *ec,
	 struct ether_multi *enm);

     void
     ETHER_NEXT_MULTI(struct ether_multistep step, struct ether_multi *enm);

     int
     ETHER_IS_MULTICAST(uint8_t *addr);

     #include <net/if_fddi.h>

     void
     fddi_ifattach(struct ifnet *ifp, uint8_t *lla);

     int
     fddi_addmulti(const struct sockaddr *sa, struct ethercom *ec);

     int
     fddi_delmulti(const struct sockaddr *sa, struct ethercom *ec);

DESCRIPTION
     The ethersubr functions provide the interface between the ethersubr mod‐
     ule and the network drivers which need Ethernet support.  Such drivers
     must request the ether attribute in their files declaration and call the
     appropriate functions as specified below.

     FDDI drivers must request the "fddi" attribute in their "files" declara‐
     tion and call the functions tagged with "fddi_" or "FDDI_" instead, where
     different.	 Some macros are shared.

     Note that you also need the arp(9) stuff to support IPv4 on your hard‐
     ware.

     ether_ifattach(ifp, lla)
	      Perform the device-independent, but Ethernet-specific initial‐
	      ization of the interface pointed to by ifp.

	      Among other duties, this function creates a record for the link
	      level address in the interface's address list and records the
	      link level address pointed to by lla there.

	      This function must be called from the driver's attach function.

     fddi_ifattach(ifp, lla)
	      Corresponding function for FDDI devices.

     ether_addmulti(sa, ec)

     ether_delmulti(sa, ec)
	      Add (ether_addmulti()) or delete (ether_delmulti()) the address
	      described by the sa pointer to the Ethernet multicast list
	      belonging to ec.

	      These functions must be called from the driver's ioctl function
	      to handle SIOCADDMULTI and SIOCDELMULTI requests.	 If these
	      return ENETRESET, the hardware multicast filter must be reini‐
	      tialized.

	      These functions accept AF_UNSPEC addresses, which are inter‐
	      preted as Ethernet addresses, or AF_INET addresses.  In the lat‐
	      ter case, INADDR_ANY is mapped to a range describing all the
	      Ethernet address space reserved for IPv4 multicast addresses.

	      The ether_addmulti() returns EAFNOSUPPORT if an unsupported
	      address family is specified, EINVAL if a non-multicast address
	      is specified, or ENETRESET if the multicast list really changed
	      and the driver should synchronize its hardware filter with it.

	      The ether_delmulti() returns, in addition to the above errors,
	      ENXIO if the specified address can't be found in the list of
	      multicast addresses.

     fddi_addmulti(sa, ec)

     fddi_delmulti(sa, ec)
	      Corresponding functions for FDDI devices.

     ETHER_NEXT_MULTI(step, enm)
	      A macro to step through all of the ether_multi records, one at a
	      time.  The current position is remembered in step, which the
	      caller must provide.

     ETHER_FIRST_MULTI(step, ec, enm)
	      A macro that must be called to initialize step and get the first
	      record.  Both macros return a NULL enm when there are no remain‐
	      ing records.

     ETHER_IS_MULTICAST(addr)
	      A macro that returns 1, if addr points to an Ethernet/FDDI mul‐
	      ticast (or broadcast) address.

SEE ALSO
     arp(9)

HISTORY
     Rewritten to attach to the new ARP system in NetBSD 1.3.

AUTHORS
     UCB CSRG (original implementation)

     Ignatios Souvatzis (support for new ARP system)

CODE REFERENCES
     Ethernet support functions are declared in <net/if_ether.h> and defined
     (if not implemented as macro) in sys/net/if_ethersubr.c.

     FDDI support functions are declared in <net/if_fddi.h> and defined (if
     not implemented as macro) in sys/net/if_fddisubr.c.

BSD				 March 3, 1997				   BSD
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server NetBSD

List of man pages available for NetBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net