Page MenuHomeFreeBSD
Feed Advanced Search

Jan 10 2016

melifaro committed rS293633: Split in6_selectsrc() into in6_selectsrc_addr() and in6_selectsrc_socket()..
Split in6_selectsrc() into in6_selectsrc_addr() and in6_selectsrc_socket().
Jan 10 2016, 1:41 PM
melifaro committed rS293632: Do not hold ifaddr reference for the whole icmp6_reflect() exec time..
Do not hold ifaddr reference for the whole icmp6_reflect() exec time.
Jan 10 2016, 12:00 PM
melifaro committed rS293630: Initialize error value ta_lookup_kfib() by default to please compiler..
Initialize error value ta_lookup_kfib() by default to please compiler.
Jan 10 2016, 8:37 AM
melifaro committed rS293628: Convert ipfilter to the new routing KPI..
Convert ipfilter to the new routing KPI.
Jan 10 2016, 7:51 AM
melifaro closed D4764: Convert ipfilter to use new routing API. by committing rS293628: Convert ipfilter to the new routing KPI..
Jan 10 2016, 7:51 AM
melifaro committed rS293626: Make ipfw addr:kfib lookup algo use new routing KPI..
Make ipfw addr:kfib lookup algo use new routing KPI.
Jan 10 2016, 6:44 AM
melifaro committed rS293625: Use already pre-calculated number of entries instead of tc->count..
Use already pre-calculated number of entries instead of tc->count.
Jan 10 2016, 12:29 AM

Jan 9 2016

melifaro committed rS293611: Fix userland build broken by r293470..
Fix userland build broken by r293470.
Jan 9 2016, 6:42 PM
melifaro committed rS293544: Finish r275196: do not dereference rtentry in if_output() routines..
Finish r275196: do not dereference rtentry in if_output() routines.
Jan 9 2016, 4:34 PM
melifaro committed rS293471: Remove prefix check from in6_addroute()..
Remove prefix check from in6_addroute().
Jan 9 2016, 11:41 AM
melifaro committed rS293470: Remove sys/eventhandler.h from net/route.h.
Remove sys/eventhandler.h from net/route.h
Jan 9 2016, 9:35 AM
melifaro committed rS293466: (Temporarily) remove route_redirect_event eventhandler..
(Temporarily) remove route_redirect_event eventhandler.
Jan 9 2016, 6:26 AM
melifaro committed rS293465: Please Coverity by removing unneccessary check (rt_key() is always set)..
Please Coverity by removing unneccessary check (rt_key() is always set).
Jan 9 2016, 5:39 AM

Jan 8 2016

melifaro committed rS293424: Do more fine-grained locking in rtrequest1_fib()..
Do more fine-grained locking in rtrequest1_fib().
Jan 8 2016, 4:25 PM

Jan 7 2016

melifaro committed rS293315: Do not use 'struct route_in6' inside hash6_insert()..
Do not use 'struct route_in6' inside hash6_insert().
Jan 7 2016, 12:22 PM
melifaro committed rS293311: Convert pf(4) to the new routing API..
Convert pf(4) to the new routing API.
Jan 7 2016, 10:20 AM
melifaro closed D4763: Convert pf(4) to use new routing API. by committing rS293311: Convert pf(4) to the new routing API..
Jan 7 2016, 10:20 AM
melifaro updated the diff for D4763: Convert pf(4) to use new routing API..

Do pre-commit sync: fix NOINET case.

Jan 7 2016, 10:09 AM
melifaro added a comment to D4605: Properly stop timer before freeing link level entries for IPv4 and IPv6.

Ping - any reviewers active on this one?

sorry, will take a look today.

Jan 7 2016, 9:29 AM
melifaro committed rS293309: Convert cxgb/cxgbe to the new routing API..
Convert cxgb/cxgbe to the new routing API.
Jan 7 2016, 8:07 AM

Jan 5 2016

melifaro added a comment to D4794: Remove per-ifa outgoing packet accounting from ip[6]_output..
In D4794#101759, @bz wrote:

People had been asking for this for IPv4 and I did the patch but never committed it as the penalty was noticeable. We should not lose these features in favour of simplicity but make them perform well when designing things. Having had per-address counters has been very valuable in the last years for IPv6 to debug and account various things.

