Page MenuHomeFreeBSD
Feed Advanced Search

May 1 2019

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

I'm sorry, I completely missed this change in the past. But it looks like it can break ipfw firewall rules, since rcvif is now union with snd_tag. And this means, rcvif can be initialized for packets that were not actually received on specified interface. ipfw uses rcvif in rules to check that a packet was received on specified interface, and this check was correct even for outgoing packets. Now it looks like such checks can be incorrect.

May 1 2019, 10:13 AM
ae added reviewers for D20117: Restructure mbuf send tags to provide stronger guarantees.: network, melifaro, glebius, rgrimes.
May 1 2019, 10:08 AM
ae committed rS346988: MFC r345843:.
MFC r345843:
May 1 2019, 9:06 AM
ae committed rS346987: MFC r345797:.
MFC r345797:
May 1 2019, 9:04 AM

Apr 30 2019

ae added a comment to D20109: Need to wait for epoch callbacks to complete before detaching network interface.

The epoch_call_drain() function is indeed needed (at least to fix such panic https://reviews.freebsd.org/F4491011).
But your example shows that epoch based reclamation is just wrongly used. The right solution should be keeping ifnet detached until all possible consumers stop reference it, and only then it will be safe to free ifnet pointer.

Apr 30 2019, 1:34 PM

Apr 29 2019

ae added a comment to D20070: Fix mutual exclusion issues in multicast socket option handling..

I'm not quite familiar with this code. Is it safe enough to make INP_WUNLOCK(); /* some code */ INP_WLOCK(); without holding extra reference to PCB? Is is it impossible, that another thread can destroy PCB when we release lock?

Sorry, I don't see where the question is coming from. In general, no, you have to acquire a reference before dropping the lock. That's what the old version of the diff did, in order to acquire the sleepable IN_MULTI lock. But dropping the PCB lock introduces races. I changed the code to acquire the IN_MULTI lock first, so we don't have to drop the PCB lock anymore.

Apr 29 2019, 1:28 PM
ae added inline comments to D20076: Streamline ifa selection when adding a route..
Apr 29 2019, 11:29 AM
ae added inline comments to D20076: Streamline ifa selection when adding a route..
Apr 29 2019, 11:23 AM
ae committed rS346885: Handle HAVE_PROTO flag and print "proto" keyword for O_IP4 and O_IP6.
Handle HAVE_PROTO flag and print "proto" keyword for O_IP4 and O_IP6
Apr 29 2019, 9:53 AM
ae committed rS346884: Add IPv6 support for O_IPLEN opcode..
Add IPv6 support for O_IPLEN opcode.
Apr 29 2019, 9:33 AM

Apr 26 2019

ae added a comment to D20070: Fix mutual exclusion issues in multicast socket option handling..

I'm not quite familiar with this code. Is it safe enough to make INP_WUNLOCK(); /* some code */ INP_WLOCK(); without holding extra reference to PCB? Is is it impossible, that another thread can destroy PCB when we release lock?

Apr 26 2019, 10:20 AM

Apr 24 2019

ae accepted D20027: tun/tap: close race between destroy/ioctl handler.

LGTM.

Apr 24 2019, 9:59 AM
ae committed rS346630: Add GRE-in-UDP encapsulation support as defined in RFC8086..
Add GRE-in-UDP encapsulation support as defined in RFC8086.
Apr 24 2019, 9:06 AM
ae closed D19921: Add GRE-in-UDP encapsulation support.
Apr 24 2019, 9:06 AM

Apr 23 2019

ae added inline comments to D19921: Add GRE-in-UDP encapsulation support.
Apr 23 2019, 3:52 PM
ae added inline comments to D19921: Add GRE-in-UDP encapsulation support.
Apr 23 2019, 10:36 AM

Apr 22 2019

ae accepted D20006: ipoib: assign link-local address according to RFC.
Apr 22 2019, 9:38 PM
ae added a comment to D20006: ipoib: assign link-local address according to RFC.
In D20006#430085, @kib wrote:

Well, I can take only 8bytes. But what I see on Linux (not me, this is copy/paste from somebody else actions):

# ifconfig ib5
Ifconfig uses the ioctl access method to get the full address information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes are displayed correctly.
Ifconfig is obsolete! For replacement check ip.
ib5       Link encap:InfiniBand  HWaddr 80:00:08:87:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00
          inet addr:16.7.5.140  Bcast:16.7.255.255  Mask:255.255.0.0
          inet6 addr: fe80::ee0d:9a03:43:f7bd/64 Scope:Link
Apr 22 2019, 6:26 PM
ae added a comment to D20006: ipoib: assign link-local address according to RFC.
In D20006#430051, @kib wrote:

Hm, from my reading of RFC, there is a very explicit requirement to form 20-byte link-local address as [0:qpn:GID], and the 16-byte l/l should be formed by truncating. I also verified that after the patch, l/l address on the ibX is same as configured by Linux.

Are you worrying about the embedded scope id ? If scope is implanted before the call, I can preserve it ?

Apr 22 2019, 5:19 PM
ae added a comment to D20006: ipoib: assign link-local address according to RFC.

I'm not sure that is correct. in6_get_hw_ifid() is used by in6_ifattach_linklocal() via get_ifid() to generate IPv6 link local address. IPv6 link local address has already filled first 8 bytes. And in this change you override them. Note in the line 238 says that first 8 bytes should be preserved.

Apr 22 2019, 3:54 PM
ae added a comment to D20006: ipoib: assign link-local address according to RFC.

It looks like INFINIBAND_ALEN defines link address length for infiniband. It is 20 bytes. It seems the check if (addrlen != 16) will be always successful.

Apr 22 2019, 3:13 PM
ae updated the diff for D19921: Add GRE-in-UDP encapsulation support.
  • remove RSS-related chunks.
  • allow use any port number within [V_ipport_hifirstauto, V_ipport_hilastauto] range.
Apr 22 2019, 11:16 AM
ae added a comment to D19754: cxgbe(4): Integrate with PNP PCIID-based autoload.

We have single machine, that after automatic firmware upgrade fails to attache the driver:

Apr 22 2019, 11:10 AM

Apr 20 2019

ae abandoned D19925: Add epoch_call_drain() function to wait until scheduled epoch_call() requests will be finished..

It seems this is not enough to prevent panics. Simple kernel module to reproduce the panic.

Apr 20 2019, 9:24 AM

Apr 19 2019

ae added inline comments to D19921: Add GRE-in-UDP encapsulation support.
Apr 19 2019, 4:36 PM
ae updated the summary of D19921: Add GRE-in-UDP encapsulation support.
Apr 19 2019, 10:58 AM

Apr 16 2019

ae created D19925: Add epoch_call_drain() function to wait until scheduled epoch_call() requests will be finished..
Apr 16 2019, 4:09 PM
ae updated the summary of D19921: Add GRE-in-UDP encapsulation support.
Apr 16 2019, 3:25 PM
ae updated the diff for D19921: Add GRE-in-UDP encapsulation support.

Document GRE-in-UDP in gre(4).

Apr 16 2019, 12:52 PM
ae created D19921: Add GRE-in-UDP encapsulation support.
Apr 16 2019, 11:14 AM

Apr 14 2019

ae committed rS346214: MFC r345319:.
MFC r345319:
Apr 14 2019, 1:18 PM
ae committed rS346213: MFC r345293:.
MFC r345293:
Apr 14 2019, 1:08 PM
ae committed rS346212: MFC r345264:.
MFC r345264:
Apr 14 2019, 12:39 PM
ae committed rS346211: MFC r345263:.
MFC r345263:
Apr 14 2019, 12:36 PM
ae committed rS346210: MFC r345262:.
MFC r345262:
Apr 14 2019, 12:34 PM
ae committed rS346209: MFC r339542:.
MFC r339542:
Apr 14 2019, 12:28 PM
ae committed rS346208: MFC r344709 (by ygy):.
MFC r344709 (by ygy):
Apr 14 2019, 12:14 PM
ae committed rS346207: MFC r344665 (by trhodes):.
MFC r344665 (by trhodes):
Apr 14 2019, 12:11 PM
ae committed rS346206: MFC r344665 (by trhodes):.
MFC r344665 (by trhodes):
Apr 14 2019, 12:10 PM
ae committed rS346205: MFC r341471:.
MFC r341471:
Apr 14 2019, 12:05 PM
ae committed rS346204: MFC r340792 (by ygy):.
MFC r340792 (by ygy):
Apr 14 2019, 11:52 AM
ae committed rS346203: MFC r340717 (by ygy):.
MFC r340717 (by ygy):
Apr 14 2019, 11:50 AM
ae committed rS346202: Fix the build. Include net/pfil.h to be able use IPFW_WLOCK()..
Fix the build. Include net/pfil.h to be able use IPFW_WLOCK().
Apr 14 2019, 11:19 AM
ae committed rS346201: MFC r342908:.
MFC r342908:
Apr 14 2019, 11:06 AM
ae committed rS346200: MFC r345264:.
MFC r345264:
Apr 14 2019, 10:44 AM
ae committed rS346199: MFC r345263:.
MFC r345263:
Apr 14 2019, 10:41 AM
ae committed rS346198: MFC r345262:.
MFC r345262:
Apr 14 2019, 10:38 AM

Apr 13 2019

ae accepted D19898: Don't allow the user to set RTF_RNH_LOCKED.
Apr 13 2019, 5:10 PM
ae committed rS346181: MFC r345450:.
MFC r345450:
Apr 13 2019, 9:06 AM
ae committed rS346180: MFC r345450:.
MFC r345450:
Apr 13 2019, 8:56 AM

Apr 10 2019

ae added a comment to D18339: Add two new options to "ipfw table <NAME> create" to simplify firewall reload.

Ok. It is more flexible, but produces additional options. I think ipfw(8) is already very complex.
What if we will make "missing"+"flush" behavior as default.
It seems if user wants to create table, it is expected that later this table will be filled. So, if we are creating some table, and it is already exist, we will check that the table has the same configuration and then flush it.
If configuration is different, then we return error. What you think?

Apr 10 2019, 5:29 PM
ae accepted D19872: Reinitialize source filter structures after removing an entry..
Apr 10 2019, 3:58 PM
ae added a comment to D19872: Reinitialize source filter structures after removing an entry..

IPv6 has the same code.

Apr 10 2019, 8:48 AM

Apr 9 2019

ae added a comment to D18339: Add two new options to "ipfw table <NAME> create" to simplify firewall reload.

I think you can add to the beginning of your ipfw rules script something like this:

ipfw -q flush
ipfw -q table all destroy

And then create needed tables and fill them.

Apr 9 2019, 6:19 PM
ae added a reviewer for D19094: Restore ARC MFU/MRU pressure: ZFS.
Apr 9 2019, 4:16 PM · ZFS

Apr 8 2019

ae committed rS346027: MFC r345763:.
MFC r345763:
Apr 8 2019, 11:54 AM
ae committed rS346026: MFC r345763:.
MFC r345763:
Apr 8 2019, 11:54 AM

Apr 6 2019

ae committed rS345985: Add firewall_[nat64|nptv6|pmod]_enable variables to /etc/defaults/rc.conf.
Add firewall_[nat64|nptv6|pmod]_enable variables to /etc/defaults/rc.conf
Apr 6 2019, 5:21 PM

Apr 3 2019

ae committed rS345843: Follow the declared behaviour that specifies server string format in.
Follow the declared behaviour that specifies server string format in
Apr 3 2019, 12:48 PM

Apr 2 2019

ae committed rS345798: Create 64bit mibII counters for all interfaces..
Create 64bit mibII counters for all interfaces.
Apr 2 2019, 1:38 PM
ae closed D16654: IPv6 transport for bsnmp.
Apr 2 2019, 12:50 PM
ae committed rS345797: Add IPv6 transport for bsnmp..
Add IPv6 transport for bsnmp.
Apr 2 2019, 12:50 PM
ae committed rS345795: MFC r345292:.
MFC r345292:
Apr 2 2019, 9:33 AM
ae committed rS345794: MFC r345292:.
MFC r345292:
Apr 2 2019, 9:31 AM

Apr 1 2019

ae added a comment to D19764: Fix if_(m)addr_rlock() on stable/12..

Mark, do you suppose that this can fix some another strange panics that appeared after epochification?

Apr 1 2019, 4:07 PM
ae committed rS345763: Correct a port number assignment..
Correct a port number assignment.
Apr 1 2019, 12:15 PM

Mar 30 2019

ae accepted D19760: Replace read_random(9) with more appropriate arc4rand(9) KPIs.

LGTM.

Mar 30 2019, 11:31 AM
ae added a comment to D19754: cxgbe(4): Integrate with PNP PCIID-based autoload.

Note, that automatic loading for cxgbe can do unexpected firmware update when user does first boot.

Mar 30 2019, 10:12 AM

Mar 29 2019

ae accepted D19751: Do not perform DAD on stf(4) interfaces..
Mar 29 2019, 3:50 PM

Mar 23 2019

ae committed rS345450: Add ability to automatically load ipfw_nat64, ipfw_nptv6 and ipfw_pmod.
Add ability to automatically load ipfw_nat64, ipfw_nptv6 and ipfw_pmod
Mar 23 2019, 3:41 PM
ae closed D19673: Allow loading related kernel modules through ipfw rc script.
Mar 23 2019, 3:41 PM

Mar 22 2019

ae accepted D19673: Allow loading related kernel modules through ipfw rc script.

LGTM.

Mar 22 2019, 10:28 AM

Mar 21 2019

ae added a comment to D19673: Allow loading related kernel modules through ipfw rc script.

I think you may find useful ipfw_pmod module too, it adds support for TCP MSS modification, but, yes, it is not related to IPv6. However, ng_tcpmss does not support TCP over IPv6, but ipfw_pmod does :)

Mar 21 2019, 8:13 PM
ae added a comment to D19622: Fix panic in network stack due memory use after free in relation to fragmented packets.
In D19622#421205, @bz wrote:

@glebius and @hselasky rather than changing pr_drain I wondered about an eventhandler or something as that way dealing with non-protocol places such as firewalls, netisr, .. would also be possible? I think not queuing is not an option, arp queue is just another one of these places... there's more and more the longer I think about it... We'll need something to get them all (and getting the locking right).

Mar 21 2019, 8:09 PM
ae added a reviewer for D18339: Add two new options to "ipfw table <NAME> create" to simplify firewall reload: melifaro.
Mar 21 2019, 11:18 AM

Mar 20 2019

ae committed rS345321: Do not enter epoch section recursively..
Do not enter epoch section recursively.
Mar 20 2019, 10:11 AM
ae committed rS345319: Use NET_EPOCH instead of allocating separate one..
Use NET_EPOCH instead of allocating separate one.
Mar 20 2019, 10:06 AM

Mar 19 2019

ae committed rS345294: Remove extra spaces..
Remove extra spaces.
Mar 19 2019, 11:16 AM
ae committed rS345293: Reapply r345274 with build fixes for 32-bit architectures..
Reapply r345274 with build fixes for 32-bit architectures.
Mar 19 2019, 10:57 AM
ae committed rS345292: Convert allocation of bpf_if in bpfattach2 from M_NOWAIT to M_WAITOK.
Convert allocation of bpf_if in bpfattach2 from M_NOWAIT to M_WAITOK
Mar 19 2019, 10:29 AM

