portmap: fix bug that new udp connection deletes all existing conntrack entries
Calling AddPort before AddProtocol returns an error, which means ConntrackDeleteFilter has been called without port filter. Signed-off-by: Sang Heon Lee <developistBV@gmail.com>
This commit is contained in:
@ -62,8 +62,8 @@ func DeleteConntrackEntriesForDstIP(dstIP string, protocol uint8) error {
|
|||||||
// by the given destination port, protocol and IP family
|
// by the given destination port, protocol and IP family
|
||||||
func DeleteConntrackEntriesForDstPort(port uint16, protocol uint8, family netlink.InetFamily) error {
|
func DeleteConntrackEntriesForDstPort(port uint16, protocol uint8, family netlink.InetFamily) error {
|
||||||
filter := &netlink.ConntrackFilter{}
|
filter := &netlink.ConntrackFilter{}
|
||||||
filter.AddPort(netlink.ConntrackOrigDstPort, port)
|
|
||||||
filter.AddProtocol(protocol)
|
filter.AddProtocol(protocol)
|
||||||
|
filter.AddPort(netlink.ConntrackOrigDstPort, port)
|
||||||
|
|
||||||
_, err := netlink.ConntrackDeleteFilter(netlink.ConntrackTable, family, filter)
|
_, err := netlink.ConntrackDeleteFilter(netlink.ConntrackTable, family, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user