I've updated the patch.
IPv6 accounting for most common case (non-fragmented packets) should be slightly better (no ifa ref/unref cost). It is still costy, however, due to IF_ADDR_RLOCK() which is rwlock.
Sending frags is also accounted the same way which may degrade performance for that path.

Jan 5 2016, 1:18 PM
melifaro updated the diff for D4794: Remove per-ifa outgoing packet accounting from ip[6]_output..

Update IPv6 part (add precise accounting using newly-added in6_accountoifa()) per bz@ comments.

Jan 5 2016, 1:10 PM
melifaro added a comment to D4794: Remove per-ifa outgoing packet accounting from ip[6]_output..
In D4794#101759, @bz wrote:

This is a straight reject to the idea from my view. Sorry.
People had been asking for this for IPv4 and I did the patch but never committed it as the penalty was noticeable. We should not lose these features in favour of simplicity but make them perform well when designing things. Having had per-address counters has been very valuable in the last years for IPv6 to debug and account various things. And sorry, using a firewall is not a solution.

I thought it won't be easy but I had to start with something :)
Okay. So for IPv6 situation is not that complicated:
function like inc_ia6_countrers(ifp, addr, opackets, obytes) which internally finds appropriate ifa under ifaddr lock and increments pcpu counters under that lock, w/o the need to do heavy refcounting. It would both improve the performance and increase accuracy.

Jan 5 2016, 10:53 AM
melifaro updated D4794: Remove per-ifa outgoing packet accounting from ip[6]_output..
Jan 5 2016, 6:58 AM
melifaro retitled D4794: Remove per-ifa outgoing packet accounting from ip[6]_output. from to Remove per-ifa outgoing packet accounting from ip[6]_output..
Jan 5 2016, 6:51 AM

Jan 4 2016

melifaro committed rS293169: Finish r293098: make ip6_getpmtu() and ip6_getpmtu_ctl() use new routing API.
Finish r293098: make ip6_getpmtu() and ip6_getpmtu_ctl() use new routing API
Jan 4 2016, 6:32 PM
melifaro committed rS293167: Fix route lookup condition: do IPv6 route lookup for source based on.
Fix route lookup condition: do IPv6 route lookup for source based on
Jan 4 2016, 5:25 PM
melifaro committed rS293166: Maintain consistent behavior: make fib4_lookup_nh_ext() return.
Maintain consistent behavior: make fib4_lookup_nh_ext() return
Jan 4 2016, 5:23 PM
melifaro committed rS293159: Add rib_lookup_info() to provide API for retrieving individual route.
Add rib_lookup_info() to provide API for retrieving individual route
Jan 4 2016, 3:03 PM

Jan 3 2016

melifaro added reviewers for D4764: Convert ipfilter to use new routing API.: cy, network.
Jan 3 2016, 4:32 PM
melifaro retitled D4764: Convert ipfilter to use new routing API. from to Convert ipfilter to use new routing API..
Jan 3 2016, 4:31 PM
melifaro committed rS293108: Fix fib4_lookup_nh_ext() flags/flowid order messed up while merging..
Fix fib4_lookup_nh_ext() flags/flowid order messed up while merging.
Jan 3 2016, 4:13 PM
melifaro added reviewers for D4763: Convert pf(4) to use new routing API.: kp, glebius, network.
Jan 3 2016, 1:37 PM
melifaro updated D4763: Convert pf(4) to use new routing API..
Jan 3 2016, 1:35 PM
melifaro retitled D4763: Convert pf(4) to use new routing API. from to Convert pf(4) to use new routing API..
Jan 3 2016, 1:33 PM
melifaro committed rS293101: Remove 'struct route_int6' argument from in6_selectsrc() and.
Remove 'struct route_int6' argument from in6_selectsrc() and
Jan 3 2016, 10:43 AM
melifaro committed rS293098: Handle IPV6_PATHMTU option by spliting ip6_getpmtu_ctl() from ip6_getpmtu()..
Handle IPV6_PATHMTU option by spliting ip6_getpmtu_ctl() from ip6_getpmtu().
Jan 3 2016, 9:54 AM

