Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Forwarding Action Rules (FAR) #10

Closed
navarrothiago opened this issue Jul 29, 2020 · 0 comments
Closed

Implement Forwarding Action Rules (FAR) #10

navarrothiago opened this issue Jul 29, 2020 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@navarrothiago
Copy link
Owner

navarrothiago commented Jul 29, 2020

The apply rules path diagram is available here.
Uplink data flow using GTP GPDU.

Test Case:

  • CP: Create Packet Detection Rule (PDR)
  • CP: Map Tunnel Endpoint ID (TEID) to PDR in userland
  • CP: Map Session Endpoint ID (SEID) to Session in userland
  • CP: Insert in the maps used to store PDRs by teid (key)
  • Generate traffic GPDU traffic, filling the teid with the same value of the previous steps (see here for more details)
  • UP:Filter GPDU in XDP
  • UP: Restore the PDRs by TEID received from GPDU
  • UP: For each PDR, match the PDRs attribuites accoding to data flow (UP, DL):
    • The TEID from GTP GPDU with the TEID stored in PDR.
    • Source IP from IP header with source address stored in PDI.
    • Interface from PDI with ACCESS or CORE interface (it depends on if it is UL or DL).
  • UP: Restore the Session by SEID available in matched PDR
  • UP: Apply the Forwarding Action Rules (FAR)
  • CP: Check the output
@navarrothiago navarrothiago self-assigned this Jul 29, 2020
@navarrothiago navarrothiago added the enhancement New feature or request label Jul 29, 2020
navarrothiago added a commit that referenced this issue Aug 1, 2020
Besides, refactor the code format.
@navarrothiago navarrothiago changed the title Implement the apply rules path Implement Forwarding Action Rules (FAR) Aug 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant