Skip to content
Commits on Jan 28, 2016
  1. Tidy up

    ozaki-r committed
    - KNF
    - Remove obsolete ifdefs for other OSes
    - Remove unnecessary else block
    
    No functional change.
  2. fix my wrong modification

    knakahara committed
Commits on Jan 26, 2016
  1. implement encapsw instead of protosw and uniform prototype.

    knakahara committed
    suggested and advised by riastradh@n.o, thanks.
    
    BTW, It seems in_stf_input() had bugs...
Commits on Jan 22, 2016
  1. Back out previous change to introduce struct encapsw.

    riastradh committed
    This change was intended, but Nakahara-san had already made a better
    one locally!  So I'll let him commit that one, and I'll try not to
    step on anyone's toes again.
  2. Don't abuse struct protosw for ip_encap -- introduce struct encapsw.

    riastradh committed
    Mostly mechanical change to replace it, culling some now-needless
    boilerplate around all the users.
    
    This does not substantively change the ip_encap API or eliminate
    abuse of sketchy pointer casts -- that will come later, and will be
    easier now that it is not tangled up with struct protosw.
Commits on Jan 21, 2016
  1. Revert previous: ran cvs commit when I meant cvs diff. Sorry!

    riastradh committed
    Hit up-arrow one too few times.
  2. Give proper prototype to ip_output.

    riastradh committed
Commits on Jan 20, 2016
  1. Eliminate struct protosw::pr_output.

    riastradh committed
    You can't use this unless you know what it is a priori: the formal
    prototype is variadic, and the different instances (e.g., ip_output,
    route_output) have different real prototypes.
    
    Convert the only user of it, raw_send in net/raw_cb.c, to take an
    explicit callback argument.  Convert the only instances of it,
    route_output and key_output, to such explicit callbacks for raw_send.
    Use assertions to make sure the conversion to explicit callbacks is
    warranted.
    
    Discussed on tech-net with no objections:
    https://mail-index.netbsd.org/tech-net/2016/01/16/msg005484.html
Commits on Jan 18, 2016
  1. Refactor protosw codes in gif(4). No functional change.

    knakahara committed
        - remove unnecessary include
        - reduce scopes
Commits on Jan 8, 2016
Commits on Jan 4, 2016
  1. Fix the destruction of the afdata lock

    ozaki-r committed
    Pointed out by mlelstv@
  2. Revert extra wating codes.

    knakahara committed
    PR kern/50522 is actually fixed by sys/kern/kern_softint.c:r1.42, so waiting
    codes in if_gif.c is not required.
Commits on Dec 29, 2015
  1. Replace the nsaveds() function with #define NSAVEDS 3. No functional …

    alnsn committed
    …change.
    
    Patch from Michael McConville.
Commits on Dec 22, 2015
  1. Tweak return value handling

    ozaki-r committed
    rtrequest1 ensures to return an rtentry on success.
Commits on Dec 17, 2015
  1. make DDB print ipv6 addresses too

    mlelstv committed
  2. handle delayed cksums also for ipv6

    mlelstv committed
  3. Fix memory leak of llentry#la_opaque

    ozaki-r committed
    llentry#la_opaque which is for token ring is allocated in arp.c
    and freed in arp.c when freeing llentry. However, llentry can be
    freed from other places, e.g., lltable_free. In such cases,
    la_opaque is never freed.
    
    To fix that, add a new callback (lle_ll_free) to llentry and
    register a destruction function of la_opque to it. On freeing a
    llentry, we can surely free la_opque via the callback.
Commits on Dec 16, 2015
  1. don't free mbuf twice.

    christos committed
    XXX: pullup 7.
  2. Fix token_rif extractions from llentry

    ozaki-r committed
Commits on Dec 11, 2015
  1. PR kern/50522: gif(4) ioctl causes panic while someone is using the g…

    knakahara committed
    …if(4) interface.
    
    It is required to wait other CPU's softint completion before disestablishing
    the softint handler.
  2. revert KASSERT. It should use 'if' instead of KASSERT.

    knakahara committed
    see updated(later than r1.18) kmem(9) man.