Jan 1 2016

melifaro added a reviewer for D4751: Move all af-dependent lltable code to separate files. Move lltable internal definitions to if_lltable_var.h.: network.
Jan 1 2016, 1:52 PM
melifaro updated D4751: Move all af-dependent lltable code to separate files. Move lltable internal definitions to if_lltable_var.h..
Jan 1 2016, 1:50 PM
melifaro retitled D4751: Move all af-dependent lltable code to separate files. Move lltable internal definitions to if_lltable_var.h. from to Move all af-dependent lltable code to separate files. Move lltable internal definitions to if_lltable_var.h..
Jan 1 2016, 1:49 PM
melifaro committed rS293038: Use lltable_get_ifp() instead of direct access to lltable fields..
Use lltable_get_ifp() instead of direct access to lltable fields.
Jan 1 2016, 12:35 PM
melifaro committed rS293035: Remove second EVENTHANDLER_REGISTER slipped in r292978..
Remove second EVENTHANDLER_REGISTER slipped in r292978.
Jan 1 2016, 10:15 AM

Dec 31 2015

melifaro committed rS292978: Implement interface link header precomputation API..
Implement interface link header precomputation API.
Dec 31 2015, 5:04 AM
melifaro closed D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it. by committing rS292978: Implement interface link header precomputation API..
Dec 31 2015, 5:04 AM
melifaro updated the diff for D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

Do pre-commit sync.

Dec 31 2015, 4:58 AM

Dec 28 2015

melifaro added a comment to D4666: Add SFF-8024 Extended Specification Compliance.

Sorry, I totally missed the point that I have to commit it myself :)

Dec 28 2015, 9:27 AM
melifaro committed rS292831: Add SFF-8024 Extended Specification Compliance.
Add SFF-8024 Extended Specification Compliance
Dec 28 2015, 9:26 AM
melifaro closed D4666: Add SFF-8024 Extended Specification Compliance by committing rS292831: Add SFF-8024 Extended Specification Compliance.
Dec 28 2015, 9:26 AM

Dec 23 2015

melifaro added inline comments to D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..
Dec 23 2015, 1:12 PM
melifaro updated the diff for D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

Update once again to clarify arp_fillheader() behavior.

Dec 23 2015, 1:01 PM
melifaro added inline comments to D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..
Dec 23 2015, 11:40 AM
melifaro updated the diff for D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

Finally fix ip_arpintr() reply error handling.

Dec 23 2015, 11:36 AM
melifaro updated the diff for D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

Address glebius@ comments and sync to recent HEAD.

Dec 23 2015, 11:26 AM

Dec 21 2015

melifaro accepted D4666: Add SFF-8024 Extended Specification Compliance.
Dec 21 2015, 1:09 PM
melifaro accepted D4666: Add SFF-8024 Extended Specification Compliance.

Mark, big thanks for adding QSFP28 stuff.
Looks OK to me (minor comment below).

Dec 21 2015, 10:20 AM

Dec 17 2015

melifaro added inline comments to D1986: Teach lagg(4) to change MTU.
Dec 17 2015, 10:16 PM

Dec 16 2015

melifaro committed rS292333: Provide additional lle data in IPv6 lltable dump used by ndp(8)..
Provide additional lle data in IPv6 lltable dump used by ndp(8).
Dec 16 2015, 10:14 AM
melifaro committed rS292331: Convert if_stf(4) to new routing api..
Convert if_stf(4) to new routing api.
Dec 16 2015, 9:18 AM
melifaro committed rS292329: Fix ARP reply handling changed in r286955..
Fix ARP reply handling changed in r286955.
Dec 16 2015, 9:16 AM

Dec 14 2015

melifaro accepted D4522: inet6: Do not assume every interface has ip6 enabled.
Dec 14 2015, 9:25 AM · network

Dec 13 2015

melifaro added a comment to D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..
In D4102#95769, @mike-karels.net wrote:

I haven't reviewed this as closely as I should. However, if I read this correctly, this is a new caching mechanism that:

  • is not currently used for caching

Mike,
Thanks for the comments.
I probably should have written more detailed summary. Let me try to rephrase it.

Dec 13 2015, 9:09 PM
melifaro updated the diff for D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

