Page MenuHomeFreeBSD
Feed Advanced Search

Dec 10 2019

melifaro accepted D22631: Use IPv6 SAS algorithm for reflected ICMPv6 datagrams in NAT64.
Dec 10 2019, 1:34 PM
melifaro accepted D22749: Make TCP options parsing stricter.
Dec 10 2019, 1:15 PM

Dec 9 2019

melifaro accepted D22662: ipfw: Don't rollback state in alloc_table_vidx() if atomicity is not required..
Dec 9 2019, 10:16 PM

Dec 8 2019

melifaro added inline comments to D22662: ipfw: Don't rollback state in alloc_table_vidx() if atomicity is not required..
Dec 8 2019, 9:50 AM

Dec 7 2019

melifaro accepted D22713: Implement optional table entry limits of if_llatbl..
Dec 7 2019, 8:00 PM
melifaro added inline comments to D22712: Add Router and Prefix table limits..
Dec 7 2019, 7:45 PM
melifaro accepted D22711: Add new ICMPv6 counters for Anti-DoS limits.
Dec 7 2019, 2:09 PM

Dec 4 2019

melifaro added a comment to D22662: ipfw: Don't rollback state in alloc_table_vidx() if atomicity is not required..

Would it be possible to provide details on testing these changes?

Dec 4 2019, 8:23 PM
melifaro added reviewers for D22662: ipfw: Don't rollback state in alloc_table_vidx() if atomicity is not required.: ae, melifaro.
Dec 4 2019, 11:12 AM
melifaro added a comment to D22662: ipfw: Don't rollback state in alloc_table_vidx() if atomicity is not required..

Thank you for submitting the patch!

Dec 4 2019, 11:12 AM

Dec 2 2019

melifaro added inline comments to D22447: Implement NDP resource limits..
Dec 2 2019, 9:38 PM
melifaro accepted D22462: ip6_input: remove redundant v4mapped check.

Just for the logging purposes, the timeline looked like this:

Dec 2 2019, 7:29 PM
melifaro accepted D15488: If reading the routing table fails, retry up to 10 times.
Dec 2 2019, 6:32 PM
melifaro added a comment to D15488: If reading the routing table fails, retry up to 10 times.

I have come to the state that if your running into this problem you probably should not be using netstat -rn to look at route tables but rather use the proper tool that talks with your routing daemon, adding a "bang on the kernel" repeat inside of netstat is probably a poor solution.

Dec 2 2019, 6:32 PM
melifaro added inline comments to D22447: Implement NDP resource limits..
Dec 2 2019, 5:58 PM
melifaro added inline comments to D22631: Use IPv6 SAS algorithm for reflected ICMPv6 datagrams in NAT64.
Dec 2 2019, 12:59 PM
melifaro added a reviewer for D22631: Use IPv6 SAS algorithm for reflected ICMPv6 datagrams in NAT64: melifaro.
Dec 2 2019, 12:03 PM
melifaro added inline comments to D22631: Use IPv6 SAS algorithm for reflected ICMPv6 datagrams in NAT64.
Dec 2 2019, 11:51 AM

Jun 21 2019

melifaro accepted D20712: Add to ipfw tcpmss opcode that matches MSS values or ranges..
Jun 21 2019, 8:58 AM

Jun 7 2019

melifaro added inline comments to D20534: Add to NAT64LSN ability to swap runtime configuration between instances.
Jun 7 2019, 12:10 PM

May 24 2019

melifaro accepted D18339: Add two new options to "ipfw table <NAME> create" to simplify firewall reload.
May 24 2019, 10:27 AM

May 22 2019

melifaro closed D20328: Fix gateway setup for the interface routes..
May 22 2019, 9:20 PM
melifaro committed rS348121: Fix gateway setup for the interface routes..
Fix gateway setup for the interface routes.
May 22 2019, 9:20 PM

May 20 2019

melifaro changed the visibility for D20076: Streamline ifa selection when adding a route..
May 20 2019, 11:46 PM
melifaro updated the summary of D20328: Fix gateway setup for the interface routes..
May 20 2019, 11:43 PM
melifaro created D20328: Fix gateway setup for the interface routes..
May 20 2019, 11:32 PM

