Coder Social home page Coder Social logo

k8snetworkplumbingwg / multi-networkpolicy-tc Goto Github PK

View Code? Open in Web Editor NEW
11.0 11.0 6.0 360 KB

Linux Traffic Control (TC) based implementation of Kubernetes NPWG MultiNetworkPolicy API

License: Apache License 2.0

Dockerfile 0.34% Makefile 1.87% Go 97.80%

multi-networkpolicy-tc's People

Contributors

adrianchiris avatar almaslennikov avatar lgtm-migrator avatar moshe010 avatar rollandf avatar ykulazhenkov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

multi-networkpolicy-tc's Issues

refactor SimpleTCGenerator

What would you like to be added?

Manage SimpleTCGenerator priority in a more explicit manner.

currently we have a base prio for each of the default/pass/drop prios and we use offsets throughout to derive the correct prio for the protocol.

we should have a mapping from protocol to prio as part of the generator implementation and just use that throughout.

In addition, genFilters logic should be split and simplified. it is getting way too long.

What is the use case for this feature / enhancement?

Conditionally generate Protocol specific Filters

What would you like to be added?

Currently our Generator implementation (SimpleTCGenerator) Generates TC filters for all supported protocols

  • ipv4
  • ipv6
  • VLAN ipv4
  • VLAN ipv6
  • QinQ ipv4
  • QinQ ipv6

We should look into how to reduce the number of filters generated for a given Rule.

some thoughts

  • if bridge is not in QinQ mode, should we generate QinQ related filters ? (need to check bridge behaves in this case) - as we only support accelerated bridge CNI ATM.
  • should we limit VLAN/QinQ related filters to rules that originate from IPBlock only ?
  • a more static approach: config knobs which determines the protocols that multi-network-policy-tc will handle (enforce for only what is specified)

Should we make some of Flower filter attributes more explicit ?

What would you like to be added?

Currently some Flower filter attributes are general strings. while in some places it might make sense (e.g dst IP or port)
in others it may be desirable to define a typed strings to avoid usage issue.

e.g vlanEthType, IPProto

What is the use case for this feature / enhancement?

reduce chance of developer error.

initial release (v0.1.0)

We would like to release initial version of multi-networkpolicy-tc.

Limitations of initial release:

  • MultiNetworkPolicy Ingress rules are not supported. Ingress policy will not be enforced
  • QinQ traffic is not supported network policy will not be enforced

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.