Page MenuHomeFreeBSD

pouria (Pouria Mousavizadeh Tehrani)
Pouria

Projects

User Details

User Since
Aug 26 2022, 6:24 PM (183 w, 6 d)

Recent Activity

Yesterday

pouria added inline comments to D55449: ndp: Add support for route information (RFC 4191).
Thu, Mar 5, 7:06 PM
pouria updated the diff for D55449: ndp: Add support for route information (RFC 4191).

Convert caddr_t to char * for pointer arithmetic. (@glebius)

Thu, Mar 5, 6:29 PM
pouria committed rG7f3b46fe54f1: ndp: Add support for Gratuitous Neighbor Discovery (GRAND) (authored by pouria).
ndp: Add support for Gratuitous Neighbor Discovery (GRAND)
Thu, Mar 5, 6:23 PM
pouria committed rG0616521adc35: ndp: Simplify and breakdown nd6_ra_input() (authored by pouria).
ndp: Simplify and breakdown nd6_ra_input()
Thu, Mar 5, 6:23 PM
pouria closed D55267: ndp: Simplify and breakdown nd6_ra_input().
Thu, Mar 5, 6:23 PM
pouria closed D55015: ndp: Add support for Gratuitous Neighbor Discovery (GRAND).
Thu, Mar 5, 6:23 PM
pouria added a comment to D55141: ndp: implement delayed anycast and proxy NA.

@glebius this revision is an extention of GRAND which only affects anycast and proxy ipv6 addresses.
Could you please review it c-wise?

Thu, Mar 5, 6:18 PM
pouria added a comment to D55229: ndp: Add support for Optimistic DAD (RFC 4429).

@bz I would really appreciate it if you could review this when you have some free time.

Thu, Mar 5, 6:15 PM
pouria added a reviewer for D55449: ndp: Add support for route information (RFC 4191): bz.
Thu, Mar 5, 6:13 PM
pouria added a comment to D55663: netinet6: Add ip6_hdr_pseudo{} to ip6.h; diff reduce and apply..

Thank you, I'll review this revision after you address Gleb comments.

Thu, Mar 5, 8:52 AM

Wed, Mar 4

pouria added inline comments to D55660: inpcb: remove extraneous check in inp_next().
Wed, Mar 4, 10:03 PM
pouria added inline comments to D55660: inpcb: remove extraneous check in inp_next().
Wed, Mar 4, 9:52 PM

Mon, Mar 2

pouria abandoned D55613: rtnetlink: call rt_get_rnd when required in getroute.

Yes, I made a stupid mistake. Thank you!

Mon, Mar 2, 4:45 PM
pouria added a comment to D55599: netinet6: Tear down IPv6 source address selection policies with rest of IPv6..

A general rule of thumb: you ever want to use IS_DEFAULT_VNET(curvnet) in some stub network module - you are doing something wrong :)

Mon, Mar 2, 4:42 PM
pouria closed D55593: netinet6: Fix memory leak on auto_linklocal.
Mon, Mar 2, 3:33 PM
pouria committed rGb55bffeaaf9b: netinet6: Fix memory leak on auto_linklocal (authored by pouria).
netinet6: Fix memory leak on auto_linklocal
Mon, Mar 2, 3:33 PM
pouria requested review of D55613: rtnetlink: call rt_get_rnd when required in getroute.
Mon, Mar 2, 3:00 PM

Sun, Mar 1

pouria added a comment to D55593: netinet6: Fix memory leak on auto_linklocal.

Since @markj just announce that he's AFK, could you take a look at this please? @glebius

Sun, Mar 1, 4:43 PM
pouria accepted D53484: Remove RIP and RIPng.
  1. People should not use RIP anymore. I think that is not correct. I still see low end routers / l3 switches ship basic implementation of RIP / RIPng. That is an easy protocol to setup small network, without manipulating dozens of static routing entries across multiple routers / l3 switches. So why people want more complexed IGP protocols or to buy expensive routers / l3 switches those support more EGP / IGP protocols ?