May 19 2019

melifaro committed rS347982: Fix rt_ifa selection during loopback route insertion process..
Fix rt_ifa selection during loopback route insertion process.
May 19 2019, 9:50 PM
melifaro closed D20076: Streamline ifa selection when adding a route..
May 19 2019, 9:50 PM
melifaro updated the summary of D20076: Streamline ifa selection when adding a route..
May 19 2019, 9:35 PM

May 12 2019

melifaro accepted D20224: Eliminate rwlock from fast path processing in BPF code.
May 12 2019, 5:40 PM
melifaro added inline comments to D20224: Eliminate rwlock from fast path processing in BPF code.
May 12 2019, 4:19 PM

May 1 2019

melifaro added a comment to D20117: Restructure mbuf send tags to provide stronger guarantees..

I have a generic question about the snd_tag functionality.

May 1 2019, 11:57 PM

Apr 26 2019

melifaro added inline comments to D15405: Match IPv6 neighbor routes when they are marked with RTF_CONNECTED..
Apr 26 2019, 7:56 PM
melifaro added a comment to D15404: Add and use new RTF_CONNECTED flag to mark connected routes.

I read the problem description from the PR194485 and looked in the other (D15405, D15406) patches.

Apr 26 2019, 7:47 PM
melifaro added reviewers for D20076: Streamline ifa selection when adding a route.: ae, network.
Apr 26 2019, 7:21 PM
melifaro updated the summary of D20076: Streamline ifa selection when adding a route..
Apr 26 2019, 7:19 PM
melifaro updated the diff for D20076: Streamline ifa selection when adding a route..

Update revision.

Apr 26 2019, 7:19 PM
melifaro updated the summary of D20076: Streamline ifa selection when adding a route..
Apr 26 2019, 7:17 PM
melifaro changed the visibility for D20076: Streamline ifa selection when adding a route..
Apr 26 2019, 3:10 PM
melifaro created D20076: Streamline ifa selection when adding a route..
Apr 26 2019, 3:07 PM

Apr 25 2019

melifaro added a comment to D20044: tun/tap: merge.

Looks like a really cool and logical thing to do! Several comments inline.

Apr 25 2019, 10:34 AM

Apr 23 2019

melifaro added inline comments to D19921: Add GRE-in-UDP encapsulation support.
Apr 23 2019, 4:45 PM
melifaro added inline comments to D19921: Add GRE-in-UDP encapsulation support.
Apr 23 2019, 2:18 PM
melifaro added inline comments to D19921: Add GRE-in-UDP encapsulation support.
Apr 23 2019, 9:45 AM

Apr 8 2019

melifaro accepted D19804: Use fib4_lookup_nh_ext() in ip_output()..

LGTM. The last one: are you planning to implement the same functionality in ip6_output()? :-)

Apr 8 2019, 3:22 PM

Apr 4 2019

melifaro added inline comments to D19804: Use fib4_lookup_nh_ext() in ip_output()..
Apr 4 2019, 1:46 AM

Apr 2 2019

melifaro added inline comments to D19804: Use fib4_lookup_nh_ext() in ip_output()..
Apr 2 2019, 11:04 PM

Jan 7 2019

melifaro added a comment to D18769: Fix broken IPv6 scope ID checks in outgoing direction.

Would it be possible to include firewalls in the test plan?
For example, ensure that ipfw still accepts the packet using something like 'allow ip6 from any to any via lo0' rule.

Jan 7 2019, 6:28 PM

Jan 6 2019

melifaro added inline comments to D18690: Reduce overhead of per-packet processing by ipfw(4).
Jan 6 2019, 12:03 AM

Aug 24 2018

melifaro added inline comments to D16887: Unbreak VLANs after r337943..
Aug 24 2018, 8:09 PM

Jul 7 2018

melifaro requested changes to D14802: fix malloc length in ip6_output.c:GET_PKTOPT_VAR.

Hi Jason,

Jul 7 2018, 2:36 PM

Jul 3 2018

melifaro added a comment to D14802: fix malloc length in ip6_output.c:GET_PKTOPT_VAR.

I was thinking of having something like the below one as a macro, moving the rest to the actual function.

Jul 3 2018, 6:49 PM

Jun 14 2018