Mar 18 2019

ae committed rS345275: Revert r345274. It appears that not all 32-bit architectures have.
Revert r345274. It appears that not all 32-bit architectures have
Mar 18 2019, 2:00 PM
ae abandoned D19561: NAT64 update.

Committed in rS345262, rS345263, rS345264, rS345274.

Mar 18 2019, 1:05 PM
ae committed rS345274: Update NAT64LSN implementation:.
Update NAT64LSN implementation:
Mar 18 2019, 12:59 PM
ae committed rS345264: Add NAT64 CLAT implementation as defined in RFC6877..
Add NAT64 CLAT implementation as defined in RFC6877.
Mar 18 2019, 11:45 AM
ae committed rS345263: Add SPDX-License-Identifier and update year in copyright..
Add SPDX-License-Identifier and update year in copyright.
Mar 18 2019, 10:50 AM
ae committed rS345262: Modify struct nat64_config..
Modify struct nat64_config.
Mar 18 2019, 10:39 AM
ae committed rS345259: MFC r345004 (with modification):.
MFC r345004 (with modification):
Mar 18 2019, 9:31 AM
ae committed rS345258: MFC r345004 (with modification):.
MFC r345004 (with modification):
Mar 18 2019, 9:29 AM
ae committed rS345257: MFC r345003:.
MFC r345003:
Mar 18 2019, 9:23 AM
ae committed rS345256: MFC r345003:.
MFC r345003:
Mar 18 2019, 9:22 AM

Mar 14 2019

ae committed rS345126: MFC r344873:.
MFC r344873:
Mar 14 2019, 8:27 AM
ae committed rS345125: MFC r344873:.
MFC r344873:
Mar 14 2019, 8:25 AM

Mar 12 2019

ae updated the summary of D19561: NAT64 update.
Mar 12 2019, 2:57 PM
ae updated the diff for D19561: NAT64 update.

Remove object files. Sorry.

Mar 12 2019, 2:13 PM
ae updated the diff for D19561: NAT64 update.

Fix misused ENOENT in some places.

Mar 12 2019, 2:12 PM
ae updated the summary of D19561: NAT64 update.
Mar 12 2019, 1:27 PM
ae updated the diff for D19561: NAT64 update.

Add missing TOK_STATES_CHUNKS token

Mar 12 2019, 1:26 PM
ae updated the summary of D19561: NAT64 update.
Mar 12 2019, 1:19 PM
ae created D19561: NAT64 update.
Mar 12 2019, 1:18 PM
ae added inline comments to D19357: PFIL_MEMPTR support for ipfw link level hook.
Mar 12 2019, 8:38 AM