ospfd: 'ip ospf network' interface should down iface before changing type

* ospf_vty.c: (ip_ospf_network) This function changes the interface type
  and only then downs/ups the interface if already up.  So the down happens
  with the interface type already altered.  However, the interface type
  can have major ramifications for how underlying state is stored/indexed,
  which may cause problems.

  Further, bit of an encapsulation violation to twiddle state here.
  (no_ip_ospf_network) ditto.
* ospf_interface.c: (ospf_if_reset_type) New function to reset the OSPF
  interface type on an interface. Ensure the interface is downed before
  the type is changed.
* ospf_interface.h: (ospf_if_reset_type) Export, for ospf_vty.c
3 files changed