Update patch to reflect recent netinet6/ lltable changes.

Dec 13 2015, 7:49 PM
melifaro committed rS292163: Fix PINNED routes handling..
Fix PINNED routes handling.
Dec 13 2015, 4:37 PM
melifaro committed rS292155: Remove LLE read lock from IPv6 fast path..
Remove LLE read lock from IPv6 fast path.
Dec 13 2015, 7:40 AM
melifaro closed D3780: Remove LLE read lock from IPv6 fast path. by committing rS292155: Remove LLE read lock from IPv6 fast path..
Dec 13 2015, 7:40 AM

Dec 12 2015

melifaro added a comment to D4490: inpcb rtentry/l2 prepend caching.

Thanks for updating the patch!
Looks OK, several small comments inline

Dec 12 2015, 4:58 PM · transport
melifaro added inline comments to D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..
Dec 12 2015, 2:35 PM
melifaro updated the diff for D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

Update diff to exclude infiniband part and address comments.

Dec 12 2015, 2:21 PM

Dec 11 2015

melifaro added a reviewer for D4522: inet6: Do not assume every interface has ip6 enabled: network.
Dec 11 2015, 9:13 PM · network
melifaro accepted D4522: inet6: Do not assume every interface has ip6 enabled.

According to the summary, it looks ok. Ensuring entire inet6/ code would work in all similar cases require (probably much) more work :)

Dec 11 2015, 9:13 PM · network

Dec 9 2015

melifaro committed rS292030: Use correct lookup key for gif route lookups..
Use correct lookup key for gif route lookups.
Dec 9 2015, 10:09 PM
melifaro committed rS292015: Make in_arpinput(), inp_lookup_mcast_ifp(), icmp_reflect(),.
Make in_arpinput(), inp_lookup_mcast_ifp(), icmp_reflect(),
Dec 9 2015, 11:14 AM

Dec 8 2015

melifaro committed rS291993: Merge helper fib* functions used for basic lookups..
Merge helper fib* functions used for basic lookups.
Dec 8 2015, 10:50 AM

Dec 6 2015

melifaro added a comment to D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

Thanks for reviewing that one.

Dec 6 2015, 7:42 PM

Dec 5 2015

melifaro updated D3780: Remove LLE read lock from IPv6 fast path..
Dec 5 2015, 11:25 AM
melifaro updated the diff for D3780: Remove LLE read lock from IPv6 fast path..

Update to sync with recent changes.

Dec 5 2015, 11:16 AM
melifaro committed rS291853: Remove LLE read lock from IPv4 fast path..
Remove LLE read lock from IPv4 fast path.
Dec 5 2015, 9:50 AM
melifaro closed D3688: Remove LLE read lock from IPv4 fast path. by committing rS291853: Remove LLE read lock from IPv4 fast path..
Dec 5 2015, 9:50 AM
melifaro updated the diff for D3688: Remove LLE read lock from IPv4 fast path..

Remove sbin/ifconfig debug.

Dec 5 2015, 9:23 AM
melifaro updated the diff for D3688: Remove LLE read lock from IPv4 fast path..

Do pre-commit sync.

Dec 5 2015, 9:22 AM

Dec 4 2015

melifaro added a comment to D4306: Re-add route caching for TCP.

Meant D4102 in last comment

Dec 4 2015, 8:09 PM · transport
melifaro added a comment to D4306: Re-add route caching for TCP.

The only thing that stops projects/routing work from landing is D4102 which conflicts with this particular patch.

Dec 4 2015, 8:02 PM · transport
melifaro added a comment to D4306: Re-add route caching for TCP.

2 kmacy:
Yes, avoiding route lookup is of course faster. The question is "how much benefit can we get from avoiding it and is is worth doing".
Also, I'm not against caching at all, I'm against the proposed caching implementation.

Dec 4 2015, 6:39 AM · transport
melifaro added a comment to D4306: Re-add route caching for TCP.

2 gnn:
projects/routing is not about "improve forwarding" , it is about improving any rtable/lltable lookup, regardless if is TCP or raw ip or forwarding. This change is about optimising TCP-only workloads while keeping other things slow and making it harder to change this in general.

