IP Library › Granted Patent US 12,659,299
Granted Patent B2
US 12,659,299 · App. 18/767,929 · Granted Jun 16, 2026

Methods for revalidating FQDN rulesets in a firewall

Inventors: Sushruth Gopal (Palo Alto, CA); Jayant Jain (San Jose, CA); Davide Celotto (Berkeley, CA); Josh Swerdlow (San Francisco, CA)
Assignee: VMware LLC
H04L63/0263G06F9/45558H04L63/0236G06F2009/45587G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,659,299
App. No.
18/767,929
Granted
Jun 16, 2026
Kind
B2
Abstract

A method comprises: in response to detecting a new expression in a policy rule, updating a global version number to a new value; identifying a particular IP address that corresponds to an FQDN matching on the new expression; storing an entry comprising the particular IP address, the new expression, and an entry version number in a first data structure, the entry version number being assigned the new value; in response to detecting a new connection to a destination IP address: finding a matching entry in the first data structure corresponding to the destination IP address; determining whether the global version number matches the entry version number for the matching entry; and in response to determining that the global version number does not match the entry version number for the matching entry, sending update information to a slowpath process that associates an updated configuration information for the matching entry.

Claims (44)

1 . A method comprising:

in response to detecting a new expression in a policy rule of a distributed firewall (DFW), updating a global version number to a new value, wherein the new expression is a regular expression;

identifying a particular IP address that corresponds to a fully-qualified domain name (FQDN) matching on the new expression;

storing an entry comprising the particular IP address, the new expression, and an entry version number in a first data structure, the entry version number being assigned the new value;

in response to detecting a new connection to a destination IP address:

finding a matching entry in the first data structure corresponding to the destination IP address;

determining whether the global version number matches the entry version number for the matching entry; and

in response to determining that the global version number does not match the entry version number for the matching entry, sending update information to a slowpath process that associates an updated configuration information for the matching entry, the update information comprising the destination IP address and a regular expression of the matching entry, to cause the slowpath process to update a second data structure.

2 . The method of claim 1 , wherein the identifying a particular IP address that corresponds to an FQDN matching on the new expression comprises inspecting DNS response packets using a deep packet inspection approach.

3 . The method of claim 1 , wherein the update information is sent to a slowpath process by communicating a pointer to a descriptor of the update information to the slowpath process.

4 . The method of claim 1 , wherein the detecting a new expression in a policy rule comprises detecting that the policy rule, stored in a firewall policy, has been modified by replacing, in the policy rule, an old expression with the new expression.

5 . The method of claim 1 , wherein the detecting a new expression in a policy rule comprises detecting that the policy rule is a new rule stored in a firewall policy.

6 . The method of claim 1 , wherein the identifying a particular IP address that corresponds to an FQDN matching on the new expression further comprises identifying, in the second data structure, an expression entry that includes the new expression that matches on the FQDN; determining an expression identifier associated with the expression entry; and storing, in the first data structure, the expression identifier in the entry that also comprises the particular IP address, the new expression, and the entry version number.

7 . The method of claim 1 , wherein the policy rule is provided by a management plane or a local management plane.

8 . One or more non-transitory computer-readable storage media storing one or more computer instructions which, when executed by one or more processors, cause the one or more processors to perform:

in response to detecting a new expression in a policy rule of a distributed firewall (DFW), updating a global version number to a new value;

identifying a particular IP address that corresponds to an a fully-qualified domain name (FQDN) matching on the new expression;

storing an entry comprising the particular IP address, the new expression, and an entry version number in a first data structure, the entry version number being assigned the new value;

in response to detecting a new connection to a destination IP address:

finding a matching entry in the first data structure corresponding to the destination IP address;

determining whether the global version number matches the entry version number for the matching entry; and

in response to determining that the global version number does not match the entry version number for the matching entry, sending update information to a slowpath process that associates an updated configuration information for the matching entry, the update information comprising the destination IP address and regular expression of the matching entry, to cause the slowpath process to update a second data structure.

9 . The one or more non-transitory computer-readable storage media of claim 8 , wherein the identifying a particular IP address that corresponds to an FQDN matching on the new expression comprises inspecting DNS response packets using a deep packet inspection approach.

10 . The one or more non-transitory computer-readable storage media of claim 8 , wherein the update information is sent to a slowpath process by communicating a pointer to a descriptor of the update information to the slowpath process.

