tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ifconfig v2



    Date:        Wed, 12 Jun 2013 11:57:35 -0400 (EDT)
    From:        Mouse <mouse%Rodents-Montreal.ORG@localhost>
    Message-ID:  <201306121557.LAA11307%Chip.Rodents-Montreal.ORG@localhost>

  | There was a time when lack of support from some major vendors meant
  | that subnet masks not on octet boudaries couldn't be used, too.  I see
  | no reason to let half-assed vendor implementations deprecate a useful
  | feature.

I agree, but only when it is a useful feature.   non-octet boundary subnets
are useful, non-contig are not.   For example in another message you said ...

mouse%Rodents-Montreal.ORG@localhost said:
  | My own case was similar; I ran a (small but) production network with a
  | netmask of 255.255.255.216 (0xffffffd8) for years. 

which means that you could do

        for (addr = iterate over every assigned address (in that network)) {
                newaddr = (addr & 0xffffffc7) |
                                (addr & 0x18) << 1 |
                                (addr & 0x20) >> 2;
        }

and then use those new addresses, with a netmask of 255.255.255.224, right ?

Sure, by using the non-contig mask you avoid the renumbering (which is
why non-contig existed at all in the early versions of this - when the
benfits of subnets at all had to be sold) but that's all you gain right?
One renumber event and your non-contig would be gone forever, at little
cost, and with a gain of much simplicity.


  | See my list message just now in response to Ignatios.

I did, though he asked (and thus you answered) the wrong question, instead
of ...

is%NetBSD.org@localhost said:
  | the interesting case is, what happens when you have two interfaces with
  | addresses/netmasks

  | 1.2.0.1/255.255.0.255       (0xffff00ff)
  | 1.2.1.0/255.255.15.240      (0xffff0ff0)

  | and you send a packet to 1.2.0.16 ?

the real question is what happens when someone sends to 1.2.1.1 ?


  | "Local policy",
  | which may mean "whatever the implementation happens to give you".

And how do I exactly configure that to work in any way that anyone
can comprehend?

  | That's what we've always had in practice anyway on implementations that
  | support them.

Yes, in practice, no-one ever used anything except the simple cases, like
the one you described, which is no mor ethan a minor convenience.  You're
not really using the true power of non-contig masks - which is a good thing,
as that power is all destructive.

Keeping this stuff just for the simple cases isn't worth the problems it
causes for people who don't understand the problems - if non-contig masks
had never been invented, no-one would be clamoring for them now, would they?

kre



Home | Main Index | Thread Index | Old Index