Sun, Mar 1, 4:38 PM
pouria added inline comments to D54948: bridge: Add checksum offloading.
Sun, Mar 1, 2:58 PM
pouria added a comment to D55602: Pouria's geneve report for Status/2026Q.
In D55602#1272170, @bms wrote:

Any plans to add stateless offload support as has been done by @np for vxlan(4) ?

Sun, Mar 1, 1:01 PM
pouria accepted D55599: netinet6: Tear down IPv6 source address selection policies with rest of IPv6..

FYI, Steps to reproduce:

# vmstat -m | grep ifaddr
ifaddr   38 16352   50 16,32,128,256,384,1024,2048,4096
# jail -c persist name=vnet1 mount.devfs devfs_ruleset=5 vnet
path=/
# vmstat -m | grep ifaddr
ifaddr   43 23808   55 16,32,128,256,384,1024,2048,4096
# jexec -l 4 ip6addrctl add 2a01:e140::/32 60 20
# vmstat -m | grep ifaddr
ifaddr   44 23936   56 16,32,128,256,384,1024,2048,4096
# jail -r 4
# vmstat -m | grep ifaddr
ifaddr   40 16736   56 16,32,128,256,384,1024,2048,4096

128B memory leak for each undeleted ip6ctl policy in vnets. + lock leaks

Sun, Mar 1, 10:03 AM
pouria requested review of D55602: Pouria's geneve report for Status/2026Q.
Sun, Mar 1, 9:18 AM

Sat, Feb 28

pouria added a comment to D55593: netinet6: Fix memory leak on auto_linklocal.

@pouria

MFC to: stable/15

I have not tested yet, but I believe stable/14 and stable/13 are also affected.

Sat, Feb 28, 5:52 PM
pouria added inline comments to D55593: netinet6: Fix memory leak on auto_linklocal.
Sat, Feb 28, 5:45 PM
pouria added a comment to D55593: netinet6: Fix memory leak on auto_linklocal.

I'd rather prefer this, to ease my brain ;)

diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c
index ba2f025b7db1..3a6f5f501f8f 100644
--- a/sys/netinet6/nd6_rtr.c
+++ b/sys/netinet6/nd6_rtr.c
@@ -1370,7 +1370,7 @@ nd6_prelist_add(struct nd_prefixctl *pr, struct nd_defrouter *dr,
        new = malloc(sizeof(*new), M_IP6NDP, M_NOWAIT | M_ZERO);
        if (new == NULL)
                return (ENOMEM);
-       refcount_init(&new->ndpr_refcnt, newp != NULL ? 2 : 1);
+       refcount_init(&new->ndpr_refcnt, 1);
        new->ndpr_ifp = pr->ndpr_ifp;
        new->ndpr_prefix = pr->ndpr_prefix;
        new->ndpr_plen = pr->ndpr_plen;
@@ -1410,8 +1410,10 @@ nd6_prelist_add(struct nd_prefixctl *pr, struct nd_defrouter *dr,
 
        if (dr != NULL)
                pfxrtr_add(new, dr);
-       if (newp != NULL)
+       if (newp != NULL) {
+               nd6_prefix_ref(new);
                *newp = new;
+       }
        return (0);
 }

@markj How about the above proposal ?

Sat, Feb 28, 5:42 PM
pouria updated the summary of D55593: netinet6: Fix memory leak on auto_linklocal.
Sat, Feb 28, 3:06 PM
pouria requested review of D55593: netinet6: Fix memory leak on auto_linklocal.
Sat, Feb 28, 3:05 PM

Fri, Feb 27

pouria committed rG82069fae3ff9: snl: Remove duplicate rta_expires member in route parser (authored by pouria).
snl: Remove duplicate rta_expires member in route parser
Fri, Feb 27, 8:47 PM
pouria closed D55445: snl: Remove duplicate rta_expires member in route parser.
Fri, Feb 27, 8:47 PM
pouria accepted D55546: gre: unbreak LINT-NOINET.

LGTM, thank you

Fri, Feb 27, 10:38 AM

Thu, Feb 26

pouria closed D55514: route(8): show expire time of each nexthop in monitor.
Thu, Feb 26, 12:36 PM
pouria committed rGb5366f8e138e: route(8): show expire time of each nexthop in monitor (authored by pouria).
route(8): show expire time of each nexthop in monitor
Thu, Feb 26, 12:36 PM
pouria committed rG8230cf1aa18d: route(8): Fix -expire argument when using netlink (authored by pouria).
route(8): Fix -expire argument when using netlink
Thu, Feb 26, 12:36 PM
pouria committed rG2f7cfeebcc43: netstat(1): Fix expire column in -r flag using netlink (authored by pouria).
netstat(1): Fix expire column in -r flag using netlink
Thu, Feb 26, 12:36 PM
pouria closed D55440: netlink: Fix expire column in -r flag using netlink.
Thu, Feb 26, 12:36 PM
pouria committed rGff6d1faa65a1: rtnetlink: Add support for nexthop expiration in new/get route (authored by pouria).
rtnetlink: Add support for nexthop expiration in new/get route
Thu, Feb 26, 12:36 PM
pouria closed D55444: route: Fix -expire argument when using netlink.
Thu, Feb 26, 12:36 PM
pouria closed D55442: rtnetlink: Add support for nexthop expiration in new route.
Thu, Feb 26, 12:35 PM
pouria updated the diff for D55442: rtnetlink: Add support for nexthop expiration in new route.

Address Gleb comment.

Thu, Feb 26, 9:13 AM

Wed, Feb 25

pouria requested review of D55514: route(8): show expire time of each nexthop in monitor.
Wed, Feb 25, 4:55 PM
pouria updated the diff for D55440: netlink: Fix expire column in -r flag using netlink.

Fix multipath expire values too.

Wed, Feb 25, 4:39 PM
pouria updated the diff for D55442: rtnetlink: Add support for nexthop expiration in new route.

Add support for nexthop expire value on multipath routes.
route(8) and netstat(1) will be updated too.

Wed, Feb 25, 4:34 PM
pouria added a comment to D49696: Fix renaming epair and devd(8) triggered interfaces and auto-NOAUTO the latter by default.

The patch allows interface renaming (by rc.conf(5)) for epair (cloned) interfaces and also for devd(8) configured interfaces.
'ifconfing description' is changed to be always applied (if defined), whether or not the NOAUTO keywork was found.
It also fixes non-functional NOAUTO config keyword for targeted start_interface commands (by devd(8)).
And in addition makes NOAUTO the default for devd(8) configured interfaces if rc.conf(5) lacks a corresponding interface configuration.

Wed, Feb 25, 2:30 PM · rc
pouria added a comment to D50968: pf: limit extra SCTP states.
In D50968#1270115, @kp wrote:

This is already in the tree, as cd0169c9379c400ec75b77e87ca770e37f964276. I managed to forget to add the 'differential revision' tag, so Phabricator didn't notice.

Wed, Feb 25, 2:21 PM
pouria requested changes to D51260: bridge: refactor local packet handling.

Could you please update this revision according to D51677.
This change looks good.
I'll review it if you update it again.

Wed, Feb 25, 2:20 PM
pouria added reviewers for D50968: pf: limit extra SCTP states: transport, rrs, tuexen.
Wed, Feb 25, 2:10 PM
pouria added a comment to D52594: if_gif: Use the MTU on the gif interface for the outgoing packets.

@meta
IMHO, You may proceed again with 'Co-Authored-By: full name <email>' tag if and only if D51866 stalled again for another month.
I pinged the original revision to see if author is available to address @zlei and your comments or not.

Wed, Feb 25, 2:07 PM
pouria requested changes to D51866: if_gif: Use the MTU on the gif interface for the outgoing packets.

This is a good work.
Please address comments or concerns on D52594 to make this revision ready for review again.

Wed, Feb 25, 1:59 PM
pouria retitled D49194: ipfw: Add ICMPv6 type(s) to ipfw syntax summary usage from ipfw: Add IPv6 ICMP type(s) to ipfw: Add ICMPv6 type(s) to ipfw syntax summary usage.
Wed, Feb 25, 1:46 PM
pouria requested changes to D49194: ipfw: Add ICMPv6 type(s) to ipfw syntax summary usage.

Adding both singular and plural form is good to me.
But adding another icmp6types is redundant.

Wed, Feb 25, 1:42 PM
pouria requested changes to D49108: Add IPv6 support to /etc/rc.d/netwait.

I like the initial idea, but this revision requires changes to follow 5ead817c3b7af

Wed, Feb 25, 1:36 PM
pouria added a comment to D48646: Virtualise if_vxlan.

I think the only reliable method is to remove the creation of dynamic sysctl altogether and use ioctl(2) or netlink(4) to get statistics and "routing" tables. Or create them only in the host VNET. But this violates POLA.

As for this review, since it solves at least some of the problems that real users face, then of course it should be commited.

Wed, Feb 25, 1:00 PM
pouria added a comment to D53484: Remove RIP and RIPng.
In D53484#1223559, @ivy wrote:

Note that there are tests that use routed :(

oh, i missed that; i'll investigate and update the diff. thanks.

Wed, Feb 25, 11:21 AM
pouria requested review of D55506: route(8): print nexthop weight in monitor.
Wed, Feb 25, 11:16 AM
pouria added inline comments to D54636: rtadvd: add multi pref64 support.
Wed, Feb 25, 11:01 AM

Tue, Feb 24

pouria added a comment to D55015: ndp: Add support for Gratuitous Neighbor Discovery (GRAND).

I've been using this along with my other v6 changes on our servers, IXP routers, and on my laptop for about a week now.
I haven't found any issues!

Tue, Feb 24, 8:36 PM
pouria added reviewers for D55267: ndp: Simplify and breakdown nd6_ra_input(): bz, madpilot.
Tue, Feb 24, 8:05 PM
pouria added inline comments to D43166: tcp: bypass TSO when CWR bit is to be sent.
Tue, Feb 24, 1:57 PM
pouria added a reviewer for D43166: tcp: bypass TSO when CWR bit is to be sent: pouria.
Tue, Feb 24, 12:23 PM

Mon, Feb 23

pouria abandoned D55468: committers-guide: Remove freebsdmall from Benefits.

Thank you

Mon, Feb 23, 8:52 PM
pouria committed rG49ab036fc48a: multicast.4: Fix disabling multicast forwarding (authored by pouria).
multicast.4: Fix disabling multicast forwarding
Mon, Feb 23, 8:33 PM
pouria requested review of D55468: committers-guide: Remove freebsdmall from Benefits.
Mon, Feb 23, 8:16 PM
pouria added a comment to D43213: tcp: retry CWR transmission if TSO doesn't support ECN.

Personally I would like a TCP session NOT fail because it has ECN negotiated over a virtio driver, who then throws an error when a TSO superframe with CWR is handed down...

I agree.
I think we should talk about this on next transport meeting.

Mon, Feb 23, 7:35 PM
pouria accepted D55466: tcp: BBLog incoming packets in TCPS_TIME_WAIT.
Mon, Feb 23, 7:31 PM
pouria added a comment to D43166: tcp: bypass TSO when CWR bit is to be sent.

Are you waiting for Andrew's feedback from vendor?
Could you please set the planned change state for this revision?

Mon, Feb 23, 7:18 PM
pouria added a comment to D43213: tcp: retry CWR transmission if TSO doesn't support ECN.

Is this still relevant?
If that's the case, could you please set the planned change state?

Mon, Feb 23, 7:14 PM
pouria requested changes to D46425: Add TCP round counting logic for default stack..

Please address Richard's comment.

Mon, Feb 23, 7:12 PM
pouria added a comment to D48709: sockets: refactor solisten() and pr_listen.

Are you still working on this? @glebius
if that's the case, Could you please set the planned change state for this revision?

Mon, Feb 23, 7:10 PM
pouria added a comment to D49447: WIP ifnet: Introduce and use ifnet_byindex_attached() for outpath.

Are you still working on this? @zlei
Could you please set the planned change state for this revision?

Mon, Feb 23, 7:09 PM
pouria added a comment to D49707: tcp: use declarative style to fill struct tcp_log_buffer.

I also agree with Randall and Tuexen.
I hate phabricator dashboard since it's filled with many revisions, and I have to rely solely on my emails to see what I need to review.
Which is not fair to older but still relevant revisions that need reviews.
Therefore, could you please abondon this revision if that's the case?

Mon, Feb 23, 7:05 PM
pouria added a comment to D41672: tcp: add cubic_compute_pipe.

Is this revision still relevant?

Mon, Feb 23, 6:56 PM
pouria closed D45109: Add support for Realtek RTL8211F-VD PHY.

This revision is committed. Shouldn't be open.

Mon, Feb 23, 6:54 PM
pouria accepted D45950: vtnet: Fix an LOR in the input path.

LGTM, any concern related to this patch is revealing a design issue and IMHO, that's not something that would block this revision.

Mon, Feb 23, 6:52 PM
pouria accepted D53899: arp: Reduce lifetime of ARP entries.

LGTM

Mon, Feb 23, 6:38 PM
pouria added a comment to D55398: if_gre: make access to softc's data safe in network epoch.
In D55398#1267129, @ae wrote:

When you issue ioctl that does some changes in softc, another thread can do transmission in the same time and use some data from softc.
To avoid access to not yet fully modified or already freed data you need to block transmission.
Or you can allocate new gre_priv structure for each modification and free old one using NET_EPOCH_CALL(). This allows avoid blocking of transmit thread and it uses always stable data while it works in net_epoch.

I understand, I mean, personaly, I'd prefer to block transmission since reconfiguration of gre interface is rare in comparison to transmission.
This is what all other interfaces do. IMHO, it's not worth the extra complexity.

I think that's how it happened historically, for some interfaces we have different files of INET and INET6 implementation.

When I was working on implementing netlink for GRE, I noticed that the GRE implementation has too many layers of indirection due to its historical context.
It's not important and just an idea, but would you like to merge them under sys/net? I can work on it if you want.

Mon, Feb 23, 6:27 PM
pouria added a comment to D55316: witness: report a thread that can't sleep in WITNESS_WARN.

Immediately caught in bridge(4):

NET_EPOCH_ENTER(et);

callout_drain(&sc->sc_brcallout);
Mon, Feb 23, 5:53 PM
pouria updated the diff for D55448: rtadvd: set route info lifetime to 0 during shutdown.

fix missed skip.

Mon, Feb 23, 10:43 AM

Sun, Feb 22

pouria updated the diff for D55449: ndp: Add support for route information (RFC 4191).

style commented to use #ifdef without functional change.

Sun, Feb 22, 10:11 PM
pouria added a comment to D55449: ndp: Add support for route information (RFC 4191).

Some other notes for reviewers: (see description above too please)

Sun, Feb 22, 10:03 PM
pouria requested review of D55449: ndp: Add support for route information (RFC 4191).
Sun, Feb 22, 9:47 PM
pouria added a comment to D55448: rtadvd: set route info lifetime to 0 during shutdown.

It also resolves one of the issues in PR263982.

Sun, Feb 22, 8:35 PM
pouria requested review of D55448: rtadvd: set route info lifetime to 0 during shutdown.
Sun, Feb 22, 8:31 PM
pouria requested review of D55445: snl: Remove duplicate rta_expires member in route parser.
Sun, Feb 22, 6:56 PM
pouria requested review of D55444: route: Fix -expire argument when using netlink.
Sun, Feb 22, 6:45 PM
pouria requested review of D55442: rtnetlink: Add support for nexthop expiration in new route.
Sun, Feb 22, 6:40 PM
pouria requested review of D55440: netlink: Fix expire column in -r flag using netlink.
Sun, Feb 22, 4:55 PM
pouria abandoned D55436: route_ctl: make fill_pxmask_family public.

there is one in sys/net/route/route_helpers.c -> ip6_writemask

Sun, Feb 22, 11:20 AM
pouria requested review of D55436: route_ctl: make fill_pxmask_family public.
Sun, Feb 22, 10:20 AM

Sat, Feb 21

pouria accepted D55415: tcp: cleanup.

LGTM

Sat, Feb 21, 8:24 AM

Fri, Feb 20

pouria accepted D55410: tcp: improve validation of received TCP over UDP packets.

LGTM

Fri, Feb 20, 9:03 PM
pouria added a comment to D54443: if_gre: Add netlink support with tests.

Are you using kyua from ports or base?

Fri, Feb 20, 5:02 PM
pouria committed rG49fa0079cfc8: gre tests: Fix gcc warnings on gre netlink tests (authored by pouria).
gre tests: Fix gcc warnings on gre netlink tests
Fri, Feb 20, 4:55 PM
pouria added a comment to D55398: if_gre: make access to softc's data safe in network epoch.

I don't understand why we need a separate data structure (priv).
I apologize if this seems like a stupid question, but wouldn't it be better to move ip6_gre.c and ip_gre.c into if_gre.c itself like other interfaces?

Fri, Feb 20, 3:34 PM
pouria added a comment to D54443: if_gre: Add netlink support with tests.

However, I see gcc14 complaining too:

/workspace/src/tests/sys/netlink/test_rtnl_gre.c: In function 'atfu_test_rtnl_gre_body':
/workspace/src/tests/sys/netlink/test_rtnl_gre.c:91:28: note: at offset 8 into source object 'src' of size 16
   91 |         struct sockaddr_in src, dst;
      |                            ^~~
In function 'snl_add_msg_attr',
    inlined from 'snl_add_msg_attr_ip' at /workspace/src/sys/netlink/netlink_snl_route.h:153:11,
    inlined from 'atfu_test_rtnl_gre_body' at /workspace/src/tests/sys/netlink/test_rtnl_gre.c:117:2:
/workspace/src/sys/netlink/netlink_snl.h:1166:17: error: 'memcpy' reading 16 bytes from a region of size 8 [-Werror=stringop-overread]
 1166 |                 memcpy((nla + 1), data, attr_len);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/workspace/src/tests/sys/netlink/test_rtnl_gre.c: In function 'atfu_test_rtnl_gre_body':
/workspace/src/tests/sys/netlink/test_rtnl_gre.c:91:33: note: at offset 8 into source object 'dst' of size 16
   91 |         struct sockaddr_in src, dst;
      |                                 ^~~

working on it.

Fri, Feb 20, 1:03 PM
pouria added a comment to D54443: if_gre: Add netlink support with tests.

It seems that the test added by this commit is failing in CI: https://ci.freebsd.org/job/FreeBSD-main-amd64-test/27898/testReport/sys.netlink/test_rtnl_gre/test_rtnl_gre/

@pouria can you take a look?

Fri, Feb 20, 12:28 PM
pouria committed rG1635ba90615a: gre tests: Add required_kmods to gre netlink test (authored by pouria).
gre tests: Add required_kmods to gre netlink test
Fri, Feb 20, 9:22 AM
pouria added a comment to D54443: if_gre: Add netlink support with tests.

Here is the patch:
https://github.com/spmzt/freebsd-src/commit/1635ba90615a5d9342604d495b71ac5380030b36
I'm not sure why it tells unknown property.
But I'm sure the reason for CI failure is the if_gre is not loaded.
@siva

Fri, Feb 20, 8:42 AM
pouria added a comment to D54443: if_gre: Add netlink support with tests.

It seems that the test added by this commit is failing in CI: https://ci.freebsd.org/job/FreeBSD-main-amd64-test/27898/testReport/sys.netlink/test_rtnl_gre/test_rtnl_gre/

@pouria can you take a look?

Fri, Feb 20, 8:36 AM

Thu, Feb 19

pouria requested review of D55387: ip6_input: remove unused IPv4-compatible IPv6 checking.
Thu, Feb 19, 9:43 PM