11 . The one or more non-transitory computer-readable storage media of claim 8 , wherein the detecting a new expression in a policy rule comprises detecting that the policy rule, stored in a firewall policy, has been modified by replacing, in the policy rule, an old expression with the new expression.

12 . The one or more non-transitory computer-readable storage media of claim 8 , wherein the detecting a new expression in a policy rule comprises detecting that the policy rule is a new rule stored in a firewall policy.

13 . The one or more non-transitory computer-readable storage media of claim 8 , wherein the identifying a particular IP address that corresponds to an FQDN matching on the new expression further comprises identifying, in the second data structure, an expression entry that includes the new expression that matches on the FQDN; determining an expression identifier associated with the expression entry; and storing, in the first data structure, the expression identifier in the entry that also comprises the particular IP address, the new expression, and the entry version number.

14 . The one or more non-transitory computer-readable storage media of claim 8 , wherein the policy rule is provided by a management plane or a local management plane.

15 . A hypervisor implemented in a host computer and configured to implement a method for revalidating FQDN rulesets in a distributed firewall, the hypervisor comprising:

one or more processors;

one or more memory units; and

one or more non-transitory computer-readable storage media storing one or more computer instructions which, when executed by the one or more processors, cause the one or more processors to perform:

in response to detecting a new expression in a policy rule of a distributed firewall (DFW), updating a global version number to a new value;

identifying a particular IP address that corresponds to an a fully-qualified domain name (FQDN) matching on the new expression;

storing an entry comprising the particular IP address, the new expression, and a entry version number in a first data structure, the entry version number being assigned the new value;

in response to detecting a new connection to a destination IP address:

finding a matching entry in the first data structure corresponding to the destination IP address;

determining whether the global version number matches the entry version number for the matching entry; and

in response to determining that the global version number does not match the entry version number for the matching entry, sending update information to a slowpath process that associates an updated configuration information for the matching entry, the update information comprising the destination IP address and regular expression of the matching entry, to cause the slowpath process to update a second data structure.

16 . The hypervisor of claim 15 , wherein the identifying a particular IP address that corresponds to an FQDN matching on the new expression comprises inspecting DNS response packets using a deep packet inspection approach.

17 . The hypervisor of claim 15 , wherein the update information is sent to a slowpath process by communicating a pointer to a descriptor of the update information to the slowpath process.

18 . The hypervisor of claim 15 , wherein the detecting a new expression in a policy rule comprises detecting that the policy rule, stored in a firewall policy, has been modified by replacing, in the policy rule, an old expression with the new expression.

19 . The hypervisor of claim 15 , wherein the detecting a new expression in a policy rule comprises detecting that the policy rule is a new rule stored in a firewall policy.

20 . The hypervisor of claim 15 , wherein the identifying a particular IP address that corresponds to an FQDN matching on the new expression further comprises identifying, in the second data structure, an expression entry that includes the new expression that matches on the FQDN; determining an expression identifier associated with the expression entry; and storing, in the first data structure, the expression identifier in the entry that also comprises the particular IP address, the new expression, and the entry version number.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2024
From: GOPAL, SUSHRUTH; JAIN, JAYANT; CELOTTO, DAVIDE; SWERDLOW, JOSH
To: VMWARE, INC.
Reel/Frame 068212/0558 →
CHANGE OF NAME Recorded Aug 7, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 068479/0680 →
Continuity (2)
Continuation 16841962 · Apr 7, 2020
Related Publication 20240372835A1 · Nov 7, 2024
References Cited (9)
US 12034700B2 · Gopal et al. · 2024 [cited by applicant]
US 20190014088A1 · Subramaniyan · 2019 [cited by examiner]
US 20190036888A1 · Pularikkal · 2019 [cited by examiner]
US 20200259792A1 · Devarajan · 2020 [cited by examiner]
US 20210314299A1 · Gopal et al. · 2021 [cited by applicant]
ionos.com, “Fully Qualified Domain Name (FQDN) Explained”, dated Jun. 9, 2019, https://www.ionos.com/digitalguide/domains/domain-administration/fqdn-fully-qualified-domain-name/, 10 pages. [cited by applicant]
U.S. Appl. No. 16/841,962, Non-Final Office Action dated Mar. 17, 2022, 30 pages. [cited by applicant]
U.S. Appl. No. 16/841,962, Final Office Action dated Dec. 1, 2022, 37 pages. [cited by applicant]
U.S. Appl. No. 16/841,962, Notice of Allowance dated Feb. 28, 2024, 89 pages. [cited by applicant]