Dec 4 2015, 6:16 AM · transport
melifaro added a comment to D4306: Re-add route caching for TCP.

2 mike-carels.
What I'm saying is that " take full advantage of what's there now," actually means "make things harder for those who want to fix routing".
For routing stuff you need to hide llentries/rtes and you changes exposes them back.
Passing 'struct rtentry' is not used in hot path, there are no ro_lle consumers other that af_inet flowtable for ethernet.
The last bit of change needed to start projects/routing merge to HEAD is in D4102 and is exactly about eliminating ro_lle .

Dec 4 2015, 6:11 AM · transport

Dec 3 2015

melifaro added a comment to D4306: Re-add route caching for TCP.

Okay, let me be a bit more specific. I'm against taking some internal structures from code doing lookups/prepends, lock them somehow and pretend that it is "caching". Caching in general might not that bad but I'd like to see the difference between lookups and cached approach. I did some tests a year ago on how actually radix slows things. I customised lookup function to always return the same route and I didn't see any significant increase on projects/routing branch (which probably means that we have other more significant problems like NUMA or batching mbufs or ..). Also note that it will be possible to change actual lookup to something different than radix (say, array/hash optimised for typical "1 interface, 1 [default] route" case).
Also, theoretically you can cache/reference nexthop structure returned by one of fib_* lookup functions, but again, I'm not sure it is worth the efforts.

Dec 3 2015, 6:30 AM · transport

Dec 2 2015

melifaro added a comment to D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

There are other things depending on that change. However, I don't really need IB changes at this stage - converting any specific networking technology is purely optional. Since I proposed sort of generic API that should suit for all cases, it would be strange to convert only ethernet - that's why I needed some other part.
So, if code updating is supposed to take more than several weeks, I will just split this review into ethernet part and IB part.

Dec 2 2015, 8:25 AM
melifaro committed rS291643: Move RTF_PINNED handling to generic route code..
Move RTF_PINNED handling to generic route code.
Dec 2 2015, 8:17 AM

Nov 30 2015

melifaro committed rS291466: Add new rt_foreach_fib_walk_del() function for deleting route entries.
Add new rt_foreach_fib_walk_del() function for deleting route entries
Nov 30 2015, 7:30 AM
melifaro committed rS291468: Remove in_setifarnh definition..
Remove in_setifarnh definition.
Nov 30 2015, 7:30 AM
melifaro committed rS291467: Move flowtable rte checks to separate function..
Move flowtable rte checks to separate function.
Nov 30 2015, 7:30 AM

Nov 29 2015

melifaro requested changes to D4306: Re-add route caching for TCP.

I believe that this is wrong way of doing things.

Nov 29 2015, 6:28 AM · transport

Nov 26 2015

melifaro added a comment to D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

Hans, any progress on testing infiniband? :)

Nov 26 2015, 8:39 AM

Nov 23 2015

melifaro set the repository for D4135: Overhaul if_enc(4) and make it loadable/unloadable in run-time to rS FreeBSD src repository - subversion.
Nov 23 2015, 8:51 AM

Nov 17 2015

melifaro committed rS290973: Merge HEAD r290858 to r290867.
Merge HEAD r290858 to r290867
Nov 17 2015, 5:42 AM

Nov 15 2015

melifaro committed rS290867: Bring back the ability of passing cached route via nd6_output_ifp()..
Bring back the ability of passing cached route via nd6_output_ifp().
Nov 15 2015, 4:02 PM
melifaro committed rS290858: Merge HEAD r276578 through r290825.
Merge HEAD r276578 through r290825
Nov 15 2015, 12:23 PM

Nov 14 2015

melifaro committed rS290828: Pass provided af instead of AF_UNSPEC to setwa_f callback..
Pass provided af instead of AF_UNSPEC to setwa_f callback.
Nov 14 2015, 6:16 PM
melifaro committed rS290825: Temporrarily revert r287531..
Temporrarily revert r287531.
Nov 14 2015, 5:21 PM
melifaro committed rS290819: Move iflladdr_event eventhandler invocation to if_setlladdr..
Move iflladdr_event eventhandler invocation to if_setlladdr.
Nov 14 2015, 1:34 PM