melifaro accepted D15789: Switch RIB and RADIX_NODE_HEAD lock from rwlock(9) to rmlock(9).
Jun 14 2018, 10:12 PM

May 19 2018

melifaro added inline comments to D15488: If reading the routing table fails, retry up to 10 times.
May 19 2018, 4:36 PM

May 13 2018

melifaro added a reviewer for D15404: Add and use new RTF_CONNECTED flag to mark connected routes: network.
May 13 2018, 9:33 AM

May 9 2018

melifaro requested changes to D15355: lagg: Remove redundant rmlock.

Would you mind describe the proposed locking model somewhere in the file explicitly?
In particular, 1) what does _XLOCK or _SLOCK locks protect? 2) How does the sc_slowpath work? 3) What is "right" lock order?
It would be beneficial to describe some examples of problematic potential LORs as well.

May 9 2018, 7:48 PM

Apr 19 2018

melifaro accepted D15083: Use pointer to fake bpf_if structure after bpfdetach().
Apr 19 2018, 9:45 PM

Apr 8 2018

melifaro added a comment to D14802: fix malloc length in ip6_output.c:GET_PKTOPT_VAR.

@melifaro I'm thinking about how to make GET_PKTOPT_VAR a function or perhaps... how to make it much smaller and call a function for the bulk of the logic.

That would be great. The current looks a bit hard to grasp.

Apr 8 2018, 1:13 PM

Apr 5 2018

melifaro accepted D3567: ignore ICMP need frag with equal or larger MTU offer.
Apr 5 2018, 10:34 PM

Apr 1 2018

melifaro created P161 ng_bpf testing.
Apr 1 2018, 4:00 PM

Mar 31 2018

melifaro retitled D14920: Fix locking for the bpf TX path from Fix locking for the bpf TX path. The fix consistes of splitting bpfwrite() into smaller chunks, reordered to optimize locking access. Additionally, per-descriptor BPF lock was converted to rwlock. to Fix locking for the bpf TX path.
Mar 31 2018, 11:39 PM
melifaro created D14920: Fix locking for the bpf TX path.
Mar 31 2018, 8:28 PM
melifaro closed D9676: Fix memory leaks in route.
Mar 31 2018, 3:06 PM
melifaro committed rS331844: Fix memory leaks in route(8)..
Fix memory leaks in route(8).
Mar 31 2018, 3:06 PM
melifaro accepted D9676: Fix memory leaks in route.
Mar 31 2018, 3:03 PM
melifaro accepted D10318: Remove redundant checks of rtm_type in route_output().
Mar 31 2018, 2:56 PM

Mar 30 2018

melifaro accepted D14904: Remove a comment that suggests checking a non-pointer is non-NULL..
Mar 30 2018, 8:02 AM

Mar 25 2018

melifaro committed rS331530: Branch for bringing proper multipath to the networking stack..
Branch for bringing proper multipath to the networking stack.
Mar 25 2018, 9:16 AM

Mar 22 2018

melifaro added inline comments to D14619: refactor ip6_getpcbopt() for better locking and memory management.
Mar 22 2018, 11:58 PM
melifaro added inline comments to D14621: Fix a potential use after free in getsockopt() access to inp_options.
Mar 22 2018, 11:52 PM

Mar 20 2018

melifaro committed rS331275: Use count(9) api for the bpf(4) statistics..
Use count(9) api for the bpf(4) statistics.
Mar 20 2018, 10:57 PM
melifaro closed D14726: Convert bpf(9) counters to counter(9)..
Mar 20 2018, 10:57 PM

Mar 19 2018

melifaro added inline comments to D14621: Fix a potential use after free in getsockopt() access to inp_options.
Mar 19 2018, 12:11 PM

Mar 18 2018

melifaro accepted D14702: Allow to specify PCP on packets not belonging to any VLAN..

Thank you!

Mar 18 2018, 10:17 PM
melifaro added a comment to D14702: Allow to specify PCP on packets not belonging to any VLAN..
In D14702#309683, @kib wrote:
In D14702#309602, @kib wrote:

The feature is disabled by default, so I do not see it as critical or even important that some stuff would break when vid 0 encapsulation is enabled. The feature is added for the cases where it works.