Commits on Dec 10, 2015
  1. kmem_zalloc(, KM_SLEEP) must not return NULL.

    knakahara committed
  2. add NULL check

    knakahara committed
Commits on Dec 9, 2015
  1. gif(4) uses kmem_alloc APIs instead of malloc.

    knakahara committed
  2. Refactor gif_set_tunnel(). No functional change.

    knakahara committed
  3. Improve gif_set_tunnel() rollback code.

    knakahara committed
Commits on Dec 4, 2015
  1. gif(4): Infinite recursion calls prevention code works again now.

    knakahara committed
    The prevention code haven't worked since gif(4) was changed
    to use softint(9). To work this prevention, git_output uses
    m_tag(9) like FreeBSD and OpenBSD.
    
    I tested with following code.
    ====================
    # ifconfig gif0 create
    # ifconfig gif0 tunnel 10.1.1.1  10.1.1.2
    # ifconfig gif0 inet 192.168.100.1 192.168.100.100
    
    # ifconfig gif1 create
    # ifconfig gif1 tunnel 192.168.100.1 192.168.100.100
    # ifconfig gif1 inet 192.168.101.1 192.168.101.101
    
    # ifconfig gif2 create
    # ifconfig gif2 tunnel 192.168.101.1 192.168.101.101
    # ifconfig gif2 inet 192.168.102.1 192.168.102.102
    
    # ping -w 1 -c 1 192.168.102.102
    # dmesg | tail -n 1
    gif0: recursively called too many times(2)
    ====================
Commits on Dec 3, 2015
  1. remove extra encap_detach().

    knakahara committed
    encap_detach() is already done in gif_delete_tunnel()->in{,6}_gif_detach().
Commits on Nov 26, 2015
  1. Fix build dependency of if_llatbl.c

    ozaki-r committed
    if_llatbl.c is required if inet or inet6 is enabled. Depending on ether
    doesn't suit for NDP case.
Commits on Nov 25, 2015
  1. Use lltable/llentry for NDP

    ozaki-r committed
    lltable and llentry were introduced to replace ARP cache data structure
    for further restructuring of the routing table: L2 nexthop cache
    separation. This change replaces the NDP cache data structure
    (llinfo_nd6) with them as well as ARP.
    
    One noticeable change is for neighbor cache GC mechanism that was
    introduced to prevent IPv6 DoS attacks. net.inet6.ip6.neighborgcthresh
    was the max number of caches that we store in the system. After
    introducing lltable/llentry, the value is changed to be per-interface
    basis because lltable/llentry stores neighbor caches in each interface
    separately. And the change brings one degradation; the old GC mechanism
    dropped exceeded packets based on LRU while the new implementation drops
    packets in order from the beginning of lltable (a hash table + linked
    lists). It would be improved in the future.
    
    Added functions in in6.c come from FreeBSD (as of r286629) and are
    tweaked for NetBSD.
    
    Proposed on tech-kern and tech-net.
Commits on Nov 20, 2015
Commits on Nov 19, 2015
  1. Add handling of VLAN packets in if_bridge where the parent interface …

    christos committed
    …supports
    
    them (Jean-Jacques.Puig@espci.fr). Factor out the vlan_mtu enabling and
    disabling code.
Commits on Nov 11, 2015
  1. fix CID 980463

    knakahara committed
  2. fix panic after "ifconfig gifX tunnel src dst" failed for the reason …

    knakahara committed
    …of address pair duplication.
    
    e.g.
        ====================
        # ifconfig gif0 create
        # ifconfig gif0 tunnel 192.168.0.1 192.168.0.2
        # ifconfig gif0 inet 172.16.0.1/24 172.16.0.2
        # route add 10.1.0.0/24 172.16.0.1
    
        # ifconfig gif1 create
        # ifconfig gif1 tunnel 192.168.0.1 192.168.0.3
    
        # ifconfig gif0 tunnel 192.168.0.1 192.168.0.3
        ifconfig: SIOCSLIFPHYADDR: Can't assign requested address # expected
        # ping 10.1.0.1
        (panic)
        ====================
Something went wrong with that request. Please try again.