anchor.diff:          #{skip_unicast       => true,
             skip_friendly_name => true,
             include_prefix     => false}).
  +
  +%% This is just a "fake" based on what it looks like on linux...
  +-define(BADDR_FOR_PHYS_ADDR,
  +        <<16#FF:8,16#FF:8,16#FF:8,16#FF:8,16#FF:8,16#FF:8>>).
   
   
   
  
positive.code:       addr   => {BA1, BA2, BA3, BA4},
        port   => 0}.
      
  %% decode_hwaddr(<<>>) ->
  %%     [0,0,0,0,0,0];
  %% decode_hwaddr(Bin) when is_binary(Bin) ->
  %%     binary_to_list(Bin).
  
                                 
  %% ===========================================================================
  %%
  %% if_name2index - Mappings between network interface names and indexes:
  
negative.code:                  _ ->
                       [up]
               end,
      Flags  = lists:sort(Flags1 ++ Flags2),
      HaType = type2hatype(Type),
      PktSockAddr = #{addr     => process_phys_addr(HaType, PhysAddr),
                      family   => packet,
                      hatype   => HaType,
                      ifindex  => Idx,
                      pkttype  => host,
                      protocol => 0},
      PktIfAddr =
          case HaType of
              loopback ->
                  #{name  => Name,
                    addr  => PktSockAddr,
                    flags => Flags};
              _ ->
                  #{name      => Name,
                    addr      => PktSockAddr,
                    broadaddr => ?BADDR_FOR_PHYS_ADDR,
                    flags     => Flags}
          end,
      IfAddr = #{name      => Name,
                 flags     => Flags,
                 addr      => mk_sockaddr_in(Addr),
                 netmask   => mk_sockaddr_in(Mask),
                 %% And fake the broadcast address...
                 broadaddr => mk_sockaddr_in(iat_broadaddr(Addr, Mask))},
      {IfAddr, PktIfAddr}.
  
  mk_sockaddr_in(Addr) ->
      #{addr => Addr, family => inet, port => 0}.
  