That's the topic we see differently. The functionality indeed is not used by default, however the actual code complicates ether_output().

Indeed, it complicates the function because it adds the new feature.

Furthermore, I'm afraid that after someone actually tries to use this, the code will get more complicated. I'd really appreciate if you could change the ether_output() part to call the (inlined) function doing all of the business logic for handling pcp.

Can you explain more explicitly what do you want to change ? The only interpretation for your words which I was able to construct is that you want ether_8021q_frame() to become inlined in ether_output_frame(). Is it correct ?
If yes, I do not see much sense in it, because ether_8021q_frame() is only called for non-default path, and it really makes sense to keep ether_output_frame() short to not pollute icache.

No, not exactly.

Mar 18 2018, 7:53 PM
melifaro added a comment to D14702: Allow to specify PCP on packets not belonging to any VLAN..
In D14702#309602, @kib wrote:

Several questions.

  1. What was the driver of implementing interface-level pcp settings?

For example, currently pcp can be set on per-mbuf basis for the "real" vlans, which can give more granular control on the outgoing traffic.

This is supported in the patch as well. If the scheduled mbuf has 8021Q tag attached, the pcp value from the tag is inserted into the VLAN frame tag.
If you look at the code, you will see that I extracted the fragment from vlan_trasnmit() to reuse in both places.

Ah, my bad. I haven't noticed the 8021q tag override part. In that case it's more like setting default pcp.

Personally it is a bit hard for me to see the benefits of having the same pcp applied to all packets from the host.
Typically this kind of configuration can be easily configured on the access switch and host is supposed to be able to do more fine-granular control.

I think that this is complimentary, and one method of manipulating pcp does not exclude the validity, and apparent usefulness, of another.
The patch was written because there are users who need this feature (I cannot say more).

What comes into my mind is having something like dscp-to-pcp map, which allows user to benefit from all existing dscp manipulation framework.
What do you think?

Perhaps yes, but this is out of scope of the change. If pcp is already assigned, it will be honored. The assignment should be managed by the layer above the place where the framing and transmit are performed.

  1. Have you performed interop testing for the non-routable protocols like lldp, stp, lacp, etc?

Having seen some issues related to the routers/switches control plane forgetting to remove similar "dummy" headers, I'd recommend to perform validation with multiple vendors before committing this.

No, no interop testing was done. As an anecdote, I can say that my home switch filters the vid 0 packets outright. More, Mellanox driver has the flow table programmed to drop such packets as well, right now (the fix is already worked out).

The feature is disabled by default, so I do not see it as critical or even important that some stuff would break when vid 0 encapsulation is enabled. The feature is added for the cases where it works.

That's the topic we see differently. The functionality indeed is not used by default, however the actual code complicates ether_output(). Furthermore, I'm afraid that after someone actually tries to use this, the code will get more complicated. I'd really appreciate if you could change the ether_output() part to call the (inlined) function doing all of the business logic for handling pcp.

Mar 18 2018, 6:06 PM
melifaro added a comment to D14702: Allow to specify PCP on packets not belonging to any VLAN..

Several questions.

Mar 18 2018, 3:03 PM

Mar 17 2018

melifaro created D14726: Convert bpf(9) counters to counter(9)..
Mar 17 2018, 11:35 PM
melifaro committed rS331098: Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration..
Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration.
Mar 17 2018, 5:06 PM

Feb 15 2018

melifaro requested changes to D14385: Wrap a vlan's parent's if_output in a separate function..

The issue which this change is trying to solve is control plane issue. Dealing with it in the data path code seem to be a wrong approach. Additionally, it imposes significant performance penalties.
The better way of doing this is to have a "solver" function which is able to handle such cases. Calls to this function can be triggered by ifnet/lagg change events subscription.

Feb 15 2018, 6:33 PM

Feb 9 2018

melifaro accepted D14257: Update the MTU in affected routes when IPv6 RA changes the MTU.

I would like to commit this change and leave improvements in rt_updatemtu() for another day.

Sure, it's totally not the scope of this CR.

Feb 9 2018, 5:34 PM
melifaro added a comment to D14257: Update the MTU in affected routes when IPv6 RA changes the MTU.
In D14257#299355, @ae wrote:

