I'm sponsoring this self-reviewed case for Sangeeta Misra.  Its state is 
closed approved automatic; please let me know if you'd like this run as a 
regular fasttrack.


Class E IP Address Configuration

Today ifconfig does not allow the configuration of addresses in the
Class E range (240.0.0.0/4).  For instance the following ifconfig
commands fail :

#ifconfig bge0 251.1.2.3/24
ifconfig: SIOCSLIFADDR: bge0: Cannot assign requested address
# ifconfig ce0 248.53.129.24 up
ifconfig: SIOCSLIFADDR: ce0: Cannot assign requested address

In light of Internet draft, draft-fuller-240space-00.txt, the above
command should be allowed (see CR 6605607.)  Note that the draft does
not specify a default netmask for Class E.  Since the RIPv1 routing
protocol does not handle CIDR, using /32 as the default netmask for
Class E is the best solution to keep the code changes minimal and avoid
bugs.

This fasttrack is being submitted for two specific behavior changes:

o The behavior of SIOCSLIFADDR ioctl needs to be modified to allow the
   setting of a class-E address.  It currently returns EADDRNOTAVAIL when
   passed an address in the Class E range.

o The route(1M) command currently assigns a default netmask of
   255.255.255.0 to destinations in the Class E range as shown in the
   following example:

# route add 248.53.129.0 192.168.81.25
add net 248.53.129.0: gateway 192.168.81.25
# route get 248.53.129.0
    route to: 248.53.129.0
destination: 248.53.129.0
        mask: 255.255.255.0
     gateway: surya5
   interface: bge0
       flags: <UP,GATEWAY,DONE,STATIC>
  recvpipe  sendpipe  ssthresh    rtt,ms rttvar,ms  hopcount      mtu 
  expire
        0         0         0         0         0         0      1500 
      0

   This current behavior is wrong as per the route(1M) man page:

      If a subnet mask is not specified, the mask used is the sub-
      net  mask  of  the  output interface selected by the gateway
      address, if the classful network of the destination  is  the
      same  as  the  classful network of the interface. Otherwise,
      the classful network mask for  the  destination  address  is
      used.

   Network addresses in the Class E range have no pre-defined netmask.
   Thus the route command's behavior should be changed so that when a
   mask is not specified for a IP address from Class E address block, /32
   should be used as a default.

Release binding requested: Patch

Reply via email to