Invoking of rt_updatemtu() looks right to me. But I don't like how rt_updatemtu() works.
Recently we found that in6_mtutimo() on systems with many IPv6 routes produces noticeable delay for packets processing.
It holds RIB_WLOCK while all routes are processed, and thus normal packets processing is blocked on RIB_RLOCK for this time.

There are other rt_foreach_fib() users as well. Probably we can change iteration logic the following way:

retry = 1
while (retry && retry_count < N) {
retry = 0
RADIX_RLOCK
generation = rnh_gen
foreach_route()
  if_match()
    if linked_list_add(route)
      refcount(route)
    else
     retry++; // allocation failure, retry
RADIX_RUNLOCK
Feb 9 2018, 10:28 AM

Feb 7 2018

melifaro accepted D14254: ICMPv6: fix redirects containing global addresses.
Feb 7 2018, 11:03 PM

Dec 1 2017

melifaro accepted D13286: ifconfig(8): Display extended compliance code for SFP transceivers.
Dec 1 2017, 7:11 AM

Mar 3 2017

melifaro accepted D9873: Fix ipfw tables related PR 217262 and 217292.
Mar 3 2017, 7:14 PM

Jan 26 2017

melifaro committed rP432479: Apply sysdep-bsd-sysio.h patch by default..
Apply sysdep-bsd-sysio.h patch by default.
Jan 26 2017, 10:04 AM

Jan 22 2017

melifaro committed rP432152: Update to 1.6.3..
Update to 1.6.3.
Jan 22 2017, 3:22 PM

Aug 30 2016

melifaro added a comment to D7695: Add GARP retransmit capability.

Could you please explain why this should be done in kernel?

Aug 30 2016, 10:12 AM

Aug 14 2016

melifaro committed rP420204: Finally, bump net/bird revision to account patches added in r420203..
Finally, bump net/bird revision to account patches added in r420203.
Aug 14 2016, 11:31 PM
melifaro committed rP420203: Fix net/bird r420176 update: really add bugfixes from git..
Fix net/bird r420176 update: really add bugfixes from git.
Aug 14 2016, 11:08 PM
melifaro committed rP420176: Update net/bird,net/bird6 to 1.6.0.
Update net/bird,net/bird6 to 1.6.0
Aug 14 2016, 6:25 AM

Jun 5 2016

melifaro committed rS301440: Fix 4-byte overflow in ipv6_writemask..
Fix 4-byte overflow in ipv6_writemask.
Jun 5 2016, 10:34 AM

Feb 10 2016

melifaro accepted D5240: sfxge: implement SIOCGI2C to read infromation from phy modules.

Great news, thanks for implementing that!

Feb 10 2016, 12:10 PM

Feb 2 2016

melifaro added a comment to D5163: MFC r272514 Switch ipfw to use rmlock for runtime locking..

Please take a look on -HEAD ipfw version.
Along with some architectural changes, there are several performance oriented ones: rmlock for fast path, per-cpu rule counters, more compact rule structure and faster tables.
It could be merged to 10 (in fact, we even run in on 9/ in several places)

Feb 2 2016, 5:10 AM

Jan 26 2016

melifaro requested changes to D1986: Teach lagg(4) to change MTU.

Sorry for taking that long.

Jan 26 2016, 7:04 AM

Jan 25 2016

melifaro committed rS294712: Convert TCP mtu checks to the new routing KPI..
Convert TCP mtu checks to the new routing KPI.
Jan 25 2016, 10:07 AM
melifaro committed rS294710: Fix flowtable part missed in r294706..
Fix flowtable part missed in r294706.
Jan 25 2016, 9:31 AM
melifaro committed rS294706: MFP r287070,r287073: split radix implementation and route table structure..
MFP r287070,r287073: split radix implementation and route table structure.
Jan 25 2016, 6:33 AM
melifaro committed rS294704: Remove unused radix_mpath definitions..
Remove unused radix_mpath definitions.
Jan 25 2016, 5:28 AM

Jan 21 2016

melifaro added a reviewer for D4962: Pass addresses instead of sockaddr for lltable lookup. Introduce new light-weight versions of lookup functions.: network.
Jan 21 2016, 11:42 PM